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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
use crate::{PublicKeyErrors};
use hex::FromHexError;
use snafu::*;

#[derive(Debug, Snafu)]
pub enum SignatureErrors {
    #[snafu(display("Could not decode Base58 string: {} {}", string, message))]
    Base58Decode {
      message: String,
      string: String
    },
    #[snafu(display("Could not parse hex: {}", error))]
    ParseHex {
      error: FromHexError
    },

    #[snafu(display("Could not parse hex: {}", message))]
    ByteDecode{
      message: String
    },

    #[snafu(display("Invalid Point: {}", error))]
    InvalidPoint {
      error: elliptic_curve::Error
    },

    #[snafu(display("{}", error))]
    SecpError {
      error: k256::ecdsa::Error
    },

    #[snafu(display("{}", error))]
    PublicKeyError {
      error: PublicKeyErrors
    },

    #[snafu(display("Something went wrong: {}", message))]
    Other{
      message: String
    }
}