pub trait MerkleTreeTrait: Send + Sync + Debug {
    type Arity: 'static + PoseidonArity;
    type SubTreeArity: 'static + PoseidonArity;
    type TopTreeArity: 'static + PoseidonArity;
    type Hasher: 'static + Hasher;
    type Store: Store<<Self::Hasher as Hasher>::Domain>;
    type Proof: MerkleProofTrait
    where
        <Self::Proof as MerkleProofTrait>::Hasher == Self::Hasher,
        <Self::Proof as MerkleProofTrait>::Arity == Self::Arity,
        <Self::Proof as MerkleProofTrait>::SubTreeArity == Self::SubTreeArity,
        <Self::Proof as MerkleProofTrait>::TopTreeArity == Self::TopTreeArity
; fn display() -> String; fn root(&self) -> <Self::Hasher as Hasher>::Domain; fn gen_proof(&self, index: usize) -> Result<Self::Proof, Error>; fn gen_cached_proof(
        &self,
        i: usize,
        rows_to_discard: Option<usize>
    ) -> Result<Self::Proof, Error>; fn row_count(&self) -> usize; fn leaves(&self) -> usize; fn from_merkle(
        tree: MerkleTree<<Self::Hasher as Hasher>::Domain, <Self::Hasher as Hasher>::Function, Self::Store, Self::Arity, Self::SubTreeArity, Self::TopTreeArity>
    ) -> Self; }
Expand description

Trait used to abstract over the way Merkle Trees are constructed and stored.

Required Associated Types

Required Methods

Print a unique name for this configuration.

Returns the root hash of the tree.

Creates a merkle proof of the node at the given index.

Implementors