Skip to content

Commit e23102f

Browse files
committed
Add networks TLV to Init's TLV stream
This was a fairly old introduction to the spec to allow nodes to indicate to their peers what chains they are interested in (i.e. will open channels and gossip for). We don't do any of the handling of this message in this commit and leave that to the very next commit, so the behaviour is effectively the same (ignore networks preference).
1 parent fb140b5 commit e23102f

File tree

15 files changed

+262
-89
lines changed

15 files changed

+262
-89
lines changed

fuzz/src/chanmon_consistency.rs

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -474,8 +474,12 @@ pub fn do_test<Out: Output>(data: &[u8], underlying_out: Out) {
474474
let mut channel_txn = Vec::new();
475475
macro_rules! make_channel {
476476
($source: expr, $dest: expr, $chan_id: expr) => { {
477-
$source.peer_connected(&$dest.get_our_node_id(), &Init { features: $dest.init_features(), remote_network_address: None }, true).unwrap();
478-
$dest.peer_connected(&$source.get_our_node_id(), &Init { features: $source.init_features(), remote_network_address: None }, false).unwrap();
477+
$source.peer_connected(&$dest.get_our_node_id(), &Init {
478+
features: $dest.init_features(), networks: None, remote_network_address: None
479+
}, true).unwrap();
480+
$dest.peer_connected(&$source.get_our_node_id(), &Init {
481+
features: $source.init_features(), networks: None, remote_network_address: None
482+
}, false).unwrap();
479483

480484
$source.create_channel($dest.get_our_node_id(), 100_000, 42, 0, None).unwrap();
481485
let open_channel = {
@@ -1006,15 +1010,23 @@ pub fn do_test<Out: Output>(data: &[u8], underlying_out: Out) {
10061010
},
10071011
0x0e => {
10081012
if chan_a_disconnected {
1009-
nodes[0].peer_connected(&nodes[1].get_our_node_id(), &Init { features: nodes[1].init_features(), remote_network_address: None }, true).unwrap();
1010-
nodes[1].peer_connected(&nodes[0].get_our_node_id(), &Init { features: nodes[0].init_features(), remote_network_address: None }, false).unwrap();
1013+
nodes[0].peer_connected(&nodes[1].get_our_node_id(), &Init {
1014+
features: nodes[1].init_features(), networks: None, remote_network_address: None
1015+
}, true).unwrap();
1016+
nodes[1].peer_connected(&nodes[0].get_our_node_id(), &Init {
1017+
features: nodes[0].init_features(), networks: None, remote_network_address: None
1018+
}, false).unwrap();
10111019
chan_a_disconnected = false;
10121020
}
10131021
},
10141022
0x0f => {
10151023
if chan_b_disconnected {
1016-
nodes[1].peer_connected(&nodes[2].get_our_node_id(), &Init { features: nodes[2].init_features(), remote_network_address: None }, true).unwrap();
1017-
nodes[2].peer_connected(&nodes[1].get_our_node_id(), &Init { features: nodes[1].init_features(), remote_network_address: None }, false).unwrap();
1024+
nodes[1].peer_connected(&nodes[2].get_our_node_id(), &Init {
1025+
features: nodes[2].init_features(), networks: None, remote_network_address: None
1026+
}, true).unwrap();
1027+
nodes[2].peer_connected(&nodes[1].get_our_node_id(), &Init {
1028+
features: nodes[1].init_features(), networks: None, remote_network_address: None
1029+
}, false).unwrap();
10181030
chan_b_disconnected = false;
10191031
}
10201032
},
@@ -1209,13 +1221,21 @@ pub fn do_test<Out: Output>(data: &[u8], underlying_out: Out) {
12091221

12101222
// Next, make sure peers are all connected to each other
12111223
if chan_a_disconnected {
1212-
nodes[0].peer_connected(&nodes[1].get_our_node_id(), &Init { features: nodes[1].init_features(), remote_network_address: None }, true).unwrap();
1213-
nodes[1].peer_connected(&nodes[0].get_our_node_id(), &Init { features: nodes[0].init_features(), remote_network_address: None }, false).unwrap();
1224+
nodes[0].peer_connected(&nodes[1].get_our_node_id(), &Init {
1225+
features: nodes[1].init_features(), networks: None, remote_network_address: None
1226+
}, true).unwrap();
1227+
nodes[1].peer_connected(&nodes[0].get_our_node_id(), &Init {
1228+
features: nodes[0].init_features(), networks: None, remote_network_address: None
1229+
}, false).unwrap();
12141230
chan_a_disconnected = false;
12151231
}
12161232
if chan_b_disconnected {
1217-
nodes[1].peer_connected(&nodes[2].get_our_node_id(), &Init { features: nodes[2].init_features(), remote_network_address: None }, true).unwrap();
1218-
nodes[2].peer_connected(&nodes[1].get_our_node_id(), &Init { features: nodes[1].init_features(), remote_network_address: None }, false).unwrap();
1233+
nodes[1].peer_connected(&nodes[2].get_our_node_id(), &Init {
1234+
features: nodes[2].init_features(), networks: None, remote_network_address: None
1235+
}, true).unwrap();
1236+
nodes[2].peer_connected(&nodes[1].get_our_node_id(), &Init {
1237+
features: nodes[1].init_features(), networks: None, remote_network_address: None
1238+
}, false).unwrap();
12191239
chan_b_disconnected = false;
12201240
}
12211241

lightning-background-processor/src/lib.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1157,8 +1157,12 @@ mod tests {
11571157

11581158
for i in 0..num_nodes {
11591159
for j in (i+1)..num_nodes {
1160-
nodes[i].node.peer_connected(&nodes[j].node.get_our_node_id(), &Init { features: nodes[j].node.init_features(), remote_network_address: None }, true).unwrap();
1161-
nodes[j].node.peer_connected(&nodes[i].node.get_our_node_id(), &Init { features: nodes[i].node.init_features(), remote_network_address: None }, false).unwrap();
1160+
nodes[i].node.peer_connected(&nodes[j].node.get_our_node_id(), &Init {
1161+
features: nodes[j].node.init_features(), networks: None, remote_network_address: None
1162+
}, true).unwrap();
1163+
nodes[j].node.peer_connected(&nodes[i].node.get_our_node_id(), &Init {
1164+
features: nodes[i].node.init_features(), networks: None, remote_network_address: None
1165+
}, false).unwrap();
11621166
}
11631167
}
11641168

lightning/src/ln/chanmon_update_fail_tests.rs

Lines changed: 54 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -350,10 +350,14 @@ fn do_test_monitor_temporary_update_fail(disconnect_count: usize) {
350350
nodes[0].node.peer_disconnected(&nodes[1].node.get_our_node_id());
351351
nodes[1].node.peer_disconnected(&nodes[0].node.get_our_node_id());
352352

353-
nodes[0].node.peer_connected(&nodes[1].node.get_our_node_id(), &msgs::Init { features: nodes[1].node.init_features(), remote_network_address: None }, true).unwrap();
353+
nodes[0].node.peer_connected(&nodes[1].node.get_our_node_id(), &msgs::Init {
354+
features: nodes[1].node.init_features(), networks: None, remote_network_address: None
355+
}, true).unwrap();
354356
let reestablish_1 = get_chan_reestablish_msgs!(nodes[0], nodes[1]);
355357
assert_eq!(reestablish_1.len(), 1);
356-
nodes[1].node.peer_connected(&nodes[0].node.get_our_node_id(), &msgs::Init { features: nodes[0].node.init_features(), remote_network_address: None }, false).unwrap();
358+
nodes[1].node.peer_connected(&nodes[0].node.get_our_node_id(), &msgs::Init {
359+
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
360+
}, false).unwrap();
357361
let reestablish_2 = get_chan_reestablish_msgs!(nodes[1], nodes[0]);
358362
assert_eq!(reestablish_2.len(), 1);
359363

@@ -372,10 +376,14 @@ fn do_test_monitor_temporary_update_fail(disconnect_count: usize) {
372376
assert!(nodes[0].node.get_and_clear_pending_events().is_empty());
373377
assert!(nodes[0].node.get_and_clear_pending_msg_events().is_empty());
374378

375-
nodes[0].node.peer_connected(&nodes[1].node.get_our_node_id(), &msgs::Init { features: nodes[1].node.init_features(), remote_network_address: None }, true).unwrap();
379+
nodes[0].node.peer_connected(&nodes[1].node.get_our_node_id(), &msgs::Init {
380+
features: nodes[1].node.init_features(), networks: None, remote_network_address: None
381+
}, true).unwrap();
376382
let reestablish_1 = get_chan_reestablish_msgs!(nodes[0], nodes[1]);
377383
assert_eq!(reestablish_1.len(), 1);
378-
nodes[1].node.peer_connected(&nodes[0].node.get_our_node_id(), &msgs::Init { features: nodes[0].node.init_features(), remote_network_address: None }, false).unwrap();
384+
nodes[1].node.peer_connected(&nodes[0].node.get_our_node_id(), &msgs::Init {
385+
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
386+
}, false).unwrap();
379387
let reestablish_2 = get_chan_reestablish_msgs!(nodes[1], nodes[0]);
380388
assert_eq!(reestablish_2.len(), 1);
381389

@@ -1136,8 +1144,12 @@ fn test_monitor_update_fail_reestablish() {
11361144
commitment_signed_dance!(nodes[1], nodes[2], updates.commitment_signed, false);
11371145

11381146
chanmon_cfgs[1].persister.set_update_ret(ChannelMonitorUpdateStatus::InProgress);
1139-
nodes[0].node.peer_connected(&nodes[1].node.get_our_node_id(), &msgs::Init { features: nodes[1].node.init_features(), remote_network_address: None }, true).unwrap();
1140-
nodes[1].node.peer_connected(&nodes[0].node.get_our_node_id(), &msgs::Init { features: nodes[0].node.init_features(), remote_network_address: None }, false).unwrap();
1147+
nodes[0].node.peer_connected(&nodes[1].node.get_our_node_id(), &msgs::Init {
1148+
features: nodes[1].node.init_features(), networks: None, remote_network_address: None
1149+
}, true).unwrap();
1150+
nodes[1].node.peer_connected(&nodes[0].node.get_our_node_id(), &msgs::Init {
1151+
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
1152+
}, false).unwrap();
11411153

11421154
let as_reestablish = get_chan_reestablish_msgs!(nodes[0], nodes[1]).pop().unwrap();
11431155
let bs_reestablish = get_chan_reestablish_msgs!(nodes[1], nodes[0]).pop().unwrap();
@@ -1155,8 +1167,12 @@ fn test_monitor_update_fail_reestablish() {
11551167
nodes[1].node.peer_disconnected(&nodes[0].node.get_our_node_id());
11561168
nodes[0].node.peer_disconnected(&nodes[1].node.get_our_node_id());
11571169

1158-
nodes[0].node.peer_connected(&nodes[1].node.get_our_node_id(), &msgs::Init { features: nodes[1].node.init_features(), remote_network_address: None }, true).unwrap();
1159-
nodes[1].node.peer_connected(&nodes[0].node.get_our_node_id(), &msgs::Init { features: nodes[0].node.init_features(), remote_network_address: None }, false).unwrap();
1170+
nodes[0].node.peer_connected(&nodes[1].node.get_our_node_id(), &msgs::Init {
1171+
features: nodes[1].node.init_features(), networks: None, remote_network_address: None
1172+
}, true).unwrap();
1173+
nodes[1].node.peer_connected(&nodes[0].node.get_our_node_id(), &msgs::Init {
1174+
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
1175+
}, false).unwrap();
11601176

11611177
assert_eq!(get_chan_reestablish_msgs!(nodes[0], nodes[1]).pop().unwrap(), as_reestablish);
11621178
assert_eq!(get_chan_reestablish_msgs!(nodes[1], nodes[0]).pop().unwrap(), bs_reestablish);
@@ -1331,8 +1347,12 @@ fn claim_while_disconnected_monitor_update_fail() {
13311347
check_added_monitors!(nodes[1], 1);
13321348
expect_payment_claimed!(nodes[1], payment_hash_1, 1_000_000);
13331349

1334-
nodes[0].node.peer_connected(&nodes[1].node.get_our_node_id(), &msgs::Init { features: nodes[1].node.init_features(), remote_network_address: None }, true).unwrap();
1335-
nodes[1].node.peer_connected(&nodes[0].node.get_our_node_id(), &msgs::Init { features: nodes[0].node.init_features(), remote_network_address: None }, false).unwrap();
1350+
nodes[0].node.peer_connected(&nodes[1].node.get_our_node_id(), &msgs::Init {
1351+
features: nodes[1].node.init_features(), networks: None, remote_network_address: None
1352+
}, true).unwrap();
1353+
nodes[1].node.peer_connected(&nodes[0].node.get_our_node_id(), &msgs::Init {
1354+
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
1355+
}, false).unwrap();
13361356

13371357
let as_reconnect = get_chan_reestablish_msgs!(nodes[0], nodes[1]).pop().unwrap();
13381358
let bs_reconnect = get_chan_reestablish_msgs!(nodes[1], nodes[0]).pop().unwrap();
@@ -1467,8 +1487,12 @@ fn monitor_failed_no_reestablish_response() {
14671487
nodes[0].node.peer_disconnected(&nodes[1].node.get_our_node_id());
14681488
nodes[1].node.peer_disconnected(&nodes[0].node.get_our_node_id());
14691489

1470-
nodes[0].node.peer_connected(&nodes[1].node.get_our_node_id(), &msgs::Init { features: nodes[1].node.init_features(), remote_network_address: None }, true).unwrap();
1471-
nodes[1].node.peer_connected(&nodes[0].node.get_our_node_id(), &msgs::Init { features: nodes[0].node.init_features(), remote_network_address: None }, false).unwrap();
1490+
nodes[0].node.peer_connected(&nodes[1].node.get_our_node_id(), &msgs::Init {
1491+
features: nodes[1].node.init_features(), networks: None, remote_network_address: None
1492+
}, true).unwrap();
1493+
nodes[1].node.peer_connected(&nodes[0].node.get_our_node_id(), &msgs::Init {
1494+
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
1495+
}, false).unwrap();
14721496

14731497
let as_reconnect = get_chan_reestablish_msgs!(nodes[0], nodes[1]).pop().unwrap();
14741498
let bs_reconnect = get_chan_reestablish_msgs!(nodes[1], nodes[0]).pop().unwrap();
@@ -2076,9 +2100,13 @@ fn test_pending_update_fee_ack_on_reconnect() {
20762100
nodes[0].node.peer_disconnected(&nodes[1].node.get_our_node_id());
20772101
nodes[1].node.peer_disconnected(&nodes[0].node.get_our_node_id());
20782102

2079-
nodes[0].node.peer_connected(&nodes[1].node.get_our_node_id(), &msgs::Init { features: nodes[1].node.init_features(), remote_network_address: None }, true).unwrap();
2103+
nodes[0].node.peer_connected(&nodes[1].node.get_our_node_id(), &msgs::Init {
2104+
features: nodes[1].node.init_features(), networks: None, remote_network_address: None
2105+
}, true).unwrap();
20802106
let as_connect_msg = get_chan_reestablish_msgs!(nodes[0], nodes[1]).pop().unwrap();
2081-
nodes[1].node.peer_connected(&nodes[0].node.get_our_node_id(), &msgs::Init { features: nodes[0].node.init_features(), remote_network_address: None }, false).unwrap();
2107+
nodes[1].node.peer_connected(&nodes[0].node.get_our_node_id(), &msgs::Init {
2108+
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
2109+
}, false).unwrap();
20822110
let bs_connect_msg = get_chan_reestablish_msgs!(nodes[1], nodes[0]).pop().unwrap();
20832111

20842112
nodes[1].node.handle_channel_reestablish(&nodes[0].node.get_our_node_id(), &as_connect_msg);
@@ -2204,9 +2232,13 @@ fn do_update_fee_resend_test(deliver_update: bool, parallel_updates: bool) {
22042232
nodes[0].node.peer_disconnected(&nodes[1].node.get_our_node_id());
22052233
nodes[1].node.peer_disconnected(&nodes[0].node.get_our_node_id());
22062234

2207-
nodes[0].node.peer_connected(&nodes[1].node.get_our_node_id(), &msgs::Init { features: nodes[1].node.init_features(), remote_network_address: None }, true).unwrap();
2235+
nodes[0].node.peer_connected(&nodes[1].node.get_our_node_id(), &msgs::Init {
2236+
features: nodes[1].node.init_features(), networks: None, remote_network_address: None
2237+
}, true).unwrap();
22082238
let as_connect_msg = get_chan_reestablish_msgs!(nodes[0], nodes[1]).pop().unwrap();
2209-
nodes[1].node.peer_connected(&nodes[0].node.get_our_node_id(), &msgs::Init { features: nodes[0].node.init_features(), remote_network_address: None }, false).unwrap();
2239+
nodes[1].node.peer_connected(&nodes[0].node.get_our_node_id(), &msgs::Init {
2240+
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
2241+
}, false).unwrap();
22102242
let bs_connect_msg = get_chan_reestablish_msgs!(nodes[1], nodes[0]).pop().unwrap();
22112243

22122244
nodes[1].node.handle_channel_reestablish(&nodes[0].node.get_our_node_id(), &as_connect_msg);
@@ -2341,10 +2373,14 @@ fn do_channel_holding_cell_serialize(disconnect: bool, reload_a: bool) {
23412373
nodes[1].node.peer_disconnected(&nodes[0].node.get_our_node_id());
23422374

23432375
// Now reconnect the two
2344-
nodes[0].node.peer_connected(&nodes[1].node.get_our_node_id(), &msgs::Init { features: nodes[1].node.init_features(), remote_network_address: None }, true).unwrap();
2376+
nodes[0].node.peer_connected(&nodes[1].node.get_our_node_id(), &msgs::Init {
2377+
features: nodes[1].node.init_features(), networks: None, remote_network_address: None
2378+
}, true).unwrap();
23452379
let reestablish_1 = get_chan_reestablish_msgs!(nodes[0], nodes[1]);
23462380
assert_eq!(reestablish_1.len(), 1);
2347-
nodes[1].node.peer_connected(&nodes[0].node.get_our_node_id(), &msgs::Init { features: nodes[0].node.init_features(), remote_network_address: None }, false).unwrap();
2381+
nodes[1].node.peer_connected(&nodes[0].node.get_our_node_id(), &msgs::Init {
2382+
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
2383+
}, false).unwrap();
23482384
let reestablish_2 = get_chan_reestablish_msgs!(nodes[1], nodes[0]);
23492385
assert_eq!(reestablish_2.len(), 1);
23502386

lightning/src/ln/channelmanager.rs

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9297,12 +9297,14 @@ mod tests {
92979297
&SecretKey::from_slice(&nodes[1].keys_manager.get_secure_random_bytes()).unwrap());
92989298
peer_pks.push(random_pk);
92999299
nodes[1].node.peer_connected(&random_pk, &msgs::Init {
9300-
features: nodes[0].node.init_features(), remote_network_address: None }, true).unwrap();
9300+
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
9301+
}, true).unwrap();
93019302
}
93029303
let last_random_pk = PublicKey::from_secret_key(&nodes[0].node.secp_ctx,
93039304
&SecretKey::from_slice(&nodes[1].keys_manager.get_secure_random_bytes()).unwrap());
93049305
nodes[1].node.peer_connected(&last_random_pk, &msgs::Init {
9305-
features: nodes[0].node.init_features(), remote_network_address: None }, true).unwrap_err();
9306+
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
9307+
}, true).unwrap_err();
93069308

93079309
// Also importantly, because nodes[0] isn't "protected", we will refuse a reconnection from
93089310
// them if we have too many un-channel'd peers.
@@ -9313,13 +9315,16 @@ mod tests {
93139315
if let Event::ChannelClosed { .. } = ev { } else { panic!(); }
93149316
}
93159317
nodes[1].node.peer_connected(&last_random_pk, &msgs::Init {
9316-
features: nodes[0].node.init_features(), remote_network_address: None }, true).unwrap();
9318+
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
9319+
}, true).unwrap();
93179320
nodes[1].node.peer_connected(&nodes[0].node.get_our_node_id(), &msgs::Init {
9318-
features: nodes[0].node.init_features(), remote_network_address: None }, true).unwrap_err();
9321+
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
9322+
}, true).unwrap_err();
93199323

93209324
// but of course if the connection is outbound its allowed...
93219325
nodes[1].node.peer_connected(&nodes[0].node.get_our_node_id(), &msgs::Init {
9322-
features: nodes[0].node.init_features(), remote_network_address: None }, false).unwrap();
9326+
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
9327+
}, false).unwrap();
93239328
nodes[1].node.peer_disconnected(&nodes[0].node.get_our_node_id());
93249329

93259330
// Now nodes[0] is disconnected but still has a pending, un-funded channel lying around.
@@ -9343,7 +9348,8 @@ mod tests {
93439348
// "protected" and can connect again.
93449349
mine_transaction(&nodes[1], funding_tx.as_ref().unwrap());
93459350
nodes[1].node.peer_connected(&nodes[0].node.get_our_node_id(), &msgs::Init {
9346-
features: nodes[0].node.init_features(), remote_network_address: None }, true).unwrap();
9351+
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
9352+
}, true).unwrap();
93479353
get_event_msg!(nodes[1], MessageSendEvent::SendChannelReestablish, nodes[0].node.get_our_node_id());
93489354

93499355
// Further, because the first channel was funded, we can open another channel with
@@ -9408,7 +9414,8 @@ mod tests {
94089414
let random_pk = PublicKey::from_secret_key(&nodes[0].node.secp_ctx,
94099415
&SecretKey::from_slice(&nodes[1].keys_manager.get_secure_random_bytes()).unwrap());
94109416
nodes[1].node.peer_connected(&random_pk, &msgs::Init {
9411-
features: nodes[0].node.init_features(), remote_network_address: None }, true).unwrap();
9417+
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
9418+
}, true).unwrap();
94129419

94139420
nodes[1].node.handle_open_channel(&random_pk, &open_channel_msg);
94149421
let events = nodes[1].node.get_and_clear_pending_events();
@@ -9426,7 +9433,8 @@ mod tests {
94269433
let last_random_pk = PublicKey::from_secret_key(&nodes[0].node.secp_ctx,
94279434
&SecretKey::from_slice(&nodes[1].keys_manager.get_secure_random_bytes()).unwrap());
94289435
nodes[1].node.peer_connected(&last_random_pk, &msgs::Init {
9429-
features: nodes[0].node.init_features(), remote_network_address: None }, true).unwrap();
9436+
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
9437+
}, true).unwrap();
94309438
nodes[1].node.handle_open_channel(&last_random_pk, &open_channel_msg);
94319439
let events = nodes[1].node.get_and_clear_pending_events();
94329440
match events[0] {
@@ -9570,8 +9578,12 @@ pub mod bench {
95709578
});
95719579
let node_b_holder = ANodeHolder { node: &node_b };
95729580

9573-
node_a.peer_connected(&node_b.get_our_node_id(), &Init { features: node_b.init_features(), remote_network_address: None }, true).unwrap();
9574-
node_b.peer_connected(&node_a.get_our_node_id(), &Init { features: node_a.init_features(), remote_network_address: None }, false).unwrap();
9581+
node_a.peer_connected(&node_b.get_our_node_id(), &Init {
9582+
features: node_b.init_features(), networks: None, remote_network_address: None
9583+
}, true).unwrap();
9584+
node_b.peer_connected(&node_a.get_our_node_id(), &Init {
9585+
features: node_a.init_features(), networks: None, remote_network_address: None
9586+
}, false).unwrap();
95759587
node_a.create_channel(node_b.get_our_node_id(), 8_000_000, 100_000_000, 42, None).unwrap();
95769588
node_b.handle_open_channel(&node_a.get_our_node_id(), &get_event_msg!(node_a_holder, MessageSendEvent::SendOpenChannel, node_b.get_our_node_id()));
95779589
node_a.handle_accept_channel(&node_b.get_our_node_id(), &get_event_msg!(node_b_holder, MessageSendEvent::SendAcceptChannel, node_a.get_our_node_id()));

0 commit comments

Comments
 (0)