pub trait Hash:
'static
+ MaybeSerializeDeserialize
+ Debug
+ Clone
+ Eq
+ PartialEq
+ Hasher<Out = Self::Output> {
type Output: HashOutput;
// Required methods
fn ordered_trie_root(
input: Vec<Vec<u8>>,
state_version: StateVersion,
) -> Self::Output;
fn trie_root(
input: Vec<(Vec<u8>, Vec<u8>)>,
state_version: StateVersion,
) -> Self::Output;
// Provided methods
fn hash(s: &[u8]) -> Self::Output { ... }
fn hash_of<S: Encode>(s: &S) -> Self::Output { ... }
}
Expand description
Abstraction around hashing
Required Associated Types§
sourcetype Output: HashOutput
type Output: HashOutput
The hash type produced.
Required Methods§
sourcefn ordered_trie_root(
input: Vec<Vec<u8>>,
state_version: StateVersion,
) -> Self::Output
fn ordered_trie_root( input: Vec<Vec<u8>>, state_version: StateVersion, ) -> Self::Output
The ordered Patricia tree root of the given input
.
Provided Methods§
Object Safety§
This trait is not object safe.