Skip to main content

yevm_misc/
lib.rs

1use crate::hex::Hex;
2
3pub mod buf;
4pub mod hex;
5pub mod http;
6
7#[cfg(not(target_arch = "wasm32"))]
8pub fn keccak256(data: &[u8]) -> Hex<32> {
9    Hex::new(keccak_asm::Keccak256::digest(data).into())
10}
11
12#[cfg(target_arch = "wasm32")]
13pub fn keccak256(data: &[u8]) -> Hex<32> {
14    use tiny_keccak::{Hasher, Keccak};
15    let mut h = Keccak::v256();
16    let mut out = [0u8; 32];
17    h.update(data);
18    h.finalize(&mut out);
19    Hex::new(out)
20}