dat 2.4.0

DAT - Distributed Access Token
Documentation
use std::error::Error;
use strum_macros::{Display, EnumString};

#[repr(u8)]
#[derive(Debug, Display, EnumString, Clone, Copy, Eq, PartialEq)]
pub enum DatError{
    // signature
    UnknownSignatureAlgorithm,
    ParseSigningKeyError,
    ParseVerifyingKeyError,
    GenerateSigningKeyError,
    SignError,

    // crypto
    UnknownCryptoAlgorithm,
    ParseCryptoKeyError,
    EncryptError,
    DecryptError,

    // Certificate
    InvalidCertificateFormat,
    VerifyOnly,

    // manager
    SigningKeyNotExists,
    CidNotFound,
    DuplicatedCid,
    
    // Dat
    InvalidDat,
    InvalidDatCidFormat,

    // etc
    InvalidBase64Format,
    Utf8EncodeError,
    IoError,
}

impl Error for DatError {}