From 14528fe83f75917d2d8c5ebd110c0efae25b354c Mon Sep 17 00:00:00 2001 From: jjy Date: Mon, 20 Jan 2020 17:23:02 +0800 Subject: [PATCH] refactor: MerkleProof calculate_root --- src/mmr.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/mmr.rs b/src/mmr.rs index 75eff9b..d1446ee 100644 --- a/src/mmr.rs +++ b/src/mmr.rs @@ -171,7 +171,7 @@ impl> MerkleProof { &self.proof } - pub fn verify(&self, root: T, mut pos: u64, elem: T) -> Result { + pub fn calculate_root(&self, mut pos: u64, elem: T) -> Result { let peaks = get_peaks(self.mmr_size); let mut sum_elem = elem; let mut height = 0; @@ -211,6 +211,11 @@ impl> MerkleProof { M::merge(&proof, &sum_elem) }; } - Ok(root == sum_elem) + Ok(sum_elem) + } + + pub fn verify(&self, root: T, pos: u64, elem: T) -> Result { + self.calculate_root(pos, elem) + .map(|calculated_root| calculated_root == root) } }