fuel_merkle/common/
hash.rs

1use super::Bytes32;
2
3pub fn sum<T: AsRef<[u8]>>(data: T) -> Bytes32 {
4    use digest::Digest;
5    let mut hash = sha2::Sha256::new();
6    hash.update(data.as_ref());
7    hash.finalize().into()
8}
9
10pub fn sum_iter<I: IntoIterator<Item = T>, T: AsRef<[u8]>>(iterator: I) -> Bytes32 {
11    use digest::Digest;
12    let mut hash = sha2::Sha256::new();
13    for data in iterator {
14        hash.update(data.as_ref());
15    }
16    hash.finalize().into()
17}