Module tree

Source
Expand description

Note Commitment Trees.

A note commitment tree is an incremental Merkle tree of fixed depth used to store note commitments that JoinSplit transfers or Spend transfers produce. Just as the unspent transaction output set (UTXO set) used in Bitcoin, it is used to express the existence of value and the capability to spend it. However, unlike the UTXO set, it is not the job of this tree to protect against double-spending, as it is append-only.

A root of a note commitment tree is associated with each treestate.

Modules§

legacy
Sprout serialization legacy code.

Structs§

EMPTY_ROOTS 🔒
List of “empty” Sprout note commitment roots (nodes), one for each layer.
Node
A node of the Sprout note commitment tree.
NoteCommitmentTree
Sprout Note Commitment Tree.
Root
Sprout note commitment tree root node hash.

Enums§

NoteCommitmentTreeError

Constants§

MERKLE_DEPTH 🔒
Sprout note commitment trees have a max depth of 29.

Functions§

merkle_crh_sprout 🔒
MerkleCRH^Sprout Hash Function.