use crate::prelude::*;
pub fn verify_signature<K, S, D>(key: K, signature: S, data: D) -> ExternResult<bool>
where
K: Into<AgentPubKey>,
S: Into<Signature>,
D: serde::Serialize + std::fmt::Debug,
{
HDI.with(|h| {
h.borrow().verify_signature(
VerifySignature::new(key.into(), signature.into(), data).map_err(|e| wasm_error!(e))?,
)
})
}
pub fn verify_signature_raw<K, S>(key: K, signature: S, data: Vec<u8>) -> ExternResult<bool>
where
K: Into<AgentPubKey>,
S: Into<Signature>,
{
HDI.with(|h| {
h.borrow()
.verify_signature(VerifySignature::new_raw(key.into(), signature.into(), data))
})
}