Skip to content

Commit bf2daa7

Browse files
committed
refactor: get rid of 'Arc::unwrap_or_clone'
1 parent f068ff9 commit bf2daa7

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

mithril-common/src/crypto_helper/merkle_tree.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,7 @@ impl Merge for MergeMKTreeNode {
114114
type Item = Arc<MKTreeNode>;
115115

116116
fn merge(lhs: &Self::Item, rhs: &Self::Item) -> MMRResult<Self::Item> {
117-
Ok(Arc::new(
118-
Arc::unwrap_or_clone(lhs.to_owned()) + Arc::unwrap_or_clone(rhs.to_owned()),
119-
))
117+
Ok(Arc::new((**lhs).clone() + (**rhs).clone()))
120118
}
121119
}
122120

@@ -153,7 +151,7 @@ impl MKProof {
153151
.all(|leaf| {
154152
self.inner_leaves
155153
.iter()
156-
.any(|(_, l)| &Arc::unwrap_or_clone(l.to_owned()) == leaf)
154+
.any(|(_, l)| ((**l).clone()) == *leaf)
157155
})
158156
.then_some(())
159157
.ok_or(anyhow!("Leaves not found in the MKProof"))
@@ -274,7 +272,7 @@ impl MKTree {
274272
.map(|(leaf, position)| (position, leaf))
275273
.collect::<BTreeMap<_, _>>()
276274
.into_values()
277-
.map(|leaf| Arc::unwrap_or_clone(leaf.to_owned()))
275+
.map(|leaf| (**leaf).clone())
278276
.collect()
279277
}
280278

@@ -285,7 +283,7 @@ impl MKTree {
285283

286284
/// Generate root of the Merkle tree
287285
pub fn compute_root(&self) -> StdResult<MKTreeNode> {
288-
Ok(Arc::unwrap_or_clone(self.inner_tree.get_root()?))
286+
Ok((*self.inner_tree.get_root()?).clone())
289287
}
290288

291289
/// Generate Merkle proof of memberships in the tree

0 commit comments

Comments
 (0)