# Functions

CheckSumOverflowUint64 checks if the sum of two uint64 values will overflow.
No description provided by the author
IsEqualNode determines whether a and b are equal based on their NodeHash and NodeSum.
NewBranch constructs a new branch backed by its left and right children.
NewCompactedLeafNode creates a new compacted leaf at the passed height with the passed leaf key.
NewCompactedTree initializes an empty MS-SMT backed by `store`.
NewComputedBranch creates a new branch without any reference it its children.
NewComputedNode instantiates a new computed node.
NewDefaultStore initializes a new DefaultStore.
NewFullTree initializes an empty MS-SMT backed by `store`.
NewLeafNode constructs a new leaf node.
NewProof initializes a new merkle proof for the given leaf node.
No description provided by the author
No description provided by the author
No description provided by the author
PackBits packs a bit vector into a byte slice.
No description provided by the author
RandLeafAmount generates a random leaf node sum amount.
RandProof returns a random proof for testing.
RegisteredTreeStores returns a slice of all currently registered minting stores.
RegisterTreeStore registers a TreeStoreDriver which is capable of driving a concrete TreeStore interface.
UnpackBits unpacks a byte slice into a bit vector.
VerifyMerkleProof determines whether a merkle proof for the leaf found at the given key is valid.

# Constants

MaxTreeLevels represents the depth of the MS-SMT.

# Variables

EmptyLeafNode represents an empty leaf in a MS-SMT, one with a nil value and 0 sum.
EmptyTree stores a copy of all nodes up to the root in a MS-SMT in which all the leaves are empty.
EmptyTreeRootHash caches the value of a completely empty tree's root hash.
No description provided by the author
ErrIntegerOverflow is an error returned when the result of an arithmetic operation on two integer values exceeds the maximum value that can be stored in the data type.
ErrInvalidCompressedProof is returned when a compressed proof has an invalid combination of explicit nodes and default hash bits.
ZeroNodeHash represents the empty node hash that is all zeroes.

# Structs

BranchNode represents an intermediate or root node within a MS-SMT.
CompactedLeafNode holds a leaf node that represents a whole "compacted" subtree omitting all default branches and leafs in the represented subtree.
CompactedTree represents a compacted Merkle-Sum Sparse Merkle Tree (MS-SMT).
CompressedProof represents a compressed MS-SMT merkle proof.
ComputedNode is a node within a MS-SMT that has already had its NodeHash and NodeSum computed, i.e., its preimage is not available.
DefaultStore is an in-memory implementation of the TreeStore interface.
No description provided by the author
FullTree represents a Merkle-Sum Sparse Merkle Tree (MS-SMT).
LeafNode represents a leaf node within a MS-SMT.
Proof represents a merkle proof for a MS-SMT.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
TreeStoreDriver represents a concrete driver of the main TreeStore interface.
No description provided by the author

# Interfaces

Node represents a MS-SMT node.
Tree is an interface defining an abstract MSSMT tree type.
TreeStore represents a generic database interface to update or view a generic MSSMT tree atomically.
TreeStoreUpdateTx is an interface encompassing all methods of an updating persistent tree transaction.
TreeStoreViewTx is an interface encompassing all methods of a view only persistent tree transaction.

# Type aliases

NodeHash represents the key of a MS-SMT node.