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}