[][src]Crate sp_trie

Utility functions to interact with Substrate's Base-16 Modified Merkle Patricia tree ("trie").

Modules

nibble_ops

Various re-exports from the trie-db crate. Utility methods to work on radix 16 nibble.

trie_types

This module is for non generic definition of trie type. Only the Hasher trait is generic in this case.

Structs

KeySpacedDB

HashDB implementation that append a encoded prefix (unique id bytes) in addition to the prefix of every key value.

KeySpacedDBMut

HashDBMut implementation that append a encoded prefix (unique id bytes) in addition to the prefix of every key value.

Layout

substrate trie layout

NodeCodec

Concrete implementation of a NodeCodec with Parity Codec encoding, generic over the Hasher

Recorder

Various re-exports from the trie-db crate. Records trie nodes as they pass it.

TrieStream

Codec-flavored TrieStream.

Enums

Error

Error for trie node decoding.

Statics

EMPTY_PREFIX

Various re-exports from the hash-db crate. An empty prefix constant. Can be use when the prefix is not use internally or for root nodes.

Traits

AsHashDB

Reexport from hash_db, with genericity set for Hasher trait.

HashDBT

Various re-exports from the hash-db crate. Trait modelling datastore keyed by a hash defined by the Hasher.

KeyFunction

Various re-exports from the memory-db crate.

Query

Various re-exports from the trie-db crate. Description of what kind of query will be made to the trie.

Trie

Various re-exports from the trie-db crate. A key-value datastore implemented as a database-backed modified Merkle tree.

TrieConfiguration

Various re-exports from the trie-db crate. This trait associates a trie definition with preferred methods. It also contains own default implementations and can be used to allow switching implementation.

TrieLayout

Various re-exports from the trie-db crate. Trait with definition of trie layout. Contains all associated trait needed for a trie definition or implementation.

TrieMut

Various re-exports from the trie-db crate. A key-value datastore implemented as a database-backed modified Merkle tree.

Functions

child_delta_trie_root

Determine a child trie root given a hash DB and delta values. H is the default hasher, but a generic implementation may ignore this type parameter and use other hashers.

child_trie_root

Determine a child trie root given its ordered contents, closed form. H is the default hasher, but a generic implementation may ignore this type parameter and use other hashers.

default_child_trie_root

Determine the default child trie root.

delta_trie_root

Determine a trie root given a hash DB and delta values.

for_keys_in_child_trie

Call f for all keys in a child trie.

prefixed_key

Derive a database key from hash value of the node (key) and the node prefix.

read_child_trie_value

Read a value from the child trie.

read_child_trie_value_with

Read a value from the child trie with given query.

read_trie_value

Read a value from the trie.

read_trie_value_with

Read a value from the trie with given Query.

record_all_keys

Record all keys for a given root.

Type Definitions

CError

Various re-exports from the trie-db crate. Alias accessor to NodeCodec associated Error type from a TrieLayout.

DBValue

Various re-exports from the trie-db crate. Database value

GenericMemoryDB

Reexport from hash_db, with genericity set for Hasher trait.

HashDB

Reexport from hash_db, with genericity set for Hasher trait.

Lookup

Querying interface, as in trie_db but less generic.

MemoryDB

Reexport from hash_db, with genericity set for Hasher trait. This uses the KeyFunction for prefixing keys internally (avoiding This uses a noops KeyFunction (key addressing must be hashed or using an encoding scheme that avoid key conflict).

PlainDB

Reexport from hash_db, with genericity set for key only.

PrefixedMemoryDB

Reexport from hash_db, with genericity set for Hasher trait. This uses a KeyFunction for prefixing keys internally (avoiding key conflict for non random keys).

TrieDB

Persistent trie database read-access interface for the a given hasher.

TrieDBMut

Persistent trie database write-access interface for the a given hasher.

TrieError

TrieDB error over TrieConfiguration trait.

TrieHash

Hash type for a trie layout.