2
2
3
3
mod common;
4
4
5
- use common:: { create_service_and_client_nodes, get_lsps_message, LSPSNodes , LiquidityNode } ;
5
+ use common:: {
6
+ create_service_and_client_nodes, create_service_client_and_payer_nodes, get_lsps_message,
7
+ LSPSNodes , LSPSNodesWithPayer , LiquidityNode ,
8
+ } ;
6
9
7
10
use lightning:: check_added_monitors;
8
11
use lightning:: events:: Event ;
@@ -61,9 +64,7 @@ use std::time::Duration;
61
64
const MAX_PENDING_REQUESTS_PER_PEER : usize = 10 ;
62
65
const MAX_TOTAL_PENDING_REQUESTS : usize = 1000 ;
63
66
64
- fn setup_test_lsps2_nodes < ' a , ' b , ' c > (
65
- nodes : Vec < Node < ' a , ' b , ' c > > ,
66
- ) -> ( LSPSNodes < ' a , ' b , ' c > , [ u8 ; 32 ] ) {
67
+ fn build_lsps2_configs ( ) -> ( [ u8 ; 32 ] , LiquidityServiceConfig , LiquidityClientConfig ) {
67
68
let promise_secret = [ 42 ; 32 ] ;
68
69
let lsps2_service_config = LSPS2ServiceConfig { promise_secret } ;
69
70
let service_config = LiquidityServiceConfig {
@@ -73,20 +74,38 @@ fn setup_test_lsps2_nodes<'a, 'b, 'c>(
73
74
lsps5_service_config : None ,
74
75
advertise_service : true ,
75
76
} ;
76
-
77
77
let lsps2_client_config = LSPS2ClientConfig :: default ( ) ;
78
78
let client_config = LiquidityClientConfig {
79
79
lsps1_client_config : None ,
80
80
lsps2_client_config : Some ( lsps2_client_config) ,
81
81
lsps5_client_config : None ,
82
82
} ;
83
- let lsps_nodes = create_service_and_client_nodes (
83
+ ( promise_secret, service_config, client_config)
84
+ }
85
+
86
+ fn setup_test_lsps2_nodes_with_payer < ' a , ' b , ' c > (
87
+ nodes : Vec < Node < ' a , ' b , ' c > > ,
88
+ ) -> ( LSPSNodesWithPayer < ' a , ' b , ' c > , [ u8 ; 32 ] ) {
89
+ let ( promise_secret, service_config, client_config) = build_lsps2_configs ( ) ;
90
+ let lsps_nodes = create_service_client_and_payer_nodes (
84
91
nodes,
85
92
service_config,
86
93
client_config,
87
94
Arc :: new ( DefaultTimeProvider ) ,
88
95
) ;
96
+ ( lsps_nodes, promise_secret)
97
+ }
89
98
99
+ fn setup_test_lsps2_nodes < ' a , ' b , ' c > (
100
+ nodes : Vec < Node < ' a , ' b , ' c > > ,
101
+ ) -> ( LSPSNodes < ' a , ' b , ' c > , [ u8 ; 32 ] ) {
102
+ let ( promise_secret, service_config, client_config) = build_lsps2_configs ( ) ;
103
+ let lsps_nodes = create_service_and_client_nodes (
104
+ nodes,
105
+ service_config,
106
+ client_config,
107
+ Arc :: new ( DefaultTimeProvider ) ,
108
+ ) ;
90
109
( lsps_nodes, promise_secret)
91
110
}
92
111
@@ -103,10 +122,6 @@ fn create_jit_invoice(
103
122
log_error ! ( node. logger, "Failed to register inbound payment: {:?}" , e) ;
104
123
} ) ?;
105
124
106
- // Add debugging here
107
- println ! ( "Creating route hint with intercept_scid: {}" , intercept_scid) ;
108
- println ! ( "Service node ID: {}" , service_node_id) ;
109
-
110
125
let route_hint = RouteHint ( vec ! [ RouteHintHop {
111
126
src_node_id: service_node_id,
112
127
short_channel_id: intercept_scid,
@@ -147,9 +162,6 @@ fn create_jit_invoice(
147
162
} )
148
163
} ) ?;
149
164
150
- // Add debugging to verify the invoice
151
- println ! ( "Created invoice with route hints: {:?}" , invoice. route_hints( ) ) ;
152
-
153
165
Ok ( invoice)
154
166
}
155
167
@@ -160,7 +172,7 @@ fn invoice_generation_flow() {
160
172
let node_chanmgrs = create_node_chanmgrs ( 2 , & node_cfgs, & [ None , None ] ) ;
161
173
let nodes = create_network ( 2 , & node_cfgs, & node_chanmgrs) ;
162
174
let ( lsps_nodes, promise_secret) = setup_test_lsps2_nodes ( nodes) ;
163
- let LSPSNodes { service_node, client_node, .. } = lsps_nodes;
175
+ let LSPSNodes { service_node, client_node } = lsps_nodes;
164
176
let service_node_id = service_node. inner . node . get_our_node_id ( ) ;
165
177
let client_node_id = client_node. inner . node . get_our_node_id ( ) ;
166
178
@@ -308,7 +320,7 @@ fn channel_open_failed() {
308
320
let node_chanmgrs = create_node_chanmgrs ( 2 , & node_cfgs, & [ None , None ] ) ;
309
321
let nodes = create_network ( 2 , & node_cfgs, & node_chanmgrs) ;
310
322
let ( lsps_nodes, _) = setup_test_lsps2_nodes ( nodes) ;
311
- let LSPSNodes { service_node, client_node, .. } = lsps_nodes;
323
+ let LSPSNodes { service_node, client_node } = lsps_nodes;
312
324
313
325
let service_node_id = service_node. inner . node . get_our_node_id ( ) ;
314
326
let client_node_id = client_node. inner . node . get_our_node_id ( ) ;
@@ -443,7 +455,7 @@ fn channel_open_failed_nonexistent_channel() {
443
455
let node_chanmgrs = create_node_chanmgrs ( 2 , & node_cfgs, & [ None , None ] ) ;
444
456
let nodes = create_network ( 2 , & node_cfgs, & node_chanmgrs) ;
445
457
let ( lsps_nodes, _) = setup_test_lsps2_nodes ( nodes) ;
446
- let LSPSNodes { service_node, client_node, .. } = lsps_nodes;
458
+ let LSPSNodes { service_node, client_node } = lsps_nodes;
447
459
448
460
let client_node_id = client_node. inner . node . get_our_node_id ( ) ;
449
461
@@ -469,7 +481,7 @@ fn channel_open_abandoned() {
469
481
let node_chanmgrs = create_node_chanmgrs ( 2 , & node_cfgs, & [ None , None ] ) ;
470
482
let nodes = create_network ( 2 , & node_cfgs, & node_chanmgrs) ;
471
483
let ( lsps_nodes, _) = setup_test_lsps2_nodes ( nodes) ;
472
- let LSPSNodes { service_node, client_node, .. } = lsps_nodes;
484
+ let LSPSNodes { service_node, client_node } = lsps_nodes;
473
485
474
486
let service_node_id = service_node. inner . node . get_our_node_id ( ) ;
475
487
let client_node_id = client_node. inner . node . get_our_node_id ( ) ;
@@ -553,7 +565,7 @@ fn channel_open_abandoned_nonexistent_channel() {
553
565
let node_chanmgrs = create_node_chanmgrs ( 2 , & node_cfgs, & [ None , None ] ) ;
554
566
let nodes = create_network ( 2 , & node_cfgs, & node_chanmgrs) ;
555
567
let ( lsps_nodes, _) = setup_test_lsps2_nodes ( nodes) ;
556
- let LSPSNodes { service_node, client_node, .. } = lsps_nodes;
568
+ let LSPSNodes { service_node, client_node } = lsps_nodes;
557
569
558
570
let client_node_id = client_node. inner . node . get_our_node_id ( ) ;
559
571
let service_handler = service_node. liquidity_manager . lsps2_service_handler ( ) . unwrap ( ) ;
@@ -578,7 +590,7 @@ fn max_pending_requests_per_peer_rejected() {
578
590
let node_chanmgrs = create_node_chanmgrs ( 2 , & node_cfgs, & [ None , None ] ) ;
579
591
let nodes = create_network ( 2 , & node_cfgs, & node_chanmgrs) ;
580
592
let ( lsps_nodes, _) = setup_test_lsps2_nodes ( nodes) ;
581
- let LSPSNodes { service_node, client_node, .. } = lsps_nodes;
593
+ let LSPSNodes { service_node, client_node } = lsps_nodes;
582
594
583
595
let service_node_id = service_node. inner . node . get_our_node_id ( ) ;
584
596
let client_node_id = client_node. inner . node . get_our_node_id ( ) ;
@@ -633,7 +645,7 @@ fn max_total_requests_buy_rejected() {
633
645
let node_chanmgrs = create_node_chanmgrs ( 2 , & node_cfgs, & [ None , None ] ) ;
634
646
let nodes = create_network ( 2 , & node_cfgs, & node_chanmgrs) ;
635
647
let ( lsps_nodes, _) = setup_test_lsps2_nodes ( nodes) ;
636
- let LSPSNodes { service_node, client_node, .. } = lsps_nodes;
648
+ let LSPSNodes { service_node, client_node } = lsps_nodes;
637
649
638
650
let service_node_id = service_node. inner . node . get_our_node_id ( ) ;
639
651
@@ -762,7 +774,7 @@ fn invalid_token_flow() {
762
774
let node_chanmgrs = create_node_chanmgrs ( 2 , & node_cfgs, & [ None , None ] ) ;
763
775
let nodes = create_network ( 2 , & node_cfgs, & node_chanmgrs) ;
764
776
let ( lsps_nodes, _) = setup_test_lsps2_nodes ( nodes) ;
765
- let LSPSNodes { service_node, client_node, .. } = lsps_nodes;
777
+ let LSPSNodes { service_node, client_node } = lsps_nodes;
766
778
767
779
let service_node_id = service_node. inner . node . get_our_node_id ( ) ;
768
780
let client_node_id = client_node. inner . node . get_our_node_id ( ) ;
@@ -841,7 +853,7 @@ fn opening_fee_params_menu_is_sorted_by_spec() {
841
853
let node_chanmgrs = create_node_chanmgrs ( 2 , & node_cfgs, & [ None , None ] ) ;
842
854
let nodes = create_network ( 2 , & node_cfgs, & node_chanmgrs) ;
843
855
let ( lsps_nodes, _) = setup_test_lsps2_nodes ( nodes) ;
844
- let LSPSNodes { service_node, client_node, .. } = lsps_nodes;
856
+ let LSPSNodes { service_node, client_node } = lsps_nodes;
845
857
let service_node_id = service_node. inner . node . get_our_node_id ( ) ;
846
858
let client_node_id = client_node. inner . node . get_our_node_id ( ) ;
847
859
@@ -926,9 +938,9 @@ fn full_lsps2_flow() {
926
938
& [ Some ( service_node_config) , Some ( client_node_config) , None ] ,
927
939
) ;
928
940
let nodes = create_network ( 3 , & node_cfgs, & node_chanmgrs) ;
929
- let ( lsps_nodes, promise_secret) = setup_test_lsps2_nodes ( nodes) ;
930
- let LSPSNodes { service_node, client_node, payer_node_optional } = lsps_nodes;
931
- let payer_node = payer_node_optional . unwrap ( ) ;
941
+ let ( lsps_nodes, promise_secret) = setup_test_lsps2_nodes_with_payer ( nodes) ;
942
+ let LSPSNodesWithPayer { service_node, client_node, payer_node } = lsps_nodes;
943
+
932
944
let payer_node_id = payer_node. node . get_our_node_id ( ) ;
933
945
let service_node_id = service_node. inner . node . get_our_node_id ( ) ;
934
946
let client_node_id = client_node. inner . node . get_our_node_id ( ) ;
@@ -1188,15 +1200,15 @@ fn full_lsps2_flow() {
1188
1200
assert ! ( events. is_empty( ) , "Expected no events from service node, got: {:?}" , events) ;
1189
1201
1190
1202
client_node. inner . node . claim_funds ( preimage. unwrap ( ) ) ;
1191
- /// TODO SIMPLIFY: put the payment_forwarded call inside a PaymentForwardedEvent
1203
+ // TODO SIMPLIFY: put the payment_forwarded call inside a PaymentForwardedEvent
1192
1204
let expected_paths: & [ & [ & lightning:: ln:: functional_test_utils:: Node < ' _ , ' _ , ' _ > ] ] =
1193
1205
& [ & [ & service_node. inner , & client_node. inner ] ] ;
1194
1206
1195
1207
let args = ClaimAlongRouteArgs :: new ( & payer_node, expected_paths, preimage. unwrap ( ) ) ;
1196
1208
let total_fee_msat = pass_claimed_payment_along_route ( args) ;
1197
1209
1198
1210
service_handler. payment_forwarded ( channel_id) . unwrap ( ) ;
1199
- ///
1211
+
1200
1212
match service_node. liquidity_manager . next_event ( ) . unwrap ( ) {
1201
1213
LiquidityEvent :: LSPS2Service ( LSPS2ServiceEvent :: BroadcastFundingTransaction {
1202
1214
counterparty_node_id,
@@ -1205,6 +1217,8 @@ fn full_lsps2_flow() {
1205
1217
} ) => {
1206
1218
assert_eq ! ( counterparty_node_id, client_node_id) ;
1207
1219
assert_eq ! ( uid, user_channel_id) ;
1220
+
1221
+ // TODO actually broadcast transaction
1208
1222
} ,
1209
1223
other => panic ! ( "Unexpected event: {:?}" , other) ,
1210
1224
}
0 commit comments