mirror of
https://github.com/pezkuwichain/merkle-mountain-range.git
synced 2026-06-14 00:31:02 +00:00
Merge pull request #2 from jjyr/expose-gen-proof-on-memmmr
feat: expose more public functions
This commit is contained in:
@@ -162,6 +162,14 @@ impl<T: PartialEq + Debug, M: Merge<Item = T>> MerkleProof<T, M> {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn mmr_size(&self) -> u64 {
|
||||
self.mmr_size
|
||||
}
|
||||
|
||||
pub fn proof_items(&self) -> &[T] {
|
||||
&self.proof
|
||||
}
|
||||
|
||||
pub fn verify(&self, root: T, mut pos: u64, elem: T) -> Result<bool> {
|
||||
let peaks = get_peaks(self.mmr_size);
|
||||
let mut sum_elem = elem;
|
||||
|
||||
+6
-1
@@ -1,4 +1,4 @@
|
||||
use crate::{MMRStore, Merge, Result, MMR};
|
||||
use crate::{MMRStore, Merge, MerkleProof, Result, MMR};
|
||||
use std::cell::RefCell;
|
||||
use std::collections::HashMap;
|
||||
use std::fmt::Debug;
|
||||
@@ -70,4 +70,9 @@ impl<T: Clone + Debug + PartialEq, M: Merge<Item = T>> MemMMR<T, M> {
|
||||
mmr.commit()?;
|
||||
Ok(pos)
|
||||
}
|
||||
|
||||
pub fn gen_proof(&self, pos: u64) -> Result<MerkleProof<T, M>> {
|
||||
let mmr = MMR::<T, M, &MemStore<T>>::new(self.mmr_size, &self.store);
|
||||
mmr.gen_proof(pos)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user