dat 2.3.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
    UnknownDatSignatureAlgorithm,
    ParseDatSigningKeyError,
    ParseDatVerifyingKeyError,
    CreateDatSigningKeyError,
    DatSignatureError,

    // crypto
    UnknownCryptoAlgorithm,
    ParseCryptoKeyError,
    EncryptError,
    DecryptError,

    // Dat Certificate
    InvalidDatCertificateFormat,
    VerifyOnlyKey,
    SigningKeyNotExists,
    CidNotFound,
    DuplicateCid,

    // Dat
    InvalidDat,
    InvalidDatCidFormat,

    // etc
    InvalidBase64Format,
    Utf8EncodeError,
    IoError,
}

impl Error for DatError {}