1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
use crate::types::H256; pub trait CryptoApi { fn sha256(&self, data: &[u8]) -> H256; fn keccak256(&self, data: &[u8]) -> H256; fn verify_bls(&self, key: &[u8], message: &[u8], signature: &[u8]) -> bool; fn verify_ed25519(&self, key: &[u8], message: &[u8], signature: &[u8]) -> bool; /// Note: the signature is minimum 2 bytes in length, /// the second byte encodes the length of the remaining signature bytes. fn verify_secp256k1(&self, key: &[u8], message: &[u8], signature: &[u8]) -> bool; }