INNER CODE UNIT · Rust
from_iter
risc0/risc0-ethereum · crates/aggregation/src/lib.rs:361
fn from_iter<T: IntoIterator<Item = D>>(values: T) -> Self {
let mut mmr = Self::empty();
mmr.extend(values);
mmr
}
}
/// Calculate the Merkle root for a tree with the given list of digests as leaves.
///
/// Panics if the given list of leaves is empty.
pub fn merkle_root(leaves: &[Digest]) -> Digest {
match leaves {
[] => panic!("digest list is empty, cannot compute Merkle root"),
_ => MerkleMountainRange::from_iter(leaves)
.finalized_root()
.unwrap(),
}
}