@@ -694,7 +694,8 @@ where
694
694
let logger = & logger;
695
695
let persister = & persister;
696
696
let fetch_time = & fetch_time;
697
- Box :: pin ( async move { // We should be able to drop the Box once our MSRV is 1.68
697
+ // We should be able to drop the Box once our MSRV is 1.68
698
+ Box :: pin ( async move {
698
699
if let Some ( network_graph) = network_graph {
699
700
handle_network_graph_update ( network_graph, & event)
700
701
}
@@ -1309,12 +1310,14 @@ mod tests {
1309
1310
1310
1311
for i in 0 ..num_nodes {
1311
1312
for j in ( i+1 ) ..num_nodes {
1312
- nodes [ i ] . node . peer_connected ( & nodes [ j ] . node . get_our_node_id ( ) , & Init {
1313
+ let init_i = Init {
1313
1314
features : nodes[ j] . node . init_features ( ) , networks : None , remote_network_address : None
1314
- } , true ) . unwrap ( ) ;
1315
- nodes[ j] . node . peer_connected ( & nodes[ i] . node . get_our_node_id ( ) , & Init {
1315
+ } ;
1316
+ nodes[ i] . node . peer_connected ( & nodes[ j] . node . get_our_node_id ( ) , & init_i, true ) . unwrap ( ) ;
1317
+ let init_j = Init {
1316
1318
features : nodes[ i] . node . init_features ( ) , networks : None , remote_network_address : None
1317
- } , false ) . unwrap ( ) ;
1319
+ } ;
1320
+ nodes[ j] . node . peer_connected ( & nodes[ i] . node . get_our_node_id ( ) , & init_j, false ) . unwrap ( ) ;
1318
1321
}
1319
1322
}
1320
1323
@@ -1328,9 +1331,11 @@ mod tests {
1328
1331
assert_eq!( events. len( ) , 1 ) ;
1329
1332
let ( temporary_channel_id, tx) = handle_funding_generation_ready!( events[ 0 ] , $channel_value) ;
1330
1333
$node_a. node. funding_transaction_generated( & temporary_channel_id, & $node_b. node. get_our_node_id( ) , tx. clone( ) ) . unwrap( ) ;
1331
- $node_b. node. handle_funding_created( & $node_a. node. get_our_node_id( ) , & get_event_msg!( $node_a, MessageSendEvent :: SendFundingCreated , $node_b. node. get_our_node_id( ) ) ) ;
1334
+ let msg_a = get_event_msg!( $node_a, MessageSendEvent :: SendFundingCreated , $node_b. node. get_our_node_id( ) ) ;
1335
+ $node_b. node. handle_funding_created( & $node_a. node. get_our_node_id( ) , & msg_a) ;
1332
1336
get_event!( $node_b, Event :: ChannelPending ) ;
1333
- $node_a. node. handle_funding_signed( & $node_b. node. get_our_node_id( ) , & get_event_msg!( $node_b, MessageSendEvent :: SendFundingSigned , $node_a. node. get_our_node_id( ) ) ) ;
1337
+ let msg_b = get_event_msg!( $node_b, MessageSendEvent :: SendFundingSigned , $node_a. node. get_our_node_id( ) ) ;
1338
+ $node_a. node. handle_funding_signed( & $node_b. node. get_our_node_id( ) , & msg_b) ;
1334
1339
get_event!( $node_a, Event :: ChannelPending ) ;
1335
1340
tx
1336
1341
} }
@@ -1339,8 +1344,10 @@ mod tests {
1339
1344
macro_rules! begin_open_channel {
1340
1345
( $node_a: expr, $node_b: expr, $channel_value: expr) => { {
1341
1346
$node_a. node. create_channel( $node_b. node. get_our_node_id( ) , $channel_value, 100 , 42 , None , None ) . unwrap( ) ;
1342
- $node_b. node. handle_open_channel( & $node_a. node. get_our_node_id( ) , & get_event_msg!( $node_a, MessageSendEvent :: SendOpenChannel , $node_b. node. get_our_node_id( ) ) ) ;
1343
- $node_a. node. handle_accept_channel( & $node_b. node. get_our_node_id( ) , & get_event_msg!( $node_b, MessageSendEvent :: SendAcceptChannel , $node_a. node. get_our_node_id( ) ) ) ;
1347
+ let msg_a = get_event_msg!( $node_a, MessageSendEvent :: SendOpenChannel , $node_b. node. get_our_node_id( ) ) ;
1348
+ $node_b. node. handle_open_channel( & $node_a. node. get_our_node_id( ) , & msg_a) ;
1349
+ let msg_b = get_event_msg!( $node_b, MessageSendEvent :: SendAcceptChannel , $node_a. node. get_our_node_id( ) ) ;
1350
+ $node_a. node. handle_accept_channel( & $node_b. node. get_our_node_id( ) , & msg_b) ;
1344
1351
} }
1345
1352
}
1346
1353
@@ -1378,7 +1385,8 @@ mod tests {
1378
1385
// We need the TestBroadcaster to know about the new height so that it doesn't think
1379
1386
// we're violating the time lock requirements of transactions broadcasted at that
1380
1387
// point.
1381
- node. tx_broadcaster . blocks . lock ( ) . unwrap ( ) . push ( ( genesis_block ( Network :: Bitcoin ) , height) ) ;
1388
+ let block = ( genesis_block ( Network :: Bitcoin ) , height) ;
1389
+ node. tx_broadcaster . blocks . lock ( ) . unwrap ( ) . push ( block) ;
1382
1390
node. node . best_block_updated ( & header, height) ;
1383
1391
node. chain_monitor . best_block_updated ( & header, height) ;
1384
1392
node. sweeper . best_block_updated ( & header, height) ;
@@ -1398,7 +1406,8 @@ mod tests {
1398
1406
// We need the TestBroadcaster to know about the new height so that it doesn't think
1399
1407
// we're violating the time lock requirements of transactions broadcasted at that
1400
1408
// point.
1401
- node. tx_broadcaster . blocks . lock ( ) . unwrap ( ) . push ( ( genesis_block ( Network :: Bitcoin ) , height) ) ;
1409
+ let block = ( genesis_block ( Network :: Bitcoin ) , height) ;
1410
+ node. tx_broadcaster . blocks . lock ( ) . unwrap ( ) . push ( block) ;
1402
1411
node. node . best_block_updated ( & header, height) ;
1403
1412
node. chain_monitor . best_block_updated ( & header, height) ;
1404
1413
node. sweeper . best_block_updated ( & header, height) ;
@@ -1601,6 +1610,9 @@ mod tests {
1601
1610
#[ test]
1602
1611
fn test_background_event_handling ( ) {
1603
1612
let ( _, mut nodes) = create_nodes ( 2 , "test_background_event_handling" ) ;
1613
+ let node_0_id = nodes[ 0 ] . node . get_our_node_id ( ) ;
1614
+ let node_1_id = nodes[ 1 ] . node . get_our_node_id ( ) ;
1615
+
1604
1616
let channel_value = 100000 ;
1605
1617
let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
1606
1618
let persister = Arc :: new ( Persister :: new ( data_dir. clone ( ) ) ) ;
@@ -1622,22 +1634,24 @@ mod tests {
1622
1634
let ( temporary_channel_id, funding_tx) = funding_generation_recv
1623
1635
. recv_timeout ( Duration :: from_secs ( EVENT_DEADLINE ) )
1624
1636
. expect ( "FundingGenerationReady not handled within deadline" ) ;
1625
- nodes[ 0 ] . node . funding_transaction_generated ( & temporary_channel_id, & nodes[ 1 ] . node . get_our_node_id ( ) , funding_tx. clone ( ) ) . unwrap ( ) ;
1626
- nodes[ 1 ] . node . handle_funding_created ( & nodes[ 0 ] . node . get_our_node_id ( ) , & get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendFundingCreated , nodes[ 1 ] . node. get_our_node_id( ) ) ) ;
1637
+ nodes[ 0 ] . node . funding_transaction_generated ( & temporary_channel_id, & node_1_id, funding_tx. clone ( ) ) . unwrap ( ) ;
1638
+ let msg_0 = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendFundingCreated , node_1_id) ;
1639
+ nodes[ 1 ] . node . handle_funding_created ( & node_0_id, & msg_0) ;
1627
1640
get_event ! ( nodes[ 1 ] , Event :: ChannelPending ) ;
1628
- nodes[ 0 ] . node . handle_funding_signed ( & nodes[ 1 ] . node . get_our_node_id ( ) , & get_event_msg ! ( nodes[ 1 ] , MessageSendEvent :: SendFundingSigned , nodes[ 0 ] . node. get_our_node_id( ) ) ) ;
1641
+ let msg_1 = get_event_msg ! ( nodes[ 1 ] , MessageSendEvent :: SendFundingSigned , node_0_id) ;
1642
+ nodes[ 0 ] . node . handle_funding_signed ( & node_1_id, & msg_1) ;
1629
1643
let _ = channel_pending_recv. recv_timeout ( Duration :: from_secs ( EVENT_DEADLINE ) )
1630
1644
. expect ( "ChannelPending not handled within deadline" ) ;
1631
1645
1632
1646
// Confirm the funding transaction.
1633
1647
confirm_transaction ( & mut nodes[ 0 ] , & funding_tx) ;
1634
- let as_funding = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendChannelReady , nodes [ 1 ] . node . get_our_node_id ( ) ) ;
1648
+ let as_funding = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendChannelReady , node_1_id ) ;
1635
1649
confirm_transaction ( & mut nodes[ 1 ] , & funding_tx) ;
1636
- let bs_funding = get_event_msg ! ( nodes[ 1 ] , MessageSendEvent :: SendChannelReady , nodes [ 0 ] . node . get_our_node_id ( ) ) ;
1637
- nodes[ 0 ] . node . handle_channel_ready ( & nodes [ 1 ] . node . get_our_node_id ( ) , & bs_funding) ;
1638
- let _as_channel_update = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendChannelUpdate , nodes [ 1 ] . node . get_our_node_id ( ) ) ;
1639
- nodes[ 1 ] . node . handle_channel_ready ( & nodes [ 0 ] . node . get_our_node_id ( ) , & as_funding) ;
1640
- let _bs_channel_update = get_event_msg ! ( nodes[ 1 ] , MessageSendEvent :: SendChannelUpdate , nodes [ 0 ] . node . get_our_node_id ( ) ) ;
1650
+ let bs_funding = get_event_msg ! ( nodes[ 1 ] , MessageSendEvent :: SendChannelReady , node_0_id ) ;
1651
+ nodes[ 0 ] . node . handle_channel_ready ( & node_1_id , & bs_funding) ;
1652
+ let _as_channel_update = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendChannelUpdate , node_1_id ) ;
1653
+ nodes[ 1 ] . node . handle_channel_ready ( & node_0_id , & as_funding) ;
1654
+ let _bs_channel_update = get_event_msg ! ( nodes[ 1 ] , MessageSendEvent :: SendChannelUpdate , node_0_id ) ;
1641
1655
let broadcast_funding = nodes[ 0 ] . tx_broadcaster . txn_broadcasted . lock ( ) . unwrap ( ) . pop ( ) . unwrap ( ) ;
1642
1656
assert_eq ! ( broadcast_funding. txid( ) , funding_tx. txid( ) ) ;
1643
1657
assert ! ( nodes[ 0 ] . tx_broadcaster. txn_broadcasted. lock( ) . unwrap( ) . is_empty( ) ) ;
@@ -1659,7 +1673,7 @@ mod tests {
1659
1673
1660
1674
// Force close the channel and check that the SpendableOutputs event was handled.
1661
1675
let error_message = "Channel force-closed" ;
1662
- nodes[ 0 ] . node . force_close_broadcasting_latest_txn ( & nodes[ 0 ] . node . list_channels ( ) [ 0 ] . channel_id , & nodes [ 1 ] . node . get_our_node_id ( ) , error_message. to_string ( ) ) . unwrap ( ) ;
1676
+ nodes[ 0 ] . node . force_close_broadcasting_latest_txn ( & nodes[ 0 ] . node . list_channels ( ) [ 0 ] . channel_id , & node_1_id , error_message. to_string ( ) ) . unwrap ( ) ;
1663
1677
let commitment_tx = nodes[ 0 ] . tx_broadcaster . txn_broadcasted . lock ( ) . unwrap ( ) . pop ( ) . unwrap ( ) ;
1664
1678
confirm_transaction_depth ( & mut nodes[ 0 ] , & commitment_tx, BREAKDOWN_TIMEOUT as u32 ) ;
1665
1679
0 commit comments