diff --git a/node_core/src/lib.rs b/node_core/src/lib.rs index 23792eb..67c6a0d 100644 --- a/node_core/src/lib.rs +++ b/node_core/src/lib.rs @@ -219,6 +219,7 @@ impl NodeCore { pub async fn transfer_utxo_private( &self, utxo: UTXO, + commitment_in: [u8; 32], receivers: Vec<(u128, AccountAddress)>, ) -> (Transaction, Vec<(AccountAddress, [u8; 32])>) { let acc_map_read_guard = self.storage.read().await; @@ -226,12 +227,6 @@ impl NodeCore { let accout = acc_map_read_guard.acc_map.get(&utxo.owner).unwrap(); accout.log(); - let commitment_in = { - let guard = self.storage.write().await; - - guard.utxo_commitments_store.get_tx(utxo.hash).unwrap().hash - }; - let nullifier = generate_nullifiers( &utxo, &accout @@ -466,10 +461,11 @@ impl NodeCore { pub async fn send_private_send_tx( &self, utxo: UTXO, + comm_hash: [u8; 32], receivers: Vec<(u128, AccountAddress)>, ) -> Result<(SendTxResponse, Vec<([u8; 32], [u8; 32])>)> { let point_before_prove = std::time::Instant::now(); - let (tx, utxo_hashes) = self.transfer_utxo_private(utxo, receivers).await; + let (tx, utxo_hashes) = self.transfer_utxo_private(utxo, comm_hash, receivers).await; tx.log(); let point_after_prove = std::time::Instant::now(); @@ -610,9 +606,8 @@ impl NodeCore { ///Mint utxo, privately send it to another user pub async fn subscenario_3(&mut self) { let acc_addr = self.create_new_account().await; - let acc_addr_rec = self.create_new_account().await; - let (resp, _, new_utxo_hash) = self.send_private_mint_tx(acc_addr, 100).await.unwrap(); + let (resp, new_utxo_hash, comm_gen_hash) = self.send_private_mint_tx(acc_addr, 100).await.unwrap(); info!("Response for mint private is {resp:?}"); info!("Awaiting new blocks"); @@ -632,8 +627,10 @@ impl NodeCore { }; new_utxo.log(); + let acc_addr_rec = self.create_new_account().await; + let (resp, new_utxo_hashes) = self - .send_private_send_tx(new_utxo, vec![(100, acc_addr_rec)]) + .send_private_send_tx(new_utxo, comm_gen_hash, vec![(100, acc_addr_rec)]) .await .unwrap(); info!("Response for send deshielded is {resp:?}"); diff --git a/zkvm/src/lib.rs b/zkvm/src/lib.rs index 934a237..2eaf694 100644 --- a/zkvm/src/lib.rs +++ b/zkvm/src/lib.rs @@ -27,8 +27,9 @@ pub fn prove_send_utxo( owners_parts: Vec<(u128, AccountAddress)>, ) -> (Vec<(UTXO, AccountAddress)>, Receipt) { let mut builder = ExecutorEnv::builder(); + let utxo_payload = spent_utxo.into_payload(); - builder.write(&spent_utxo).unwrap(); + builder.write(&utxo_payload).unwrap(); builder.write(&owners_parts).unwrap(); let env = builder.build().unwrap(); @@ -62,10 +63,11 @@ pub fn prove_send_utxo_shielded( amount, privacy_flag: true, }); + let utxo_payload = temp_utxo_to_spend.into_payload(); let mut builder = ExecutorEnv::builder(); - builder.write(&temp_utxo_to_spend).unwrap(); + builder.write(&utxo_payload).unwrap(); builder.write(&owners_parts).unwrap(); let env = builder.build().unwrap(); @@ -141,7 +143,9 @@ pub fn execute_send_utxo( ) -> (UTXO, Vec<(UTXO, AccountAddress)>) { let mut builder = ExecutorEnv::builder(); - builder.write(&spent_utxo).unwrap(); + let utxo_payload = spent_utxo.into_payload(); + + builder.write(&utxo_payload).unwrap(); builder.write(&owners_parts).unwrap(); let env = builder.build().unwrap();