@@ -158,8 +158,13 @@ impl MerkleProofGadget {
158158impl MerkleClaimAndProofTarget {
159159 /// assigns the given values to the targets
160160 #[ allow( clippy:: too_many_arguments) ]
161- pub fn set_targets ( & self , pw : & mut PartialWitness < F > , mp : & MerkleClaimAndProof ) -> Result < ( ) > {
162- pw. set_bool_target ( self . enabled , mp. enabled ) ?;
161+ pub fn set_targets (
162+ & self ,
163+ pw : & mut PartialWitness < F > ,
164+ enabled : bool ,
165+ mp : & MerkleClaimAndProof ,
166+ ) -> Result < ( ) > {
167+ pw. set_bool_target ( self . enabled , enabled) ?;
163168 pw. set_hash_target ( self . root , HashOut :: from_vec ( mp. root . 0 . to_vec ( ) ) ) ?;
164169 pw. set_target_arr ( & self . key . elements , & mp. key . 0 ) ?;
165170 pw. set_target_arr ( & self . value . elements , & mp. value . 0 ) ?;
@@ -263,10 +268,15 @@ impl MerkleProofExistenceGadget {
263268
264269impl MerkleProofExistenceTarget {
265270 /// assigns the given values to the targets
266- pub fn set_targets ( & self , pw : & mut PartialWitness < F > , mp : & MerkleClaimAndProof ) -> Result < ( ) > {
271+ pub fn set_targets (
272+ & self ,
273+ pw : & mut PartialWitness < F > ,
274+ enabled : bool ,
275+ mp : & MerkleClaimAndProof ,
276+ ) -> Result < ( ) > {
267277 assert ! ( mp. proof. existence) ; // sanity check
268278
269- pw. set_bool_target ( self . enabled , mp . enabled ) ?;
279+ pw. set_bool_target ( self . enabled , enabled) ?;
270280 pw. set_hash_target ( self . root , HashOut :: from_vec ( mp. root . 0 . to_vec ( ) ) ) ?;
271281 pw. set_target_arr ( & self . key . elements , & mp. key . 0 ) ?;
272282 pw. set_target_arr ( & self . value . elements , & mp. value . 0 ) ?;
@@ -534,6 +544,7 @@ pub mod tests {
534544 let targets = MerkleProofGadget { max_depth } . eval ( & mut builder) ?;
535545 targets. set_targets (
536546 & mut pw,
547+ true ,
537548 & MerkleClaimAndProof :: new ( tree. root ( ) , key, Some ( value) , proof) ,
538549 ) ?;
539550
@@ -579,6 +590,7 @@ pub mod tests {
579590 let targets = MerkleProofExistenceGadget { max_depth } . eval ( & mut builder) ?;
580591 targets. set_targets (
581592 & mut pw,
593+ true ,
582594 & MerkleClaimAndProof :: new ( tree. root ( ) , key, Some ( value) , proof) ,
583595 ) ?;
584596
@@ -653,6 +665,7 @@ pub mod tests {
653665 let targets = MerkleProofGadget { max_depth } . eval ( & mut builder) ?;
654666 targets. set_targets (
655667 & mut pw,
668+ true ,
656669 & MerkleClaimAndProof :: new ( tree. root ( ) , key, Some ( value) , proof) ,
657670 ) ?;
658671
@@ -697,7 +710,7 @@ pub mod tests {
697710 let targets = MerkleProofGadget { max_depth } . eval ( & mut builder) ?;
698711 // verification enabled & proof of existence
699712 let mut mp = MerkleClaimAndProof :: new ( tree2. root ( ) , key, Some ( value) , proof) ;
700- targets. set_targets ( & mut pw, & mp) ?;
713+ targets. set_targets ( & mut pw, true , & mp) ?;
701714
702715 // generate proof, expecting it to fail (since we're using the wrong
703716 // root)
@@ -712,8 +725,7 @@ pub mod tests {
712725
713726 let targets = MerkleProofGadget { max_depth } . eval ( & mut builder) ?;
714727 // verification disabled & proof of existence
715- mp. enabled = false ;
716- targets. set_targets ( & mut pw, & mp) ?;
728+ targets. set_targets ( & mut pw, false , & mp) ?;
717729
718730 // generate proof, should pass despite using wrong witness, since the
719731 // `enabled=false`
0 commit comments