diff options
| author | Santo Cariotti <santo@dcariotti.me> | 2025-06-25 08:18:23 +0000 |
|---|---|---|
| committer | Santo Cariotti <santo@dcariotti.me> | 2025-06-25 08:18:23 +0000 |
| commit | 7bdb59e386b93c37cdc2c2b88fc2945ab0e64d57 (patch) | |
| tree | 0b8224e6294df174fdec18f44459c8a33a2a0404 /src/merkletree.rs | |
| parent | 7c1afe0571293554e9c486a0e97aa9215ad64ee5 (diff) | |
Increase tree's speed avoiding to store data in a vec
Diffstat (limited to 'src/merkletree.rs')
| -rw-r--r-- | src/merkletree.rs | 9 |
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); |
