@@ -18,32 +18,33 @@ fn test_outbound_chans_unlimited() {
18
18
let chanmon_cfgs = create_chanmon_cfgs ( 2 ) ;
19
19
let node_cfgs = create_node_cfgs ( 2 , & chanmon_cfgs) ;
20
20
let node_chanmgrs = create_node_chanmgrs ( 2 , & node_cfgs, & [ None , None ] ) ;
21
- let nodes = create_network ( 2 , & node_cfgs, & node_chanmgrs) ;
22
21
23
22
// Note that create_network connects the nodes together for us
24
-
25
- nodes[ 0 ] . node . create_channel ( nodes[ 1 ] . node . get_our_node_id ( ) , 100_000 , 0 , 42 , None , None ) . unwrap ( ) ;
26
- let mut open_channel_msg = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , nodes[ 1 ] . node. get_our_node_id( ) ) ;
23
+ let nodes = create_network ( 2 , & node_cfgs, & node_chanmgrs) ;
24
+ let node_a = nodes[ 0 ] . node . get_our_node_id ( ) ;
25
+ let node_b = nodes[ 1 ] . node . get_our_node_id ( ) ;
26
+ nodes[ 0 ] . node . create_channel ( node_b, 100_000 , 0 , 42 , None , None ) . unwrap ( ) ;
27
+ let mut open_channel_msg = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , node_b) ;
27
28
28
29
for _ in 0 ..MAX_UNFUNDED_CHANS_PER_PEER {
29
- nodes[ 1 ] . node . handle_open_channel ( nodes [ 0 ] . node . get_our_node_id ( ) , & open_channel_msg) ;
30
- get_event_msg ! ( nodes[ 1 ] , MessageSendEvent :: SendAcceptChannel , nodes [ 0 ] . node . get_our_node_id ( ) ) ;
30
+ nodes[ 1 ] . node . handle_open_channel ( node_a , & open_channel_msg) ;
31
+ get_event_msg ! ( nodes[ 1 ] , MessageSendEvent :: SendAcceptChannel , node_a ) ;
31
32
open_channel_msg. common_fields . temporary_channel_id = ChannelId :: temporary_from_entropy_source ( & nodes[ 0 ] . keys_manager ) ;
32
33
}
33
34
34
35
// Once we have MAX_UNFUNDED_CHANS_PER_PEER unfunded channels, new inbound channels will be
35
36
// rejected.
36
- nodes[ 1 ] . node . handle_open_channel ( nodes [ 0 ] . node . get_our_node_id ( ) , & open_channel_msg) ;
37
- assert_eq ! ( get_err_msg( & nodes[ 1 ] , & nodes [ 0 ] . node . get_our_node_id ( ) ) . channel_id,
37
+ nodes[ 1 ] . node . handle_open_channel ( node_a , & open_channel_msg) ;
38
+ assert_eq ! ( get_err_msg( & nodes[ 1 ] , & node_a ) . channel_id,
38
39
open_channel_msg. common_fields. temporary_channel_id) ;
39
40
40
41
// but we can still open an outbound channel.
41
- nodes[ 1 ] . node . create_channel ( nodes [ 0 ] . node . get_our_node_id ( ) , 100_000 , 0 , 42 , None , None ) . unwrap ( ) ;
42
- get_event_msg ! ( nodes[ 1 ] , MessageSendEvent :: SendOpenChannel , nodes [ 0 ] . node . get_our_node_id ( ) ) ;
42
+ nodes[ 1 ] . node . create_channel ( node_a , 100_000 , 0 , 42 , None , None ) . unwrap ( ) ;
43
+ get_event_msg ! ( nodes[ 1 ] , MessageSendEvent :: SendOpenChannel , node_a ) ;
43
44
44
45
// but even with such an outbound channel, additional inbound channels will still fail.
45
- nodes[ 1 ] . node . handle_open_channel ( nodes [ 0 ] . node . get_our_node_id ( ) , & open_channel_msg) ;
46
- assert_eq ! ( get_err_msg( & nodes[ 1 ] , & nodes [ 0 ] . node . get_our_node_id ( ) ) . channel_id,
46
+ nodes[ 1 ] . node . handle_open_channel ( node_a , & open_channel_msg) ;
47
+ assert_eq ! ( get_err_msg( & nodes[ 1 ] , & node_a ) . channel_id,
47
48
open_channel_msg. common_fields. temporary_channel_id) ;
48
49
}
49
50
@@ -60,17 +61,18 @@ fn test_0conf_limiting() {
60
61
let nodes = create_network ( 2 , & node_cfgs, & node_chanmgrs) ;
61
62
62
63
// Note that create_network connects the nodes together for us
63
-
64
- nodes[ 0 ] . node . create_channel ( nodes[ 1 ] . node . get_our_node_id ( ) , 100_000 , 0 , 42 , None , None ) . unwrap ( ) ;
65
- let mut open_channel_msg = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , nodes[ 1 ] . node. get_our_node_id( ) ) ;
64
+ let node_b = nodes[ 1 ] . node . get_our_node_id ( ) ;
65
+ nodes[ 0 ] . node . create_channel ( node_b, 100_000 , 0 , 42 , None , None ) . unwrap ( ) ;
66
+ let mut open_channel_msg = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , node_b) ;
67
+ let init_msg = & msgs:: Init {
68
+ features : nodes[ 0 ] . node . init_features ( ) , networks : None , remote_network_address : None
69
+ } ;
66
70
67
71
// First, get us up to MAX_UNFUNDED_CHANNEL_PEERS so we can test at the edge
68
72
for _ in 0 ..MAX_UNFUNDED_CHANNEL_PEERS - 1 {
69
73
let random_pk = PublicKey :: from_secret_key ( & nodes[ 0 ] . node . secp_ctx ,
70
74
& SecretKey :: from_slice ( & nodes[ 1 ] . keys_manager . get_secure_random_bytes ( ) ) . unwrap ( ) ) ;
71
- nodes[ 1 ] . node . peer_connected ( random_pk, & msgs:: Init {
72
- features : nodes[ 0 ] . node . init_features ( ) , networks : None , remote_network_address : None
73
- } , true ) . unwrap ( ) ;
75
+ nodes[ 1 ] . node . peer_connected ( random_pk, init_msg, true ) . unwrap ( ) ;
74
76
75
77
nodes[ 1 ] . node . handle_open_channel ( random_pk, & open_channel_msg) ;
76
78
let events = nodes[ 1 ] . node . get_and_clear_pending_events ( ) ;
@@ -87,9 +89,7 @@ fn test_0conf_limiting() {
87
89
// If we try to accept a channel from another peer non-0conf it will fail.
88
90
let last_random_pk = PublicKey :: from_secret_key ( & nodes[ 0 ] . node . secp_ctx ,
89
91
& SecretKey :: from_slice ( & nodes[ 1 ] . keys_manager . get_secure_random_bytes ( ) ) . unwrap ( ) ) ;
90
- nodes[ 1 ] . node . peer_connected ( last_random_pk, & msgs:: Init {
91
- features : nodes[ 0 ] . node . init_features ( ) , networks : None , remote_network_address : None
92
- } , true ) . unwrap ( ) ;
92
+ nodes[ 1 ] . node . peer_connected ( last_random_pk, init_msg, true ) . unwrap ( ) ;
93
93
nodes[ 1 ] . node . handle_open_channel ( last_random_pk, & open_channel_msg) ;
94
94
let events = nodes[ 1 ] . node . get_and_clear_pending_events ( ) ;
95
95
match events[ 0 ] {
@@ -170,15 +170,17 @@ fn do_test_manual_inbound_accept_with_override(start_cfg: UserConfig,
170
170
& [ Some ( start_cfg. clone ( ) ) , Some ( start_cfg. clone ( ) ) , Some ( mannual_accept_cfg. clone ( ) ) ] ) ;
171
171
let nodes = create_network ( 3 , & node_cfgs, & node_chanmgrs) ;
172
172
173
- nodes[ 0 ] . node . create_channel ( nodes[ 1 ] . node . get_our_node_id ( ) , 100_000 , 0 , 42 , None , None ) . unwrap ( ) ;
174
- let open_channel_msg = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , nodes[ 1 ] . node. get_our_node_id( ) ) ;
173
+ let node_a = nodes[ 0 ] . node . get_our_node_id ( ) ;
174
+ let node_b = nodes[ 1 ] . node . get_our_node_id ( ) ;
175
+ nodes[ 0 ] . node . create_channel ( node_b, 100_000 , 0 , 42 , None , None ) . unwrap ( ) ;
176
+ let open_channel_msg = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , node_b) ;
175
177
176
- nodes[ 1 ] . node . handle_open_channel ( nodes [ 0 ] . node . get_our_node_id ( ) , & open_channel_msg) ;
178
+ nodes[ 1 ] . node . handle_open_channel ( node_a , & open_channel_msg) ;
177
179
assert ! ( nodes[ 1 ] . node. get_and_clear_pending_events( ) . is_empty( ) ) ;
178
180
let msg_events = nodes[ 1 ] . node . get_and_clear_pending_msg_events ( ) ;
179
181
match & msg_events[ 0 ] {
180
182
MessageSendEvent :: HandleError { node_id, action } => {
181
- assert_eq ! ( * node_id, nodes [ 0 ] . node . get_our_node_id ( ) ) ;
183
+ assert_eq ! ( * node_id, node_a ) ;
182
184
match action {
183
185
ErrorAction :: SendErrorMessage { msg } =>
184
186
assert_eq ! ( msg. data, "No channels with anchor outputs accepted" . to_owned( ) ) ,
@@ -188,14 +190,14 @@ fn do_test_manual_inbound_accept_with_override(start_cfg: UserConfig,
188
190
_ => panic ! ( "Unexpected event" ) ,
189
191
}
190
192
191
- nodes[ 2 ] . node . handle_open_channel ( nodes [ 0 ] . node . get_our_node_id ( ) , & open_channel_msg) ;
193
+ nodes[ 2 ] . node . handle_open_channel ( node_a , & open_channel_msg) ;
192
194
let events = nodes[ 2 ] . node . get_and_clear_pending_events ( ) ;
193
195
match events[ 0 ] {
194
196
Event :: OpenChannelRequest { temporary_channel_id, .. } =>
195
- nodes[ 2 ] . node . accept_inbound_channel ( & temporary_channel_id, & nodes [ 0 ] . node . get_our_node_id ( ) , 23 , config_overrides) . unwrap ( ) ,
197
+ nodes[ 2 ] . node . accept_inbound_channel ( & temporary_channel_id, & node_a , 23 , config_overrides) . unwrap ( ) ,
196
198
_ => panic ! ( "Unexpected event" ) ,
197
199
}
198
- get_event_msg ! ( nodes[ 2 ] , MessageSendEvent :: SendAcceptChannel , nodes [ 0 ] . node . get_our_node_id ( ) )
200
+ get_event_msg ! ( nodes[ 2 ] , MessageSendEvent :: SendAcceptChannel , node_a )
199
201
}
200
202
201
203
#[ test]
@@ -291,24 +293,26 @@ fn do_test_channel_type_downgrade(initiator_cfg: UserConfig, acceptor_cfg: UserC
291
293
let nodes = create_network ( 2 , & node_cfgs, & node_chanmgrs) ;
292
294
let error_message = "Channel force-closed" ;
293
295
294
- nodes[ 0 ] . node . create_channel ( nodes[ 1 ] . node . get_our_node_id ( ) , 100_000 , 0 , 0 , None , None ) . unwrap ( ) ;
295
- let mut open_channel_msg = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , nodes[ 1 ] . node. get_our_node_id( ) ) ;
296
+ let node_a = nodes[ 0 ] . node . get_our_node_id ( ) ;
297
+ let node_b = nodes[ 1 ] . node . get_our_node_id ( ) ;
298
+ nodes[ 0 ] . node . create_channel ( node_b, 100_000 , 0 , 0 , None , None ) . unwrap ( ) ;
299
+ let mut open_channel_msg = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , node_b) ;
296
300
assert_eq ! ( open_channel_msg. common_fields. channel_type. as_ref( ) . unwrap( ) , & start_type) ;
297
301
298
302
for downgrade_type in downgrade_types {
299
- nodes[ 1 ] . node . handle_open_channel ( nodes [ 0 ] . node . get_our_node_id ( ) , & open_channel_msg) ;
303
+ nodes[ 1 ] . node . handle_open_channel ( node_a , & open_channel_msg) ;
300
304
let events = nodes[ 1 ] . node . get_and_clear_pending_events ( ) ;
301
305
match events[ 0 ] {
302
306
Event :: OpenChannelRequest { temporary_channel_id, .. } => {
303
- nodes[ 1 ] . node . force_close_broadcasting_latest_txn ( & temporary_channel_id, & nodes [ 0 ] . node . get_our_node_id ( ) , error_message. to_string ( ) ) . unwrap ( ) ;
307
+ nodes[ 1 ] . node . force_close_broadcasting_latest_txn ( & temporary_channel_id, & node_a , error_message. to_string ( ) ) . unwrap ( ) ;
304
308
}
305
309
_ => panic ! ( "Unexpected event" ) ,
306
310
}
307
311
308
- let error_msg = get_err_msg ( & nodes[ 1 ] , & nodes [ 0 ] . node . get_our_node_id ( ) ) ;
309
- nodes[ 0 ] . node . handle_error ( nodes [ 1 ] . node . get_our_node_id ( ) , & error_msg) ;
312
+ let error_msg = get_err_msg ( & nodes[ 1 ] , & node_a ) ;
313
+ nodes[ 0 ] . node . handle_error ( node_b , & error_msg) ;
310
314
311
- open_channel_msg = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , nodes [ 1 ] . node . get_our_node_id ( ) ) ;
315
+ open_channel_msg = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , node_b ) ;
312
316
let channel_type = open_channel_msg. common_fields . channel_type . as_ref ( ) . unwrap ( ) ;
313
317
assert_eq ! ( channel_type, & downgrade_type) ;
314
318
@@ -334,22 +338,25 @@ fn test_no_channel_downgrade() {
334
338
let nodes = create_network ( 2 , & node_cfgs, & node_chanmgrs) ;
335
339
let error_message = "Channel force-closed" ;
336
340
337
- nodes[ 0 ] . node . create_channel ( nodes[ 1 ] . node . get_our_node_id ( ) , 100_000 , 0 , 0 , None , None ) . unwrap ( ) ;
338
- let open_channel_msg = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , nodes[ 1 ] . node. get_our_node_id( ) ) ;
341
+ let node_a = nodes[ 0 ] . node . get_our_node_id ( ) ;
342
+ let node_b = nodes[ 1 ] . node . get_our_node_id ( ) ;
343
+
344
+ nodes[ 0 ] . node . create_channel ( node_b, 100_000 , 0 , 0 , None , None ) . unwrap ( ) ;
345
+ let open_channel_msg = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , node_b) ;
339
346
let start_type = ChannelTypeFeatures :: only_static_remote_key ( ) ;
340
347
assert_eq ! ( open_channel_msg. common_fields. channel_type. as_ref( ) . unwrap( ) , & start_type) ;
341
348
342
- nodes[ 1 ] . node . handle_open_channel ( nodes [ 0 ] . node . get_our_node_id ( ) , & open_channel_msg) ;
349
+ nodes[ 1 ] . node . handle_open_channel ( node_a , & open_channel_msg) ;
343
350
let events = nodes[ 1 ] . node . get_and_clear_pending_events ( ) ;
344
351
match events[ 0 ] {
345
352
Event :: OpenChannelRequest { temporary_channel_id, .. } => {
346
- nodes[ 1 ] . node . force_close_broadcasting_latest_txn ( & temporary_channel_id, & nodes [ 0 ] . node . get_our_node_id ( ) , error_message. to_string ( ) ) . unwrap ( ) ;
353
+ nodes[ 1 ] . node . force_close_broadcasting_latest_txn ( & temporary_channel_id, & node_a , error_message. to_string ( ) ) . unwrap ( ) ;
347
354
}
348
355
_ => panic ! ( "Unexpected event" ) ,
349
356
}
350
357
351
- let error_msg = get_err_msg ( & nodes[ 1 ] , & nodes [ 0 ] . node . get_our_node_id ( ) ) ;
352
- nodes[ 0 ] . node . handle_error ( nodes [ 1 ] . node . get_our_node_id ( ) , & error_msg) ;
358
+ let error_msg = get_err_msg ( & nodes[ 1 ] , & node_a ) ;
359
+ nodes[ 0 ] . node . handle_error ( node_b , & error_msg) ;
353
360
354
361
// Since nodes[0] could not retry the channel with a different type, it should close it.
355
362
let chan_closed_events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
0 commit comments