1
- #[ cfg( feature = "backtraces" ) ]
2
- use std:: backtrace:: Backtrace ;
1
+ use crate :: BT ;
3
2
use std:: fmt:: Debug ;
4
3
use thiserror:: Error ;
5
4
@@ -8,81 +7,55 @@ pub type CryptoResult<T> = core::result::Result<T, CryptoError>;
8
7
#[ derive( Error , Debug ) ]
9
8
pub enum CryptoError {
10
9
#[ error( "Batch verify error: {msg}" ) ]
11
- BatchErr {
12
- msg : String ,
13
- #[ cfg( feature = "backtraces" ) ]
14
- backtrace : Backtrace ,
15
- } ,
10
+ BatchErr { msg : String , backtrace : BT } ,
16
11
#[ error( "Crypto error: {msg}" ) ]
17
- GenericErr {
18
- msg : String ,
19
- #[ cfg( feature = "backtraces" ) ]
20
- backtrace : Backtrace ,
21
- } ,
12
+ GenericErr { msg : String , backtrace : BT } ,
22
13
#[ error( "Invalid hash format" ) ]
23
- InvalidHashFormat {
24
- #[ cfg( feature = "backtraces" ) ]
25
- backtrace : Backtrace ,
26
- } ,
14
+ InvalidHashFormat { backtrace : BT } ,
27
15
#[ error( "Invalid public key format" ) ]
28
- InvalidPubkeyFormat {
29
- #[ cfg( feature = "backtraces" ) ]
30
- backtrace : Backtrace ,
31
- } ,
16
+ InvalidPubkeyFormat { backtrace : BT } ,
32
17
#[ error( "Invalid signature format" ) ]
33
- InvalidSignatureFormat {
34
- #[ cfg( feature = "backtraces" ) ]
35
- backtrace : Backtrace ,
36
- } ,
18
+ InvalidSignatureFormat { backtrace : BT } ,
37
19
#[ error( "Invalid recovery parameter. Supported values: 0 and 1." ) ]
38
- InvalidRecoveryParam {
39
- #[ cfg( feature = "backtraces" ) ]
40
- backtrace : Backtrace ,
41
- } ,
20
+ InvalidRecoveryParam { backtrace : BT } ,
42
21
}
43
22
44
23
impl CryptoError {
45
24
pub fn batch_err ( msg : impl Into < String > ) -> Self {
46
25
CryptoError :: BatchErr {
47
26
msg : msg. into ( ) ,
48
- #[ cfg( feature = "backtraces" ) ]
49
- backtrace : Backtrace :: capture ( ) ,
27
+ backtrace : BT :: capture ( ) ,
50
28
}
51
29
}
52
30
53
31
pub fn generic_err ( msg : impl Into < String > ) -> Self {
54
32
CryptoError :: GenericErr {
55
33
msg : msg. into ( ) ,
56
- #[ cfg( feature = "backtraces" ) ]
57
- backtrace : Backtrace :: capture ( ) ,
34
+ backtrace : BT :: capture ( ) ,
58
35
}
59
36
}
60
37
61
38
pub fn invalid_hash_format ( ) -> Self {
62
39
CryptoError :: InvalidHashFormat {
63
- #[ cfg( feature = "backtraces" ) ]
64
- backtrace : Backtrace :: capture ( ) ,
40
+ backtrace : BT :: capture ( ) ,
65
41
}
66
42
}
67
43
68
44
pub fn invalid_pubkey_format ( ) -> Self {
69
45
CryptoError :: InvalidPubkeyFormat {
70
- #[ cfg( feature = "backtraces" ) ]
71
- backtrace : Backtrace :: capture ( ) ,
46
+ backtrace : BT :: capture ( ) ,
72
47
}
73
48
}
74
49
75
50
pub fn invalid_signature_format ( ) -> Self {
76
51
CryptoError :: InvalidSignatureFormat {
77
- #[ cfg( feature = "backtraces" ) ]
78
- backtrace : Backtrace :: capture ( ) ,
52
+ backtrace : BT :: capture ( ) ,
79
53
}
80
54
}
81
55
82
56
pub fn invalid_recovery_param ( ) -> Self {
83
57
CryptoError :: InvalidRecoveryParam {
84
- #[ cfg( feature = "backtraces" ) ]
85
- backtrace : Backtrace :: capture ( ) ,
58
+ backtrace : BT :: capture ( ) ,
86
59
}
87
60
}
88
61
0 commit comments