@@ -11,15 +11,15 @@ use bitcoin::Psbt;
11
11
12
12
use pyo3:: types:: PyModule ;
13
13
use pyo3:: { IntoPy , PyObject } ;
14
- use serde:: { Deserialize , Deserializer } ;
14
+ use serde:: { Deserialize , Deserializer , Serialize } ;
15
15
16
16
#[ cfg( feature = "miniscript" ) ]
17
17
use miniscript:: { Descriptor , DescriptorPublicKey } ;
18
18
use pyo3:: prelude:: PyAnyMethods ;
19
19
20
20
use crate :: error:: { Error , ErrorCode } ;
21
21
22
- #[ derive( Clone , Eq , PartialEq , Debug , Deserialize ) ]
22
+ #[ derive( Clone , Eq , PartialEq , Debug , Deserialize , Serialize ) ]
23
23
pub struct HWIExtendedPubKey {
24
24
pub xpub : Xpub ,
25
25
}
@@ -32,7 +32,7 @@ impl Deref for HWIExtendedPubKey {
32
32
}
33
33
}
34
34
35
- #[ derive( Clone , Eq , PartialEq , Debug , Deserialize ) ]
35
+ #[ derive( Clone , Eq , PartialEq , Debug , Deserialize , Serialize ) ]
36
36
pub struct HWISignature {
37
37
#[ serde( deserialize_with = "from_b64" ) ]
38
38
pub signature : Vec < u8 > ,
@@ -55,12 +55,12 @@ impl Deref for HWISignature {
55
55
}
56
56
}
57
57
58
- #[ derive( Clone , Eq , PartialEq , Debug , Deserialize ) ]
58
+ #[ derive( Clone , Eq , PartialEq , Debug , Deserialize , Serialize ) ]
59
59
pub struct HWIAddress {
60
60
pub address : Address < NetworkUnchecked > ,
61
61
}
62
62
63
- #[ derive( Clone , Eq , PartialEq , Debug , Deserialize ) ]
63
+ #[ derive( Clone , Eq , PartialEq , Debug , Deserialize , Serialize ) ]
64
64
pub struct HWIPartiallySignedTransaction {
65
65
#[ serde( deserialize_with = "deserialize_psbt" ) ]
66
66
pub psbt : Psbt ,
@@ -84,7 +84,7 @@ impl ToDescriptor for String {}
84
84
#[ cfg( feature = "miniscript" ) ]
85
85
impl ToDescriptor for Descriptor < DescriptorPublicKey > { }
86
86
87
- #[ derive( Clone , Eq , PartialEq , Debug , Deserialize ) ]
87
+ #[ derive( Clone , Eq , PartialEq , Debug , Deserialize , Serialize ) ]
88
88
pub struct HWIDescriptor < T >
89
89
where
90
90
T : ToDescriptor ,
93
93
pub receive : Vec < T > ,
94
94
}
95
95
96
- #[ derive( Clone , Eq , PartialEq , Debug , Deserialize ) ]
96
+ #[ derive( Clone , Eq , PartialEq , Debug , Deserialize , Serialize ) ]
97
97
pub struct HWIKeyPoolElement {
98
98
pub desc : String ,
99
99
pub range : Vec < u32 > ,
@@ -103,7 +103,7 @@ pub struct HWIKeyPoolElement {
103
103
pub watchonly : bool ,
104
104
}
105
105
106
- #[ derive( Clone , Eq , PartialEq , Debug , Deserialize ) ]
106
+ #[ derive( Clone , Eq , PartialEq , Debug , Deserialize , Serialize ) ]
107
107
#[ allow( non_camel_case_types) ]
108
108
pub enum HWIAddressType {
109
109
Legacy ,
@@ -138,7 +138,7 @@ impl IntoPy<PyObject> for HWIAddressType {
138
138
}
139
139
}
140
140
141
- #[ derive( Clone , Eq , PartialEq , Debug , Deserialize ) ]
141
+ #[ derive( Clone , Eq , PartialEq , Debug , Deserialize , Serialize ) ]
142
142
pub struct HWIChain ( bitcoin:: Network ) ;
143
143
144
144
impl fmt:: Display for HWIChain {
@@ -186,7 +186,7 @@ pub const TESTNET: HWIChain = HWIChain(Network::Testnet);
186
186
// Used internally to deserialize the result of `hwi enumerate`. This might
187
187
// contain an `error`, when it does, it might not contain all the fields `HWIDevice`
188
188
// is supposed to have - for this reason, they're all Option.
189
- #[ derive( Clone , Eq , PartialEq , Debug , Deserialize ) ]
189
+ #[ derive( Clone , Eq , PartialEq , Debug , Deserialize , Serialize ) ]
190
190
pub ( crate ) struct HWIDeviceInternal {
191
191
#[ serde( rename( deserialize = "type" ) ) ]
192
192
pub device_type : Option < String > ,
@@ -199,7 +199,7 @@ pub(crate) struct HWIDeviceInternal {
199
199
pub code : Option < i8 > ,
200
200
}
201
201
202
- #[ derive( Clone , Eq , PartialEq , Debug , Deserialize ) ]
202
+ #[ derive( Clone , Eq , PartialEq , Debug , Deserialize , Serialize ) ]
203
203
pub struct HWIDevice {
204
204
#[ serde( rename( deserialize = "type" ) ) ]
205
205
pub device_type : HWIDeviceType ,
@@ -238,7 +238,7 @@ impl TryFrom<HWIDeviceInternal> for HWIDevice {
238
238
}
239
239
}
240
240
241
- #[ derive( Clone , Eq , PartialEq , Debug , Deserialize ) ]
241
+ #[ derive( Clone , Eq , PartialEq , Debug , Deserialize , Serialize ) ]
242
242
pub struct HWIStatus {
243
243
pub success : bool ,
244
244
}
@@ -256,7 +256,7 @@ impl From<HWIStatus> for Result<(), Error> {
256
256
}
257
257
}
258
258
259
- #[ derive( Clone , Eq , PartialEq , Debug , Deserialize ) ]
259
+ #[ derive( Clone , Eq , PartialEq , Debug , Deserialize , Serialize ) ]
260
260
#[ serde( rename_all = "lowercase" ) ]
261
261
pub enum HWIDeviceType {
262
262
Ledger ,
0 commit comments