pub trait HashT: 'static + MaybeSerializeDeserialize + Debug + Clone + Eq + PartialEq<Self> + Hasher<Out = Self::Output> {
    type Output: Member + MaybeSerializeDeserialize + Debug + Hash + AsRef<[u8]> + AsMut<[u8]> + Copy + Default + Encode + Decode + MaxEncodedLen + TypeInfo;

    // Required methods
    fn ordered_trie_root(
        input: Vec<Vec<u8, Global>, Global>,
        state_version: StateVersion
    ) -> Self::Output;
    fn trie_root(
        input: Vec<(Vec<u8, Global>, Vec<u8, Global>), Global>,
        state_version: StateVersion
    ) -> Self::Output;

    // Provided methods
    fn hash(s: &[u8]) -> Self::Output { ... }
    fn hash_of<S>(s: &S) -> Self::Output
       where S: Encode { ... }
}
Expand description

Abstraction around hashing

Required Associated Types§

Required Methods§

source

fn ordered_trie_root( input: Vec<Vec<u8, Global>, Global>, state_version: StateVersion ) -> Self::Output

The ordered Patricia tree root of the given input.

source

fn trie_root( input: Vec<(Vec<u8, Global>, Vec<u8, Global>), Global>, state_version: StateVersion ) -> Self::Output

The Patricia tree root of the given mapping.

Provided Methods§

source

fn hash(s: &[u8]) -> Self::Output

Produce the hash of some byte-slice.

source

fn hash_of<S>(s: &S) -> Self::Outputwhere S: Encode,

Produce the hash of some codec-encodable value.

Implementors§