summaryrefslogtreecommitdiffstats
path: root/src/merkletree.rs
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2025-06-25 08:18:23 +0000
committerSanto Cariotti <santo@dcariotti.me>2025-06-25 08:18:23 +0000
commit7bdb59e386b93c37cdc2c2b88fc2945ab0e64d57 (patch)
tree0b8224e6294df174fdec18f44459c8a33a2a0404 /src/merkletree.rs
parent7c1afe0571293554e9c486a0e97aa9215ad64ee5 (diff)
Increase tree's speed avoiding to store data in a vec
Diffstat (limited to 'src/merkletree.rs')
-rw-r--r--src/merkletree.rs9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/merkletree.rs b/src/merkletree.rs
index 362077e..c8962f4 100644
--- a/src/merkletree.rs
+++ b/src/merkletree.rs
@@ -49,7 +49,7 @@ impl MerkleTree {
let mut leaves: Vec<Node> = data_slices
.iter()
- .map(|data| Node::new_leaf(data, hasher.hash(data)))
+ .map(|data| Node::new_leaf(hasher.hash(data)))
.collect();
if leaves.len() % 2 != 0 {
@@ -87,12 +87,7 @@ impl MerkleTree {
buffer.extend_from_slice(right_hash);
let hash = hasher.hash(&buffer);
- next_level.push(Node::new_internal(
- &buffer,
- hash,
- left.clone(),
- right.clone(),
- ));
+ next_level.push(Node::new_internal(hash, left.clone(), right.clone()));
}
std::mem::swap(&mut current_level, &mut next_level);