# Functions
No description provided by the author
Sorts the keys as if they were compared lexicographically with their KeyOrder prepended.
Checks that a struct containing KeyFormat fields has no collisions on prefix and so acts as a sane 'KeyFormatStore'.
KeyOrder maps []byte{} -> -1, []byte(nil) -> 1, and everything else to 0.
No description provided by the author
Create a []byte key format based on a single byte prefix and fixed width key segments each of whose length is specified by by the corresponding element of layout.
No description provided by the author
Create a new MutableForest against the backing database with tree cache and node caches of size cacheSize.
No description provided by the author
No description provided by the author
No description provided by the author
Creates a concurrency safe version of an IAVL tree whereby writes go a latest working tree and reads are routed to the last saved tree.
NormaliseDomain encodes the assumption that when nil is used as a lower bound is interpreted as low rather than high.
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Variables
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Structs
This is the object that is stored in the leaves of the commitsTree - it captures the sub-tree hashes so that the commitsTree's hash becomes a mixture of the hashes of all the sub-trees.
ImmutableForest contains much of the implementation for MutableForest yet it's external API is immutable.
No description provided by the author
Provides a fixed-width lexicographically sortable []byte key format.
MustKeyFormat for panicking early when a KeyFormat does not parse.
No description provided by the author
We wrap IAVL's tree types in order to implement standard DB interface and iteration helpers.
No description provided by the author
RWTree provides an abstraction over IAVL that maintains separate read and write paths.
# Interfaces
No description provided by the author
Access the read path of a forest.
Provides the native iteration for IAVLTree.
No description provided by the author
This is partially extracted from Cosmos SDK for alignment but is more minimal, we should suggest this becomes an embedded interface.
No description provided by the author
No description provided by the author
KVStore is a simple interface to get/set data.
No description provided by the author
No description provided by the author
No description provided by the author
# Type aliases
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author