pub trait MerkleTree<L: Serialize + DeserializeOwned + Clone + Debug + PartialEq, H: Hasher<L>> {
    fn init(
        &self,
        storage: &mut dyn Storage,
        level: u8,
        default_leaf: L,
        hasher: &H
    ) -> Result<(), MerkleTreeError>; fn is_valid_root(
        &self,
        storage: &dyn Storage,
        root: &L
    ) -> Result<bool, MerkleTreeError>; fn insert(
        &self,
        storage: &mut dyn Storage,
        leaf: L,
        hasher: &H
    ) -> Result<(u64, L), MerkleTreeError>; fn get_latest_root(
        &self,
        storage: &dyn Storage
    ) -> Result<L, MerkleTreeError>; }

Required Methods

Initize the tree.

Check if the root is valid for the tree.

Insert the leaf into the next index slot of the tree. Return the leaf’s index and the updated root.

Get the latest root of the tree.

Implementors