mirror of
https://github.com/arnaucube/miden-crypto.git
synced 2026-01-12 00:51:29 +01:00
feat: remove clone requirement for MerkleStore From constructors
This commit is contained in:
@@ -393,33 +393,41 @@ impl MerkleStore {
|
||||
}
|
||||
}
|
||||
|
||||
// CONVERTIONS
|
||||
// CONVERSIONS
|
||||
// ================================================================================================
|
||||
|
||||
impl From<MerkleTree> for MerkleStore {
|
||||
fn from(value: MerkleTree) -> Self {
|
||||
impl From<&MerkleTree> for MerkleStore {
|
||||
fn from(value: &MerkleTree) -> Self {
|
||||
let mut store = MerkleStore::new();
|
||||
store.extend(value.inner_nodes());
|
||||
store
|
||||
}
|
||||
}
|
||||
|
||||
impl From<SimpleSmt> for MerkleStore {
|
||||
fn from(value: SimpleSmt) -> Self {
|
||||
impl From<&SimpleSmt> for MerkleStore {
|
||||
fn from(value: &SimpleSmt) -> Self {
|
||||
let mut store = MerkleStore::new();
|
||||
store.extend(value.inner_nodes());
|
||||
store
|
||||
}
|
||||
}
|
||||
|
||||
impl From<Mmr> for MerkleStore {
|
||||
fn from(value: Mmr) -> Self {
|
||||
impl From<&Mmr> for MerkleStore {
|
||||
fn from(value: &Mmr) -> Self {
|
||||
let mut store = MerkleStore::new();
|
||||
store.extend(value.inner_nodes());
|
||||
store
|
||||
}
|
||||
}
|
||||
|
||||
impl FromIterator<InnerNodeInfo> for MerkleStore {
|
||||
fn from_iter<T: IntoIterator<Item = InnerNodeInfo>>(iter: T) -> Self {
|
||||
let mut store = MerkleStore::new();
|
||||
store.extend(iter.into_iter());
|
||||
store
|
||||
}
|
||||
}
|
||||
|
||||
// ITERATORS
|
||||
// ================================================================================================
|
||||
|
||||
|
||||
Reference in New Issue
Block a user