pub trait Merkleizable {
// Required method
fn append_leaves(&self, builder: &mut MerkleBuilder);
// Provided methods
fn leaves(&self) -> Vec<(String, Hash)> { ... }
fn to_merkle_tree(&self) -> StandardMerkleTree { ... }
fn generate_proof<T: Merkleizable>(
&self,
prefix: &str,
item: &T,
) -> Result<MerkleProof> { ... }
fn generate_proofs<T: Merkleizable>(
&self,
prefix: &str,
items: &[T],
) -> Result<Vec<MerkleProof>> { ... }
fn generate_multi_proof<T: Merkleizable>(
&self,
prefix: &str,
item: &T,
) -> Option<(Vec<Hash>, MerkleMultiProof)> { ... }
fn generate_multi_proofs<T: Merkleizable>(
&self,
prefix: &str,
items: &[T],
) -> Option<(Vec<Hash>, MerkleMultiProof)> { ... }
}
Required Methods§
fn append_leaves(&self, builder: &mut MerkleBuilder)
Provided Methods§
fn leaves(&self) -> Vec<(String, Hash)>
fn to_merkle_tree(&self) -> StandardMerkleTree
fn generate_proof<T: Merkleizable>( &self, prefix: &str, item: &T, ) -> Result<MerkleProof>
fn generate_proofs<T: Merkleizable>( &self, prefix: &str, items: &[T], ) -> Result<Vec<MerkleProof>>
fn generate_multi_proof<T: Merkleizable>( &self, prefix: &str, item: &T, ) -> Option<(Vec<Hash>, MerkleMultiProof)>
fn generate_multi_proofs<T: Merkleizable>( &self, prefix: &str, items: &[T], ) -> Option<(Vec<Hash>, MerkleMultiProof)>
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.