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, Vec<u8, Global>>,
             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, Global> 
       where I: IntoIterator<Item = (A, B)>,
             A: AsRef<[u8]> + Ord,
             B: AsRef<[u8]> { ... }
    fn encode_index(input: u32) -> Vec<u8, Global>  { ... }
    fn ordered_trie_root<I, A>(input: I) -> <Self::Hash as Hasher>::Out
       where I: IntoIterator<Item = A>,
             A: AsRef<[u8]> { ... }
}
Expand description

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.

Provided Methods§

fn trie_build<DB, I, A, B>(db: &mut DB, input: I) -> <Self::Hash as Hasher>::Outwhere DB: HashDB<Self::Hash, Vec<u8, Global>>, 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.

fn trie_root<I, A, B>(input: I) -> <Self::Hash as Hasher>::Outwhere I: IntoIterator<Item = (A, B)>, A: AsRef<[u8]> + Ord, B: AsRef<[u8]>,

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

fn trie_root_unhashed<I, A, B>(input: I) -> Vec<u8, Global> 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.

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

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

fn ordered_trie_root<I, A>(input: I) -> <Self::Hash as Hasher>::Outwhere 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).

Implementors§

source§

impl<H> TrieConfiguration for LayoutV0<H>where H: Hasher,

source§

impl<H> TrieConfiguration for LayoutV1<H>where H: Hasher,