use std::error::Error;
use strum_macros::{Display, EnumString};
#[repr(u8)]
#[derive(Debug, Display, EnumString, Clone, Copy, Eq, PartialEq)]
pub enum DatError{
InvalidCertificateFormat,
UnknownSignatureAlgorithm,
UnknownCryptoAlgorithm,
InvalidSignatureKey,
InvalidCryptoKey,
GenerateSigningKeyError,
VerifyOnlyCertificate,
EncryptError,
DecryptError,
SignError,
CidNotFound,
SigningKeyNotExists,
DuplicatedCid,
InvalidBase64Format,
Utf8EncodeError,
IoError,
InvalidDat,
}
impl DatError {
#[inline] pub fn is_critical(&self) -> bool {
use DatError::*;
match self {
InvalidDat => false,
_ => true,
}
}
}
impl Error for DatError {}