Trait trie_db::TrieConfiguration
source · pub trait TrieConfiguration: Sized + TrieLayout {
// Provided methods
fn trie_build<DB, I, A, B>(
db: &mut DB,
input: I
) -> <Self::Hash as Hasher>::Out
where DB: HashDB<Self::Hash, DBValue>,
I: IntoIterator<Item = (A, B)>,
A: AsRef<[u8]> + Ord,
B: AsRef<[u8]> { ... }
fn trie_root<I, A, B>(input: I) -> <Self::Hash as Hasher>::Out
where I: IntoIterator<Item = (A, B)>,
A: AsRef<[u8]> + Ord,
B: AsRef<[u8]> { ... }
fn trie_root_unhashed<I, A, B>(input: I) -> Vec<u8> ⓘ
where I: IntoIterator<Item = (A, B)>,
A: AsRef<[u8]> + Ord,
B: AsRef<[u8]> { ... }
fn encode_index(input: u32) -> Vec<u8> ⓘ { ... }
fn ordered_trie_root<I, A>(input: I) -> <Self::Hash as Hasher>::Out
where I: IntoIterator<Item = A>,
A: AsRef<[u8]> { ... }
}
Expand description
This trait associates a trie definition with preferred methods. It also contains own default implementations and can be used to allow switching implementation.
Provided Methods§
sourcefn trie_build<DB, I, A, B>(db: &mut DB, input: I) -> <Self::Hash as Hasher>::Out
fn trie_build<DB, I, A, B>(db: &mut DB, input: I) -> <Self::Hash as Hasher>::Out
Operation to build a trie db from its ordered iterator over its key/values.
sourcefn trie_root<I, A, B>(input: I) -> <Self::Hash as Hasher>::Out
fn trie_root<I, A, B>(input: I) -> <Self::Hash as Hasher>::Out
Determines a trie root given its ordered contents, closed form.
sourcefn trie_root_unhashed<I, A, B>(input: I) -> Vec<u8> ⓘ
fn trie_root_unhashed<I, A, B>(input: I) -> Vec<u8> ⓘ
Determines a trie root node’s data given its ordered contents, closed form.
sourcefn encode_index(input: u32) -> Vec<u8> ⓘ
fn encode_index(input: u32) -> Vec<u8> ⓘ
Encoding of index as a key (when reusing general trie for indexed trie).
sourcefn ordered_trie_root<I, A>(input: I) -> <Self::Hash as Hasher>::Out
fn ordered_trie_root<I, A>(input: I) -> <Self::Hash as Hasher>::Out
A trie root formed from the items, with keys attached according to their
compact-encoded index (using parity-codec
crate).
Object Safety§
This trait is not object safe.