xet_core_structures/data_structures/mod.rs
1use crate::merklehash::MerkleHash;
2pub use crate::merklehash::passthrough_hasher::{U64DirectHasher, U64HashExtractable};
3pub use crate::merklehash::passthrough_hashmap::PassThroughHashMap;
4
5/// A HashMap specialized for `MerkleHash` keys using passthrough hashing.
6///
7/// This is a type alias for `PassThroughHashMap<MerkleHash, Value>`.
8pub type MerkleHashMap<Value> = PassThroughHashMap<MerkleHash, Value>;
9
10/// A HashMap specialized for `u64` keys using passthrough hashing.
11///
12/// This is useful when the key is already a truncated hash value (e.g., the first 8 bytes
13/// of a larger hash), and we want to avoid re-hashing.
14pub type TruncatedMerkleHashMap<Value> = PassThroughHashMap<u64, Value>;