diff options
| author | Santo Cariotti <santo@dcariotti.me> | 2025-06-14 16:25:41 +0000 |
|---|---|---|
| committer | Santo Cariotti <santo@dcariotti.me> | 2025-06-14 16:40:37 +0000 |
| commit | a7f8a76aae5335e744c743bec5e32696f0314623 (patch) | |
| tree | a6ac2be45b0d9cbf9d2d59973b65ea3a889b516b | |
| parent | c8db4b9068909d5c54d4fce9bff0c4eda4c4a717 (diff) | |
fix(clippy): Box refs and modules imports
| -rw-r--r-- | src/lib.rs | 4 | ||||
| -rw-r--r-- | src/merkle/merkletree.rs | 4 | ||||
| -rw-r--r-- | src/merkle/mod.rs | 20 | ||||
| -rw-r--r-- | src/merkle/node.rs | 6 |
4 files changed, 25 insertions, 9 deletions
@@ -1,2 +1,2 @@ -mod hasher; -mod merkle; +pub mod hasher; +pub mod merkle; diff --git a/src/merkle/merkletree.rs b/src/merkle/merkletree.rs index f719ea5..812e300 100644 --- a/src/merkle/merkletree.rs +++ b/src/merkle/merkletree.rs @@ -52,6 +52,10 @@ impl MerkleTree { self.height } + pub fn is_empty(&self) -> bool { + self.len() == 0 + } + pub fn len(&self) -> usize { self.leaves.len() } diff --git a/src/merkle/mod.rs b/src/merkle/mod.rs index 48f87bc..1fea22f 100644 --- a/src/merkle/mod.rs +++ b/src/merkle/mod.rs @@ -1,13 +1,24 @@ -mod merkletree; -mod node; +pub mod merkletree; +pub mod node; -#[cfg(all(test, feature = "sha256"))] +#[cfg(test)] mod tests { - use crate::hasher::SHA256Hasher; + use crate::hasher::*; use super::*; #[test] + fn test_merkle_tree_with_default_hasher() { + let data = vec!["a", "b", "c", "d"]; + let tree = merkletree::MerkleTree::new(&DefaultHasher, data); + + assert_eq!(tree.height(), 3); + + assert_eq!(tree.root().hash(), "0xc0ff3"); + } + + #[test] + #[cfg(feature = "sha256")] fn test_merkle_tree_hashing() { let data = vec!["a", "b", "c", "d"]; let tree = merkletree::MerkleTree::new(&SHA256Hasher, data); @@ -21,6 +32,7 @@ mod tests { } #[test] + #[cfg(feature = "sha256")] fn test_merkle_tree_single_leaf() { let data = vec!["hello"]; let tree = merkletree::MerkleTree::new(&SHA256Hasher, data); diff --git a/src/merkle/node.rs b/src/merkle/node.rs index 9d552cd..19cf8d4 100644 --- a/src/merkle/node.rs +++ b/src/merkle/node.rs @@ -1,20 +1,20 @@ use crate::hasher::Hasher; #[derive(Debug, Clone)] -enum NodeType { +pub enum NodeType { Leaf, Internal(Box<Node>, Box<Node>), } impl NodeType { - pub fn left(&self) -> Option<&Box<Node>> { + pub fn left(&self) -> Option<&Node> { match self { NodeType::Leaf => None, NodeType::Internal(l, _) => Some(l), } } - pub fn right(&self) -> Option<&Box<Node>> { + pub fn right(&self) -> Option<&Node> { match self { NodeType::Leaf => None, NodeType::Internal(_, r) => Some(r), |
