1#[derive(Debug, thiserror::Error)]
7pub enum Error {
8 #[error("key generation failed")]
10 KeyGeneration,
11 #[error("signing failed")]
13 Signing,
14 #[error("verification failed")]
16 VerificationFailed,
17 #[error("invalid key length: expected {expected}, got {got}")]
19 InvalidKeyLength {
20 expected: usize,
22 got: usize,
24 },
25 #[error("invalid signature length: expected {expected}, got {got}")]
27 InvalidSignatureLength {
28 expected: usize,
30 got: usize,
32 },
33 #[error("invalid seed length: expected {expected}, got {got}")]
35 InvalidSeedLength {
36 expected: usize,
38 got: usize,
40 },
41}
42
43impl From<Error> for signature::Error {
44 fn from(e: Error) -> Self {
45 signature::Error::from_source(e.to_string())
46 }
47}
48
49pub type Result<T> = core::result::Result<T, Error>;