From bd79e982fd9b87ce2d4d619b7948660f1103b6f0 Mon Sep 17 00:00:00 2001 From: jonesmarvin8 <83104039+jonesmarvin8@users.noreply.github.com> Date: Tue, 17 Mar 2026 19:23:27 -0400 Subject: [PATCH] fix additional main merge errors --- .../src/bin/privacy_preserving_circuit.rs | 26 ++++++++----------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/program_methods/guest/src/bin/privacy_preserving_circuit.rs b/program_methods/guest/src/bin/privacy_preserving_circuit.rs index cb775437..b74b3e65 100644 --- a/program_methods/guest/src/bin/privacy_preserving_circuit.rs +++ b/program_methods/guest/src/bin/privacy_preserving_circuit.rs @@ -200,6 +200,7 @@ impl ExecutionState { fn compute_circuit_output( execution_state: ExecutionState, visibility_mask: &[u8], + private_account_nonces: &[Nonce], private_account_keys: &[(NullifierPublicKey, SharedSecretKey)], private_account_nsks: &[NullifierSecretKey], private_account_membership_proofs: &[Option], @@ -219,6 +220,7 @@ fn compute_circuit_output( "Invalid visibility mask length" ); + let mut private_nonces_iter = private_account_nonces.iter(); let mut private_keys_iter = private_account_keys.iter(); let mut private_nsks_iter = private_account_nsks.iter(); let mut private_membership_proofs_iter = private_account_membership_proofs.iter(); @@ -268,19 +270,12 @@ fn compute_circuit_output( panic!("Missing membership proof"); }; - let new_nullifier = compute_nullifier_and_set_digest( + compute_nullifier_and_set_digest( membership_proof_opt.as_ref(), &pre_state.account, npk, nsk, - ); - - let new_nonce = pre_state - .account - .nonce - .private_account_nonce_increment(&nsk); - - (new_nullifier, new_nonce) + ) } else { // Private account without authentication @@ -305,17 +300,16 @@ fn compute_circuit_output( ); let nullifier = Nullifier::for_account_initialization(npk); - - let new_nonce = Nonce::private_account_nonce_init(npk); - - ((nullifier, DUMMY_COMMITMENT_HASH), new_nonce) + (nullifier, DUMMY_COMMITMENT_HASH) }; output.new_nullifiers.push(new_nullifier); // Update post-state with new nonce let mut post_with_updated_nonce = post_state; - - post_with_updated_nonce.nonce = new_nonce; //*new_nonce; + let Some(new_nonce) = private_nonces_iter.next() else { + panic!("Missing private account nonce"); + }; + post_with_updated_nonce.nonce = *new_nonce; // Compute commitment let commitment_post = Commitment::new(npk, &post_with_updated_nonce); @@ -338,6 +332,8 @@ fn compute_circuit_output( } } + assert!(private_nonces_iter.next().is_none(), "Too many nonces"); + assert!( private_keys_iter.next().is_none(), "Too many private account keys"