use thiserror::Error;
#[derive(Debug, Error, Clone, PartialEq, Eq)]
#[error("AES-256-GCM authentication failed: ciphertext or tag was tampered")]
pub struct TamperError;
#[derive(Debug, Error, Clone, PartialEq, Eq)]
pub enum BlsError {
#[error("invalid BLS public key bytes")]
InvalidPublicKey,
#[error("invalid BLS signature bytes")]
InvalidSignature,
}
#[derive(Debug, Error, Clone, PartialEq, Eq)]
pub enum CryptoError {
#[error(transparent)]
Tamper(#[from] TamperError),
#[error(transparent)]
Bls(#[from] BlsError),
}