diff options
| author | Santo Cariotti <santo@dcariotti.me> | 2025-06-16 14:34:48 +0000 |
|---|---|---|
| committer | Santo Cariotti <santo@dcariotti.me> | 2025-06-16 14:34:48 +0000 |
| commit | c97f558c45b4f40b352cb6a0edf3aa9f4b0474f2 (patch) | |
| tree | 2dbb1a0c533a01925925694c4cfb4c9fa5cca066 /src/merkletree.rs | |
| parent | 481e019242fa6d487b56c7d6832bd6bea8fc7321 (diff) | |
Move proof tests and fix lifetime
Diffstat (limited to 'src/merkletree.rs')
| -rw-r--r-- | src/merkletree.rs | 36 |
1 files changed, 6 insertions, 30 deletions
diff --git a/src/merkletree.rs b/src/merkletree.rs index 9d2ff84..0d5186b 100644 --- a/src/merkletree.rs +++ b/src/merkletree.rs @@ -111,6 +111,11 @@ impl MerkleTree { self.leaves.len() } + /// Returns the tree' leaves. + pub fn leaves(&self) -> Vec<Node> { + self.leaves.clone() + } + /// Returns the root node of the tree. pub fn root(&self) -> Node { self.root.clone() @@ -121,7 +126,6 @@ impl MerkleTree { mod tests { use super::*; use crate::hasher::*; - use crate::proof::*; #[test] fn test_merkle_tree_with_default_hasher() { @@ -129,7 +133,7 @@ mod tests { let tree = MerkleTree::new(DummyHasher, data); assert_eq!(tree.height(), 2); - assert_eq!(tree.root().hash(), "0xc0ff3"); + assert_eq!(tree.root().hash(), "hash_539"); } #[test] @@ -178,32 +182,4 @@ mod tests { "9da1ff0dfa79217bdbea9ec96407b1e693646cc493f64059fa27182a37cadf94" ); } - - #[test] - fn test_proof_generation_and_verification_dummy() { - let hasher = DummyHasher; - let data = vec!["a", "b", "c", "d"]; - let tree = MerkleTree::new(hasher.clone(), data.clone()); - let proofer = DefaultProofer::new(hasher.clone(), tree.leaves.clone()); - - for (index, item) in data.iter().enumerate() { - let proof = proofer.generate(index).unwrap(); - - assert!(proofer.verify(&proof, item, tree.root().hash(), &hasher)); - } - } - #[test] - #[cfg(feature = "sha256")] - fn test_proof_generation_and_verification_sha256() { - let hasher = SHA256Hasher::new(); - let data = vec!["a", "b", "c", "d"]; - let tree = MerkleTree::new(hasher.clone(), data.clone()); - let proofer = DefaultProofer::new(hasher.clone(), tree.leaves.clone()); - - for (index, item) in data.iter().enumerate() { - let proof = proofer.generate(index).unwrap(); - - assert!(proofer.verify(&proof, item, tree.root().hash(), &hasher)); - } - } } |
