Compare commits

...

2 Commits

Author SHA1 Message Date
benedetta davico 5e515fc4ec Update Cargo.toml 2025-03-05 16:24:25 +01:00
Jędrzej Stuczyński ec3337e517 hotfix: ensure we bail on merkle leaves insertion upon missing data 2025-03-05 15:16:00 +00:00
2 changed files with 7 additions and 4 deletions
+2 -2
View File
@@ -4,7 +4,7 @@
[package]
name = "nym-api"
license = "GPL-3.0"
version = "1.1.51"
version = "1.1.52"
authors.workspace = true
edition = "2021"
rust-version.workspace = true
@@ -144,4 +144,4 @@ rand_chacha = { workspace = true }
sha2 = "0.9"
[lints]
workspace = true
workspace = true
+5 -2
View File
@@ -33,14 +33,17 @@ impl DailyMerkleTree {
.into_iter()
.map(|l| (l.merkle_index, l))
.collect();
let total_leaves = leaves.len();
let mut sorted_leaves = Vec::new();
for i in 0..leaves.len() {
if let Some(next_leaf) = leaves.remove(&i) {
sorted_leaves.push(next_leaf);
} else {
let lost = leaves.len() - i + 1;
error!("failed to produce consistent merkle tree. there was no leaf with index {i}. at least {lost} leaves got lost")
let lost = total_leaves - i + 1;
error!("failed to produce consistent merkle tree. there was no leaf with index {i}. at least {lost} leaves got lost");
// we have to drop all data above that height because we can't rebuild the full tree
break;
}
}