light_merkle_tree/hasher/
keccak.rs

1use anchor_lang::solana_program::keccak::{hash, hashv};
2
3use crate::{Hash, Hasher};
4
5#[derive(Clone, Copy)] // To allow using with zero copy Solana accounts.
6pub struct Keccak;
7
8impl Hasher for Keccak {
9    fn hash(val: &[u8]) -> Hash {
10        hash(val).to_bytes()
11    }
12
13    fn hashv(vals: &[&[u8]]) -> Hash {
14        hashv(vals).to_bytes()
15    }
16}