# Functions

New creates the trie instance with provided trie id and the read-only database.
NewDatabase creates a new trie database to store ephemeral trie content before its written out to disk or garbage collected.
NewDatabaseWithConfig creates a new trie database to store ephemeral trie content before its written out to disk or garbage collected.
NewDifferenceIterator constructs a NodeIterator that iterates over elements in b that are not in a.
NewEmpty is a shortcut to create empty tree.
NewFromBinary initialises a serialized stacktrie with the given db.
NewIterator creates a new key-value iterator from a node iterator.
NewMergedNodeSet initializes an empty merged set.
NewNodeSet initializes an empty node set to be used for tracking dirty nodes from a specific account or storage trie.
NewSecure creates a new StateTrie.
NewStackTrie allocates and initializes an empty trie.
NewStackTrieWithOwner allocates and initializes an empty trie, but with the additional owner field.
NewStateTrie creates a trie with an existing root node from a backing database.
NewSync creates a new trie data download scheduler.
NewSyncPath converts an expanded trie path from nibble form into a compact version that can be sent over the network.
NewUnionIterator constructs a NodeIterator that iterates over elements in the union of the provided NodeIterators.
NewWithNodeSet constructs a merged nodeset with the provided single set.
ResolvePath resolves the provided composite node path by separating the path in account trie if it's existent.
StateTrieID constructs an identifier for state trie with the provided state root.
StorageTrieID constructs an identifier for storage trie which belongs to a certain state and contract specified by the stateRoot and owner.
TrieID constructs an identifier for a standard trie(not a second-layer trie) with provided root.
VerifyProof checks merkle proofs.
VerifyRangeProof checks whether the given leaf nodes and edge proof can prove the given trie leaves range is matched with the specific root.

# Variables

ErrAlreadyProcessed is returned by the trie sync when it's requested to process a node it already processed previously.
No description provided by the author
ErrNotRequested is returned by the trie sync when it's requested to process a node it did not request.

# Structs

CodeSyncResult is a response with requested bytecode along with its hash.
Config defines all necessary options for database.
Database is an intermediate write layer between the trie data structures and the disk database.
ID is the identifier for uniquely identifying a trie.
Iterator is a key-value trie iterator that traverses a Trie.
MergedNodeSet represents a merged dirty node set for a group of tries.
MissingNodeError is returned by the trie functions (Get, Update, Delete) in the case where a trie node is not present in the local database.
NodeSet contains all dirty nodes collected during the commit operation.
NodeSyncResult is a response with requested trie node along with its node path.
StackTrie is a trie implementation that expects keys to be inserted in order.
StateTrie wraps a trie with key hashing.
Sync is the main state trie synchronisation scheduler, which provides yet unknown trie hashes to retrieve, accepts node data associated with said hashes and reconstructs the trie step by step until all is done.
Trie is a Merkle Patricia Trie.

# Interfaces

NodeIterator is an iterator to traverse the trie pre-order.
NodeReader wraps all the necessary functions for accessing trie node.
Reader wraps the Node method of a backing trie store.

# Type aliases

LeafCallback is a callback type invoked when a trie operation reaches a leaf node.
NodeResolver is used for looking up trie nodes before reaching into the real persistent layer.
NodeWriteFunc is used to provide all information of a dirty node for committing so that callers can flush nodes into database with desired scheme.
SecureTrie is the old name of StateTrie.
SyncPath is a path tuple identifying a particular trie node either in a single trie (account) or a layered trie (account -> storage).