#[macro_export]
macro_rules! fast_hash {
($bytes:expr) => {{
let (error, ptr, len) = wevm::v0::bindings::fast_hash($bytes.as_ptr(), $bytes.len());
error!(error);
core::slice::from_raw_parts(ptr, len)
}};
}
#[macro_export]
macro_rules! secure_hash {
($bytes:expr) => {{
let (error, ptr, len) = wevm::v0::bindings::secure_hash($bytes.as_ptr(), $bytes.len());
error!(error);
core::slice::from_raw_parts(ptr, len)
}};
}
#[macro_export]
macro_rules! blake2b256 {
($bytes:expr) => {{
let (error, ptr, len) = wevm::v0::bindings::blake2b256($bytes.as_ptr(), $bytes.len());
error!(error);
core::slice::from_raw_parts(ptr, len)
}};
}
#[macro_export]
macro_rules! keccak256 {
($bytes:expr) => {{
let (error, ptr, len) = wevm::v0::bindings::keccak256($bytes.as_ptr(), $bytes.len());
error!(error);
core::slice::from_raw_parts(ptr, len)
}};
}
#[macro_export]
macro_rules! sha256 {
($bytes:expr) => {{
let (error, ptr, len) = wevm::v0::bindings::sha256($bytes.as_ptr(), $bytes.len());
error!(error);
core::slice::from_raw_parts(ptr, len)
}};
}
#[macro_export]
macro_rules! sig_verify {
($message:expr, $signature:expr, $public_key: expr) => {{
let (error, result) = wevm::v0::bindings::sig_verify(
$message.as_ptr(),
$message.len(),
$signature.as_ptr(),
$signature.len(),
$public_key.as_ptr(),
$public_key.len(),
);
error!(error);
result
}};
}