From 24877c1e38c6cb97834f0ac3065828a8e4aa1d9a Mon Sep 17 00:00:00 2001 From: Bob Niu Date: Tue, 16 May 2023 17:45:59 +0800 Subject: [PATCH] Change Blake2bHasher default --- src/blake2b.rs | 4 ++-- src/tests/tree.rs | 33 ++++++++++++++++++++++++++++++++- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/src/blake2b.rs b/src/blake2b.rs index 47f50e7..3b5c04d 100644 --- a/src/blake2b.rs +++ b/src/blake2b.rs @@ -10,8 +10,8 @@ pub struct Blake2bHasher(Blake2b); impl Default for Blake2bHasher { fn default() -> Self { let blake2b = Blake2bBuilder::new(BLAKE2B_LEN) - .personal(PERSONALIZATION) - .key(BLAKE2B_KEY) + // .personal(PERSONALIZATION) + // .key(BLAKE2B_KEY) .build(); Blake2bHasher(blake2b) } diff --git a/src/tests/tree.rs b/src/tests/tree.rs index ed9efac..51cc663 100644 --- a/src/tests/tree.rs +++ b/src/tests/tree.rs @@ -439,7 +439,7 @@ proptest! { } #[test] - fn test_smt_multi_leaves_small((pairs, n) in leaves(1, 50)){ + fn test_smt_multi_leaves_small((pairs, n) in leaves(1, 4)){ let smt = new_smt(pairs.clone()); let keys: Vec<_> = pairs.iter().take(n).map(|(k, _v)| *k).collect(); let proof = smt.merkle_proof(keys.clone()).expect("gen proof"); @@ -448,6 +448,37 @@ proptest! { assert!(proof.verify::(smt.root(), data.clone()).expect("verify proof")); assert!(compiled_proof.verify::(smt.root(), data.clone()).expect("verify compiled proof")); + use core::fmt::Write; + let proof: Vec = compiled_proof.clone().into(); + let mut s = String::with_capacity(2 * proof.len()); + for byte in proof.clone() { + write!(s, "{:02X}", byte)?; + } + println!("proof: {}", s); + let mut r = String::with_capacity(2 * 32); + for b in smt.root().as_slice() { + write!(r, "{:02X}", b)?; + } + println!("root: {}", r); + let mut le = vec![]; + for lf in &data { + let mut l = String::with_capacity(2 * 32); + let mut r = String::with_capacity(2 * 32); + + let lf0: [u8; 32] = lf.0.into(); + for b in lf0 { + write!(l, "{:02X}", b)?; + } + + let lf1: [u8; 32] = lf.1.into(); + for b in lf1 { + write!(r, "{:02X}", b)?; + } + + le.push((l, r)); + } + println!("leaves: {:?}", le); + test_sub_proof(&compiled_proof, &smt, &data, 20); }