Expand description

mina-merkle crate provides traits and data structure implementations for in-memory, persistent, maskable and masking mina merkle tree

Modules

This module defines functions that generate domain prefix from merkle tree node height

Structs

Merkle proof implementation of a single leaf node, for details refer to https://www.webopedia.com/definitions/merkle-proof/
Type state mode for a tree with a fixed height
Merkle path that can be serded from/to mina graphql api response
Metadata of a give tree node, including index and depth in the merkle tree it belongs to, which can be used for calculating hash
Special complete binary merkle tree that is compatible with https://github.com/o1-labs/snarky/blob/master/src/base/merkle_tree.ml whose leaf nodes are at the same height
Hasher for mina binary merkle tree that uses kimchi poseidon hash
Hasher for mina binary merkle tree that uses poseidon hash
Merger for mina binary merkle tree that uses poseidon hash with mina specific domain string calculated from node height
Merger for mina binary merkle tree that uses poseidon hash with mina specific domain string calculated from node height
Type state mode for a tree with a variable height that increases as data is added

Enums

Type that represents errors in calculating hashes for a merkle proof

Traits

Type state mode for a tree
A merkle tree that can be masked by super::MaskingMerkleTree
A merkle tree that can be used to mask super::MaskableMerkleTree
Trait for implementing binary merkle tree hasher
Trait that merges the hashes of child nodes and calculates the hash of their parent
Merkle proof trait of a single leaf node, for details refer to https://www.webopedia.com/definitions/merkle-proof/
Trait for implementing binary merkle tree
Trait for implementing sparse binary merkle tree. It is essentially a collection of MerkleProof