pub trait Merkleizable {
// Required method
fn append_leaves(&self, builder: &mut MerkleBuilder);
// Provided methods
fn leaves(&self) -> Vec<(String, FixedBytes<32>)> { ... }
fn to_merkle_tree(&self) -> StandardMerkleTree { ... }
fn generate_proof<T>(&self, prefix: &str, item: &T) -> Option<MerkleProof>
where T: ToLeaf { ... }
fn generate_proofs<T>(
&self,
prefix: &str,
items: &[T],
) -> Vec<Option<MerkleProof>>
where T: Merkleizable { ... }
fn generate_multi_proof<T>(
&self,
prefix: &str,
item: &T,
) -> Option<(Vec<FixedBytes<32>>, MerkleMultiProof)>
where T: Merkleizable { ... }
fn generate_multi_proofs<T>(
&self,
prefix: &str,
items: &[T],
) -> Option<(Vec<FixedBytes<32>>, MerkleMultiProof)>
where T: Merkleizable { ... }
}
Required Methods§
fn append_leaves(&self, builder: &mut MerkleBuilder)
Provided Methods§
fn leaves(&self) -> Vec<(String, FixedBytes<32>)>
fn to_merkle_tree(&self) -> StandardMerkleTree
fn generate_proof<T>(&self, prefix: &str, item: &T) -> Option<MerkleProof>where
T: ToLeaf,
fn generate_proofs<T>(
&self,
prefix: &str,
items: &[T],
) -> Vec<Option<MerkleProof>>where
T: Merkleizable,
fn generate_multi_proof<T>(
&self,
prefix: &str,
item: &T,
) -> Option<(Vec<FixedBytes<32>>, MerkleMultiProof)>where
T: Merkleizable,
fn generate_multi_proofs<T>(
&self,
prefix: &str,
items: &[T],
) -> Option<(Vec<FixedBytes<32>>, MerkleMultiProof)>where
T: Merkleizable,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.