diff --git a/src/merkle/smt/mod.rs b/src/merkle/smt/mod.rs index c05bf9c..ca3c492 100644 --- a/src/merkle/smt/mod.rs +++ b/src/merkle/smt/mod.rs @@ -597,7 +597,7 @@ mod test { let entries: Vec<(RpoDigest, Word)> = (0..PAIR_COUNT) .map(|i| { - let leaf_index = u64::MAX / (i + 1); + let leaf_index = ((i as f64 / PAIR_COUNT as f64) * 255.0) as u64; let key = RpoDigest::new([ONE, ONE, Felt::new(i), Felt::new(leaf_index)]); let value = [ONE, ONE, ONE, Felt::new(i)]; (key, value) @@ -606,7 +606,7 @@ mod test { let control = Smt::with_entries(entries.clone()).unwrap(); - let leaves: Vec<(u64, RpoDigest)> = entries + let mut leaves: Vec<(u64, RpoDigest)> = entries .iter() .map(|(key, value)| { let leaf = SmtLeaf::new_single(*key, *value); @@ -615,6 +615,8 @@ mod test { (col, hash) }) .collect(); + leaves.sort(); + leaves.dedup_by_key(|leaf| leaf.0); let first_subtree = Smt::build_subtree(leaves, SMT_DEPTH); assert!(!first_subtree.is_empty());