diff --git a/console/collections/src/merkle_tree/tests/append.rs b/console/collections/src/merkle_tree/tests/append.rs index 035d2c33ef..968e0b0bd4 100644 --- a/console/collections/src/merkle_tree/tests/append.rs +++ b/console/collections/src/merkle_tree/tests/append.rs @@ -30,13 +30,12 @@ fn check_merkle_tree, PH: PathHash path_hasher: &PH, leaves: &[LH::Leaf], additional_leaves: &[LH::Leaf], + rng: &mut TestRng, ) -> Result<()> { // Construct the Merkle tree for the given leaves. let mut merkle_tree = MerkleTree::::new(leaf_hasher, path_hasher, leaves)?; assert_eq!(leaves.len(), merkle_tree.number_of_leaves); - let mut rng = TestRng::default(); - // Check each leaf in the Merkle tree. if !leaves.is_empty() { for (leaf_index, leaf) in leaves.iter().enumerate() { @@ -47,7 +46,7 @@ fn check_merkle_tree, PH: PathHash // Verify the Merkle proof **fails** on an invalid root. assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::zero(), leaf)); assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::one(), leaf)); - assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::rand(&mut rng), leaf)); + assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::rand(rng), leaf)); } } // If additional leaves are provided, check that the Merkle tree is consistent with them. @@ -63,7 +62,7 @@ fn check_merkle_tree, PH: PathHash // Verify the Merkle proof **fails** on an invalid root. assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::zero(), leaf)); assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::one(), leaf)); - assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::rand(&mut rng), leaf)); + assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::rand(rng), leaf)); } } Ok(()) @@ -388,6 +387,7 @@ fn test_merkle_tree_bhp() -> Result<()> { &(0..num_additional_leaves) .map(|_| Field::::rand(rng).to_bits_le()) .collect::>>(), + rng, )?; } } @@ -439,6 +439,7 @@ fn test_merkle_tree_poseidon() -> Result<()> { &path_hasher, &(0..num_leaves).map(|_| vec![Uniform::rand(rng)]).collect::>(), &(0..num_additional_leaves).map(|_| vec![Uniform::rand(rng)]).collect::>(), + rng, )?; } } diff --git a/console/collections/src/merkle_tree/tests/update.rs b/console/collections/src/merkle_tree/tests/update.rs index 9538ffaf3f..cf3f81f71e 100644 --- a/console/collections/src/merkle_tree/tests/update.rs +++ b/console/collections/src/merkle_tree/tests/update.rs @@ -32,13 +32,12 @@ fn check_merkle_tree, PH: PathHash path_hasher: &PH, leaves: &[LH::Leaf], updates: &[(usize, LH::Leaf)], + rng: &mut TestRng, ) -> Result<()> { // Construct the Merkle tree for the given leaves. let mut merkle_tree = MerkleTree::::new(leaf_hasher, path_hasher, leaves)?; assert_eq!(leaves.len(), merkle_tree.number_of_leaves); - let mut rng = TestRng::default(); - // Check each leaf in the Merkle tree. for (leaf_index, leaf) in leaves.iter().enumerate() { // Compute a Merkle proof for the leaf. @@ -48,7 +47,7 @@ fn check_merkle_tree, PH: PathHash // Verify the Merkle proof **fails** on an invalid root. assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::zero(), leaf)); assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::one(), leaf)); - assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::rand(&mut rng), leaf)); + assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::rand(rng), leaf)); } // Update the leaves of the Merkle tree. @@ -65,7 +64,7 @@ fn check_merkle_tree, PH: PathHash // Verify the Merkle proof **fails** on an invalid root. assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::zero(), leaf)); assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::one(), leaf)); - assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::rand(&mut rng), leaf)); + assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::rand(rng), leaf)); } Ok(()) } @@ -236,6 +235,7 @@ fn test_merkle_tree_bhp() -> Result<()> { &(0..num_updates) .map(|i| ((i % num_leaves) as usize, Field::::rand(rng).to_bits_le())) .collect::)>>(), + rng, )?; } } @@ -275,6 +275,7 @@ fn test_merkle_tree_poseidon() -> Result<()> { &(0..num_additional_leaves) .map(|i| ((i % num_leaves) as usize, vec![Uniform::rand(rng)])) .collect::>(), + rng, )?; } } diff --git a/console/collections/src/merkle_tree/tests/update_many.rs b/console/collections/src/merkle_tree/tests/update_many.rs index 9519a9a71b..b09a417716 100644 --- a/console/collections/src/merkle_tree/tests/update_many.rs +++ b/console/collections/src/merkle_tree/tests/update_many.rs @@ -32,13 +32,12 @@ fn check_merkle_tree, PH: PathHash path_hasher: &PH, leaves: &[LH::Leaf], updates: &BTreeMap, + rng: &mut TestRng, ) -> Result<()> { // Construct the Merkle tree for the given leaves. let mut merkle_tree = MerkleTree::::new(leaf_hasher, path_hasher, leaves)?; assert_eq!(leaves.len(), merkle_tree.number_of_leaves); - let mut rng = TestRng::default(); - // Check each leaf in the Merkle tree. for (leaf_index, leaf) in leaves.iter().enumerate() { // Compute a Merkle proof for the leaf. @@ -48,7 +47,7 @@ fn check_merkle_tree, PH: PathHash // Verify the Merkle proof **fails** on an invalid root. assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::zero(), leaf)); assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::one(), leaf)); - assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::rand(&mut rng), leaf)); + assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::rand(rng), leaf)); } // If additional leaves are provided, check that the Merkle tree is consistent with them. @@ -64,7 +63,7 @@ fn check_merkle_tree, PH: PathHash // Verify the Merkle proof **fails** on an invalid root. assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::zero(), leaf)); assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::one(), leaf)); - assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::rand(&mut rng), leaf)); + assert!(!proof.verify(leaf_hasher, path_hasher, &PH::Hash::rand(rng), leaf)); } } Ok(()) @@ -235,6 +234,7 @@ fn test_merkle_tree_bhp() -> Result<()> { .rev() .map(|i| ((i % num_leaves) as usize, Field::::rand(rng).to_bits_le())) .collect::>>(), + rng, )?; } } @@ -275,6 +275,7 @@ fn test_merkle_tree_poseidon() -> Result<()> { .rev() .map(|i| ((i % num_leaves) as usize, vec![Uniform::rand(rng)])) .collect::>(), + rng, )?; } }