internal only.Expand description
Complete things are sparse representations of only the data that was inserted using
Witness::Keep, with the data that was inserted using
Witness::Forget being pruned eagerly.
The structure of a single Tier contains eight levels of Nodes, the bottom-most level
of which contains Leafs. Alternatively, a tier can be a summarized Hash of what its
contents would be, and contain nothing at all besides this hash.
In the internal levels of a complete::Tier are eight levels of
complete::Nodes, each of which may have between one and four children. If a node
does not have a given child, then it instead stores the hash that child used to have, when
it existed. Empty nodes (all of whose children would be hashes) are unrepresentable, and
instead their own hash is immediately stored in their parent node when their last child is
forgotten.
At the bottom of the bottom-most tier (perhaps at the bottom of multiple Tiers), there
are Items, each of which is merely a wrapper for a single
Commitment.
Structs§
- Item
- A witnessed hash of a commitment at the true leaf of a complete tree.
- Leaf
- A complete, witnessed leaf of a tree.
- Node
- A complete sparse node in a tree, storing only the witnessed subtrees.
- Tier
- A complete tier of the tiered commitment tree, being an 8-deep sparse quad-tree.
- Top
- A complete top-level tier of the tiered commitment tree, being an 8-deep sparse quad-tree.
Traits§
- Complete
- Marker trait for a type which is the frozen completion of some
Focused insertion point. - Forget
Owned - Forget about the authentication path to a given index, when forgetting can turn the entirety of
Selfinto a hash.
Type Aliases§
- Nested
- An eight-deep complete tree with the given item at each leaf.