feat: check nodes (or peaks) before merge them

This commit is contained in:
Boyu Yang
2022-04-15 13:31:49 +08:00
parent a037309912
commit be20646ac8
7 changed files with 25 additions and 19 deletions
+3 -3
View File
@@ -3,7 +3,7 @@ mod test_helper;
mod test_mmr;
mod test_sequence;
use crate::Merge;
use crate::{Merge, Result};
use blake2b_rs::{Blake2b, Blake2bBuilder};
use bytes::Bytes;
@@ -27,12 +27,12 @@ struct MergeNumberHash;
impl Merge for MergeNumberHash {
type Item = NumberHash;
fn merge(lhs: &Self::Item, rhs: &Self::Item) -> Self::Item {
fn merge(lhs: &Self::Item, rhs: &Self::Item) -> Result<Self::Item> {
let mut hasher = new_blake2b();
let mut hash = [0u8; 32];
hasher.update(&lhs.0);
hasher.update(&rhs.0);
hasher.finalize(&mut hash);
NumberHash(hash.to_vec().into())
Ok(NumberHash(hash.to_vec().into()))
}
}