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§

source

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]>,

Operation to build a trie db from its ordered iterator over its key/values.

source

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]>,

Determines a trie root given its ordered contents, closed form.

source

fn trie_root_unhashed<I, A, B>(input: I) -> Vec<u8>
where I: IntoIterator<Item = (A, B)>, A: AsRef<[u8]> + Ord, B: AsRef<[u8]>,

Determines a trie root node’s data given its ordered contents, closed form.

source

fn encode_index(input: u32) -> Vec<u8>

Encoding of index as a key (when reusing general trie for indexed trie).

source

fn ordered_trie_root<I, A>(input: I) -> <Self::Hash as Hasher>::Out
where I: IntoIterator<Item = A>, A: AsRef<[u8]>,

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.

Implementors§