@@ -239,18 +239,31 @@ fn format_keys(keys: &Keys) -> String {
239239 format ! ( "sk: {}, pk: {}" , keys. 0 . display_secret( ) , keys. 1 , )
240240}
241241
242- #[ derive( Clone , Debug , Display , NetworkDecode , NetworkEncode ) ]
242+ #[ cfg_attr( feature = "serde" , serde_as) ]
243+ #[ derive( Clone , Debug , Display , Eq , PartialEq , NetworkDecode , NetworkEncode ) ]
244+ #[ cfg_attr(
245+ feature = "serde" ,
246+ derive( Serialize , Deserialize ) ,
247+ serde( crate = "serde_crate" )
248+ ) ]
243249pub enum FundingInfo {
244- #[ display( "bitcoin(..) " ) ]
250+ #[ display( "{0} " ) ]
245251 Bitcoin ( BitcoinFundingInfo ) ,
246- #[ display( "monero(..) " ) ]
252+ #[ display( "{0} " ) ]
247253 Monero ( MoneroFundingInfo ) ,
248254}
249255
250- #[ derive( Clone , Debug , NetworkDecode , NetworkEncode ) ]
256+ #[ cfg_attr( feature = "serde" , serde_as) ]
257+ #[ derive( Clone , Debug , Eq , PartialEq , NetworkDecode , NetworkEncode ) ]
258+ #[ cfg_attr(
259+ feature = "serde" ,
260+ derive( Serialize , Deserialize ) ,
261+ serde( crate = "serde_crate" )
262+ ) ]
251263pub struct BitcoinFundingInfo {
252264 pub swap_id : SwapId ,
253265 pub address : bitcoin:: Address ,
266+ #[ serde( with = "bitcoin::util::amount::serde::as_btc" ) ]
254267 pub amount : bitcoin:: Amount ,
255268}
256269
@@ -277,9 +290,16 @@ impl fmt::Display for BitcoinFundingInfo {
277290 }
278291}
279292
280- #[ derive( Clone , Debug , NetworkEncode , NetworkDecode ) ]
293+ #[ cfg_attr( feature = "serde" , serde_as) ]
294+ #[ derive( Clone , Debug , Eq , PartialEq , NetworkEncode , NetworkDecode ) ]
295+ #[ cfg_attr(
296+ feature = "serde" ,
297+ derive( Serialize , Deserialize ) ,
298+ serde( crate = "serde_crate" )
299+ ) ]
281300pub struct MoneroFundingInfo {
282301 pub swap_id : SwapId ,
302+ #[ serde( with = "monero::util::amount::serde::as_xmr" ) ]
283303 pub amount : monero:: Amount ,
284304 pub address : monero:: Address ,
285305}
0 commit comments