@@ -7,7 +7,6 @@ use crate::lsps0::msgs::{
7
7
LSPS0_LISTPROTOCOLS_METHOD_NAME ,
8
8
} ;
9
9
10
- #[ cfg( lsps1) ]
11
10
use crate :: lsps1:: msgs:: {
12
11
LSPS1Message , LSPS1Request , LSPS1Response , LSPS1_CREATE_ORDER_METHOD_NAME ,
13
12
LSPS1_GET_INFO_METHOD_NAME , LSPS1_GET_ORDER_METHOD_NAME ,
@@ -47,11 +46,8 @@ pub(crate) const _LSPS0_CLIENT_REJECTED_ERROR_CODE: i32 = 001;
47
46
#[ derive( Copy , Clone , Debug , PartialEq , Eq ) ]
48
47
pub ( crate ) enum LSPSMethod {
49
48
LSPS0ListProtocols ,
50
- #[ cfg( lsps1) ]
51
49
LSPS1GetInfo ,
52
- #[ cfg( lsps1) ]
53
50
LSPS1GetOrder ,
54
- #[ cfg( lsps1) ]
55
51
LSPS1CreateOrder ,
56
52
LSPS2GetInfo ,
57
53
LSPS2Buy ,
@@ -62,11 +58,8 @@ impl FromStr for LSPSMethod {
62
58
fn from_str ( s : & str ) -> Result < Self , Self :: Err > {
63
59
match s {
64
60
LSPS0_LISTPROTOCOLS_METHOD_NAME => Ok ( Self :: LSPS0ListProtocols ) ,
65
- #[ cfg( lsps1) ]
66
61
LSPS1_GET_INFO_METHOD_NAME => Ok ( Self :: LSPS1GetInfo ) ,
67
- #[ cfg( lsps1) ]
68
62
LSPS1_CREATE_ORDER_METHOD_NAME => Ok ( Self :: LSPS1CreateOrder ) ,
69
- #[ cfg( lsps1) ]
70
63
LSPS1_GET_ORDER_METHOD_NAME => Ok ( Self :: LSPS1GetOrder ) ,
71
64
LSPS2_GET_INFO_METHOD_NAME => Ok ( Self :: LSPS2GetInfo ) ,
72
65
LSPS2_BUY_METHOD_NAME => Ok ( Self :: LSPS2Buy ) ,
@@ -79,11 +72,8 @@ impl Display for LSPSMethod {
79
72
fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
80
73
let s = match self {
81
74
Self :: LSPS0ListProtocols => LSPS0_LISTPROTOCOLS_METHOD_NAME ,
82
- #[ cfg( lsps1) ]
83
75
Self :: LSPS1GetInfo => LSPS1_GET_INFO_METHOD_NAME ,
84
- #[ cfg( lsps1) ]
85
76
Self :: LSPS1CreateOrder => LSPS1_CREATE_ORDER_METHOD_NAME ,
86
- #[ cfg( lsps1) ]
87
77
Self :: LSPS1GetOrder => LSPS1_GET_ORDER_METHOD_NAME ,
88
78
Self :: LSPS2GetInfo => LSPS2_GET_INFO_METHOD_NAME ,
89
79
Self :: LSPS2Buy => LSPS2_BUY_METHOD_NAME ,
@@ -100,7 +90,6 @@ impl From<&LSPS0Request> for LSPSMethod {
100
90
}
101
91
}
102
92
103
- #[ cfg( lsps1) ]
104
93
impl From < & LSPS1Request > for LSPSMethod {
105
94
fn from ( value : & LSPS1Request ) -> Self {
106
95
match value {
@@ -216,7 +205,6 @@ pub enum LSPSMessage {
216
205
/// An LSPS0 message.
217
206
LSPS0 ( LSPS0Message ) ,
218
207
/// An LSPS1 message.
219
- #[ cfg( lsps1) ]
220
208
LSPS1 ( LSPS1Message ) ,
221
209
/// An LSPS2 message.
222
210
LSPS2 ( LSPS2Message ) ,
@@ -241,7 +229,6 @@ impl LSPSMessage {
241
229
LSPSMessage :: LSPS0 ( LSPS0Message :: Request ( request_id, request) ) => {
242
230
Some ( ( RequestId ( request_id. 0 . clone ( ) ) , request. into ( ) ) )
243
231
} ,
244
- #[ cfg( lsps1) ]
245
232
LSPSMessage :: LSPS1 ( LSPS1Message :: Request ( request_id, request) ) => {
246
233
Some ( ( RequestId ( request_id. 0 . clone ( ) ) , request. into ( ) ) )
247
234
} ,
@@ -287,7 +274,6 @@ impl Serialize for LSPSMessage {
287
274
} ,
288
275
}
289
276
} ,
290
- #[ cfg( lsps1) ]
291
277
LSPSMessage :: LSPS1 ( LSPS1Message :: Request ( request_id, request) ) => {
292
278
jsonrpc_object. serialize_field ( JSONRPC_ID_FIELD_KEY , & request_id. 0 ) ?;
293
279
jsonrpc_object
@@ -305,7 +291,6 @@ impl Serialize for LSPSMessage {
305
291
} ,
306
292
}
307
293
} ,
308
- #[ cfg( lsps1) ]
309
294
LSPSMessage :: LSPS1 ( LSPS1Message :: Response ( request_id, response) ) => {
310
295
jsonrpc_object. serialize_field ( JSONRPC_ID_FIELD_KEY , & request_id. 0 ) ?;
311
296
@@ -442,7 +427,6 @@ impl<'de, 'a> Visitor<'de> for LSPSMessageVisitor<'a> {
442
427
id,
443
428
LSPS0Request :: ListProtocols ( ListProtocolsRequest { } ) ,
444
429
) ) ) ,
445
- #[ cfg( lsps1) ]
446
430
LSPSMethod :: LSPS1GetInfo => {
447
431
let request = serde_json:: from_value ( params. unwrap_or ( json ! ( { } ) ) )
448
432
. map_err ( de:: Error :: custom) ?;
@@ -451,7 +435,6 @@ impl<'de, 'a> Visitor<'de> for LSPSMessageVisitor<'a> {
451
435
LSPS1Request :: GetInfo ( request) ,
452
436
) ) )
453
437
} ,
454
- #[ cfg( lsps1) ]
455
438
LSPSMethod :: LSPS1CreateOrder => {
456
439
let request = serde_json:: from_value ( params. unwrap_or ( json ! ( { } ) ) )
457
440
. map_err ( de:: Error :: custom) ?;
@@ -460,7 +443,6 @@ impl<'de, 'a> Visitor<'de> for LSPSMessageVisitor<'a> {
460
443
LSPS1Request :: CreateOrder ( request) ,
461
444
) ) )
462
445
} ,
463
- #[ cfg( lsps1) ]
464
446
LSPSMethod :: LSPS1GetOrder => {
465
447
let request = serde_json:: from_value ( params. unwrap_or ( json ! ( { } ) ) )
466
448
. map_err ( de:: Error :: custom) ?;
@@ -502,7 +484,6 @@ impl<'de, 'a> Visitor<'de> for LSPSMessageVisitor<'a> {
502
484
Err ( de:: Error :: custom ( "Received invalid JSON-RPC object: one of method, result, or error required" ) )
503
485
}
504
486
} ,
505
- #[ cfg( lsps1) ]
506
487
LSPSMethod :: LSPS1GetInfo => {
507
488
if let Some ( error) = error {
508
489
Ok ( LSPSMessage :: LSPS1 ( LSPS1Message :: Response (
@@ -520,7 +501,6 @@ impl<'de, 'a> Visitor<'de> for LSPSMessageVisitor<'a> {
520
501
Err ( de:: Error :: custom ( "Received invalid JSON-RPC object: one of method, result, or error required" ) )
521
502
}
522
503
} ,
523
- #[ cfg( lsps1) ]
524
504
LSPSMethod :: LSPS1CreateOrder => {
525
505
if let Some ( error) = error {
526
506
Ok ( LSPSMessage :: LSPS1 ( LSPS1Message :: Response (
@@ -538,7 +518,6 @@ impl<'de, 'a> Visitor<'de> for LSPSMessageVisitor<'a> {
538
518
Err ( de:: Error :: custom ( "Received invalid JSON-RPC object: one of method, result, or error required" ) )
539
519
}
540
520
} ,
541
- #[ cfg( lsps1) ]
542
521
LSPSMethod :: LSPS1GetOrder => {
543
522
if let Some ( error) = error {
544
523
Ok ( LSPSMessage :: LSPS1 ( LSPS1Message :: Response (
@@ -654,7 +633,63 @@ pub(crate) mod string_amount_option {
654
633
}
655
634
}
656
635
657
- #[ cfg( lsps1) ]
636
+ pub ( crate ) mod unchecked_address {
637
+ use crate :: prelude:: { String , ToString } ;
638
+ use bitcoin:: Address ;
639
+ use core:: str:: FromStr ;
640
+ use serde:: de:: Unexpected ;
641
+ use serde:: { Deserialize , Deserializer , Serializer } ;
642
+
643
+ pub ( crate ) fn serialize < S > ( x : & Address , s : S ) -> Result < S :: Ok , S :: Error >
644
+ where
645
+ S : Serializer ,
646
+ {
647
+ s. serialize_str ( & x. to_string ( ) )
648
+ }
649
+
650
+ pub ( crate ) fn deserialize < ' de , D > ( deserializer : D ) -> Result < Address , D :: Error >
651
+ where
652
+ D : Deserializer < ' de > ,
653
+ {
654
+ let buf = String :: deserialize ( deserializer) ?;
655
+
656
+ let parsed_addr = Address :: from_str ( & buf) . map_err ( |_| {
657
+ serde:: de:: Error :: invalid_value ( Unexpected :: Str ( & buf) , & "invalid address string" )
658
+ } ) ?;
659
+ Ok ( parsed_addr. assume_checked ( ) )
660
+ }
661
+ }
662
+
663
+ pub ( crate ) mod unchecked_address_option {
664
+ use crate :: prelude:: { String , ToString } ;
665
+ use bitcoin:: Address ;
666
+ use core:: str:: FromStr ;
667
+ use serde:: de:: Unexpected ;
668
+ use serde:: { Deserialize , Deserializer , Serialize , Serializer } ;
669
+
670
+ pub ( crate ) fn serialize < S > ( x : & Option < Address > , s : S ) -> Result < S :: Ok , S :: Error >
671
+ where
672
+ S : Serializer ,
673
+ {
674
+ let v = x. as_ref ( ) . map ( |v| v. to_string ( ) ) ;
675
+ Option :: < String > :: serialize ( & v, s)
676
+ }
677
+
678
+ pub ( crate ) fn deserialize < ' de , D > ( deserializer : D ) -> Result < Option < bitcoin:: Address > , D :: Error >
679
+ where
680
+ D : Deserializer < ' de > ,
681
+ {
682
+ if let Some ( buf) = Option :: < String > :: deserialize ( deserializer) ? {
683
+ let val = Address :: from_str ( & buf) . map_err ( |_| {
684
+ serde:: de:: Error :: invalid_value ( Unexpected :: Str ( & buf) , & "invalid address string" )
685
+ } ) ?;
686
+ Ok ( Some ( val. assume_checked ( ) ) )
687
+ } else {
688
+ Ok ( None )
689
+ }
690
+ }
691
+ }
692
+
658
693
pub ( crate ) mod u32_fee_rate {
659
694
use bitcoin:: FeeRate ;
660
695
use serde:: { Deserialize , Deserializer , Serializer } ;
0 commit comments