use crate::errors::*;
use crate::types::*;
use ed25519_dalek::{Signature, Verifier, VerifyingKey};
#[inline(always)]
pub fn verify(id: &AliceId, m: &[u8], s: &AliceSig) -> Result<()> {
let pk = VerifyingKey::from_bytes(&id.0).map_err(|_| AuthError::E1)?;
pk.verify(m, &Signature::from_bytes(&s.0))
.map_err(|_| AuthError::E3)
}
#[inline(always)]
pub fn verify32(id: &AliceId, c: &[u8; 32], s: &AliceSig) -> Result<()> {
verify(id, c, s)
}
#[inline(always)]
#[must_use]
pub fn ok(id: &AliceId, m: &[u8], s: &AliceSig) -> bool {
verify(id, m, s).is_ok()
}