use Error;
/// Hash functions used to build and verify the optional Merkle tree over a RAF file.
///
/// A file can be associated with a Merkle tree so that the integrity of the
/// whole file can be checked against a single commitment. Implement this trait
/// to plug in a hash function of your choice. Each method writes exactly
/// [`hash_len`](MerkleHasher::hash_len) bytes into `out`. Domain-separation
/// parameters (`level`, `node_idx`, `chunk_idx`) are provided so that leaves,
/// internal nodes, and empty subtrees hash distinctly.