@@ -42,7 +42,10 @@ pub fn mock_backend_with_balances(
42
42
/// trims off zeros for the reverse operation.
43
43
/// This is not really smart, but allows us to see a difference (and consistent length for canonical adddresses).
44
44
#[ derive( Copy , Clone ) ]
45
- pub enum MockApi {
45
+ pub struct MockApi ( MockApiImpl ) ;
46
+
47
+ #[ derive( Copy , Clone ) ]
48
+ enum MockApiImpl {
46
49
/// With this variant, all calls to the API fail with BackendError::Unknown
47
50
/// containing the given message
48
51
Error ( & ' static str ) ,
@@ -55,7 +58,7 @@ pub enum MockApi {
55
58
56
59
impl MockApi {
57
60
pub fn new_failing ( backend_error : & ' static str ) -> Self {
58
- MockApi :: Error ( backend_error)
61
+ Self ( MockApiImpl :: Error ( backend_error) )
59
62
}
60
63
61
64
/// Returns [MockApi] with Bech32 prefix set to provided value.
@@ -74,9 +77,9 @@ impl MockApi {
74
77
/// assert_eq!(addr.as_str(), "juno1h34lmpywh4upnjdg90cjf4j70aee6z8qqfspugamjp42e4q28kqsksmtyp");
75
78
/// ```
76
79
pub fn with_prefix ( self , prefix : & ' static str ) -> Self {
77
- Self :: Bech32 {
80
+ Self ( MockApiImpl :: Bech32 {
78
81
bech32_prefix : prefix,
79
- }
82
+ } )
80
83
}
81
84
82
85
/// Returns an address built from provided input string.
@@ -100,9 +103,9 @@ impl MockApi {
100
103
///
101
104
pub fn addr_make ( & self , input : & str ) -> String {
102
105
// handle error case
103
- let bech32_prefix = match self {
104
- MockApi :: Error ( e) => panic ! ( "Generating address failed: {e}" ) ,
105
- MockApi :: Bech32 { bech32_prefix } => * bech32_prefix,
106
+ let bech32_prefix = match self . 0 {
107
+ MockApiImpl :: Error ( e) => panic ! ( "Generating address failed: {e}" ) ,
108
+ MockApiImpl :: Bech32 { bech32_prefix } => bech32_prefix,
106
109
} ;
107
110
108
111
let digest = Sha256 :: digest ( input) . to_vec ( ) ;
@@ -115,9 +118,9 @@ impl MockApi {
115
118
116
119
impl Default for MockApi {
117
120
fn default ( ) -> Self {
118
- MockApi :: Bech32 {
121
+ Self ( MockApiImpl :: Bech32 {
119
122
bech32_prefix : BECH32_PREFIX ,
120
- }
123
+ } )
121
124
}
122
125
}
123
126
@@ -126,9 +129,9 @@ impl BackendApi for MockApi {
126
129
let gas_info = GasInfo :: with_cost ( GAS_COST_CANONICALIZE ) ;
127
130
128
131
// handle error case
129
- let bech32_prefix = match self {
130
- MockApi :: Error ( e) => return ( Err ( BackendError :: unknown ( * e) ) , gas_info) ,
131
- MockApi :: Bech32 { bech32_prefix } => * bech32_prefix,
132
+ let bech32_prefix = match self . 0 {
133
+ MockApiImpl :: Error ( e) => return ( Err ( BackendError :: unknown ( e) ) , gas_info) ,
134
+ MockApiImpl :: Bech32 { bech32_prefix } => bech32_prefix,
132
135
} ;
133
136
134
137
match decode ( input) {
@@ -157,9 +160,9 @@ impl BackendApi for MockApi {
157
160
let gas_info = GasInfo :: with_cost ( GAS_COST_HUMANIZE ) ;
158
161
159
162
// handle error case
160
- let bech32_prefix = match self {
161
- MockApi :: Error ( e) => return ( Err ( BackendError :: unknown ( * e) ) , gas_info) ,
162
- MockApi :: Bech32 { bech32_prefix } => * bech32_prefix,
163
+ let bech32_prefix = match self . 0 {
164
+ MockApiImpl :: Error ( e) => return ( Err ( BackendError :: unknown ( e) ) , gas_info) ,
165
+ MockApiImpl :: Bech32 { bech32_prefix } => bech32_prefix,
163
166
} ;
164
167
165
168
try_br ! ( ( validate_length( canonical) , gas_info) ) ;
0 commit comments