Trait Merkleizable

Source
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§

Source

fn append_leaves(&self, builder: &mut MerkleBuilder)

Provided Methods§

Source

fn leaves(&self) -> Vec<(String, Hash)>

Source

fn to_merkle_tree(&self) -> StandardMerkleTree

Source

fn generate_proof<T: Merkleizable>( &self, prefix: &str, item: &T, ) -> Result<MerkleProof>

Source

fn generate_proofs<T: Merkleizable>( &self, prefix: &str, items: &[T], ) -> Result<Vec<MerkleProof>>

Source

fn generate_multi_proof<T: Merkleizable>( &self, prefix: &str, item: &T, ) -> Option<(Vec<Hash>, MerkleMultiProof)>

Source

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.

Implementations on Foreign Types§

Source§

impl<T: Merkleizable> Merkleizable for &[T]

Source§

fn append_leaves(&self, builder: &mut MerkleBuilder)

Source§

impl<T: Merkleizable> Merkleizable for Vec<T>

Source§

fn append_leaves(&self, builder: &mut MerkleBuilder)

Implementors§