1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
use core::fmt::{self, Display};
#[derive(Debug, Copy, Clone, Eq, PartialEq)]
pub enum Error {
SignatureMismatch,
WeakPublicKey,
InvalidPublicKey,
NoncanonicalSignature,
}
#[cfg(std)]
impl std::error::Error for Error {}
impl Display for Error {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Error::SignatureMismatch => write!(f, "Signature doesn't verify"),
Error::WeakPublicKey => write!(f, "Weak public key"),
Error::InvalidPublicKey => write!(f, "Invalid public key"),
Error::NoncanonicalSignature => write!(f, "Non-canonical signature"),
}
}
}