ex3-crypto 0.15.21

EX3 crypto crate.
Documentation
use ex3_node_error::{impl_error_conversion_with_kind, prelude::*, Error, ErrorKind};

/// The error type wrap SecpError
#[derive(Error, Debug, PartialEq, Eq, Clone)]
pub enum CryptoError {
    /// Invalid private key
    #[error("invalid privkey")]
    InvalidPrivKey,
    /// Invalid pubkey
    #[error("invalid pubkey")]
    InvalidPubKey,
    /// Invalid signature
    #[error("invalid signature")]
    InvalidSignature,
    /// Invalid message
    #[error("invalid message")]
    InvalidMessage,
    /// Invalid recovery_id
    #[error("invalid recovery_id")]
    InvalidRecoveryId,
    /// Invalid child number
    #[error("invalid child number")]
    InvalidChildNumber,
    /// Invalid derivation path
    #[error("invalid derivation path")]
    InvalidDerivationPath,
    /// Any error not part of this list.
    #[error("{0}")]
    Other(String),
}

impl_error_conversion_with_kind!(CryptoError, ErrorKind::Crypto, Error);