@@ -190,6 +190,7 @@ pub struct TestChanMonCfg {
190
190
pub persister : test_utils:: TestPersister ,
191
191
pub logger : test_utils:: TestLogger ,
192
192
pub keys_manager : test_utils:: TestKeysInterface ,
193
+ pub network_graph : NetworkGraph ,
193
194
}
194
195
195
196
pub struct NodeCfg < ' a > {
@@ -199,6 +200,7 @@ pub struct NodeCfg<'a> {
199
200
pub chain_monitor : test_utils:: TestChainMonitor < ' a > ,
200
201
pub keys_manager : & ' a test_utils:: TestKeysInterface ,
201
202
pub logger : & ' a test_utils:: TestLogger ,
203
+ pub network_graph : & ' a NetworkGraph ,
202
204
pub node_seed : [ u8 ; 32 ] ,
203
205
pub features : InitFeatures ,
204
206
}
@@ -209,7 +211,8 @@ pub struct Node<'a, 'b: 'a, 'c: 'b> {
209
211
pub chain_monitor : & ' b test_utils:: TestChainMonitor < ' c > ,
210
212
pub keys_manager : & ' b test_utils:: TestKeysInterface ,
211
213
pub node : & ' a ChannelManager < EnforcingSigner , & ' b TestChainMonitor < ' c > , & ' c test_utils:: TestBroadcaster , & ' b test_utils:: TestKeysInterface , & ' c test_utils:: TestFeeEstimator , & ' c test_utils:: TestLogger > ,
212
- pub net_graph_msg_handler : NetGraphMsgHandler < & ' c test_utils:: TestChainSource , & ' c test_utils:: TestLogger > ,
214
+ pub network_graph : & ' c NetworkGraph ,
215
+ pub net_graph_msg_handler : NetGraphMsgHandler < & ' c NetworkGraph , & ' c test_utils:: TestChainSource , & ' c test_utils:: TestLogger > ,
213
216
pub node_seed : [ u8 ; 32 ] ,
214
217
pub network_payment_count : Rc < RefCell < u8 > > ,
215
218
pub network_chan_count : Rc < RefCell < u32 > > ,
@@ -240,12 +243,11 @@ impl<'a, 'b, 'c> Drop for Node<'a, 'b, 'c> {
240
243
// Check that if we serialize the Router, we can deserialize it again.
241
244
{
242
245
let mut w = test_utils:: TestVecWriter ( Vec :: new ( ) ) ;
243
- let network_graph_ser = & self . net_graph_msg_handler . network_graph ;
244
- network_graph_ser. write ( & mut w) . unwrap ( ) ;
246
+ self . network_graph . write ( & mut w) . unwrap ( ) ;
245
247
let network_graph_deser = <NetworkGraph >:: read ( & mut io:: Cursor :: new ( & w. 0 ) ) . unwrap ( ) ;
246
- assert ! ( network_graph_deser == self . net_graph_msg_handler . network_graph) ;
248
+ assert ! ( network_graph_deser == * self . network_graph) ;
247
249
let net_graph_msg_handler = NetGraphMsgHandler :: new (
248
- network_graph_deser, Some ( self . chain_source ) , self . logger
250
+ & network_graph_deser, Some ( self . chain_source ) , self . logger
249
251
) ;
250
252
let mut chan_progress = 0 ;
251
253
loop {
@@ -1014,10 +1016,9 @@ macro_rules! get_route_and_payment_hash {
1014
1016
let payee = $crate:: routing:: router:: Payee :: new( $recv_node. node. get_our_node_id( ) )
1015
1017
. with_features( $crate:: ln:: features:: InvoiceFeatures :: known( ) )
1016
1018
. with_route_hints( $last_hops) ;
1017
- let net_graph_msg_handler = & $send_node. net_graph_msg_handler;
1018
1019
let scorer = :: routing:: scorer:: Scorer :: with_fixed_penalty( 0 ) ;
1019
1020
let route = :: routing:: router:: get_route(
1020
- & $send_node. node. get_our_node_id( ) , & payee, & net_graph_msg_handler . network_graph,
1021
+ & $send_node. node. get_our_node_id( ) , & payee, $send_node . network_graph,
1021
1022
Some ( & $send_node. node. list_usable_channels( ) . iter( ) . collect:: <Vec <_>>( ) ) ,
1022
1023
$recv_value, $cltv, $send_node. logger, & scorer
1023
1024
) . unwrap( ) ;
@@ -1352,10 +1353,9 @@ pub const TEST_FINAL_CLTV: u32 = 70;
1352
1353
pub fn route_payment < ' a , ' b , ' c > ( origin_node : & Node < ' a , ' b , ' c > , expected_route : & [ & Node < ' a , ' b , ' c > ] , recv_value : u64 ) -> ( PaymentPreimage , PaymentHash , PaymentSecret ) {
1353
1354
let payee = Payee :: new ( expected_route. last ( ) . unwrap ( ) . node . get_our_node_id ( ) )
1354
1355
. with_features ( InvoiceFeatures :: known ( ) ) ;
1355
- let net_graph_msg_handler = & origin_node. net_graph_msg_handler ;
1356
1356
let scorer = Scorer :: with_fixed_penalty ( 0 ) ;
1357
1357
let route = get_route (
1358
- & origin_node. node . get_our_node_id ( ) , & payee, & net_graph_msg_handler . network_graph ,
1358
+ & origin_node. node . get_our_node_id ( ) , & payee, & origin_node . network_graph ,
1359
1359
Some ( & origin_node. node . list_usable_channels ( ) . iter ( ) . collect :: < Vec < _ > > ( ) ) ,
1360
1360
recv_value, TEST_FINAL_CLTV , origin_node. logger , & scorer) . unwrap ( ) ;
1361
1361
assert_eq ! ( route. paths. len( ) , 1 ) ;
@@ -1371,9 +1371,8 @@ pub fn route_payment<'a, 'b, 'c>(origin_node: &Node<'a, 'b, 'c>, expected_route:
1371
1371
pub fn route_over_limit < ' a , ' b , ' c > ( origin_node : & Node < ' a , ' b , ' c > , expected_route : & [ & Node < ' a , ' b , ' c > ] , recv_value : u64 ) {
1372
1372
let payee = Payee :: new ( expected_route. last ( ) . unwrap ( ) . node . get_our_node_id ( ) )
1373
1373
. with_features ( InvoiceFeatures :: known ( ) ) ;
1374
- let net_graph_msg_handler = & origin_node. net_graph_msg_handler ;
1375
1374
let scorer = Scorer :: with_fixed_penalty ( 0 ) ;
1376
- let route = get_route ( & origin_node. node . get_our_node_id ( ) , & payee, & net_graph_msg_handler . network_graph , None , recv_value, TEST_FINAL_CLTV , origin_node. logger , & scorer) . unwrap ( ) ;
1375
+ let route = get_route ( & origin_node. node . get_our_node_id ( ) , & payee, origin_node . network_graph , None , recv_value, TEST_FINAL_CLTV , origin_node. logger , & scorer) . unwrap ( ) ;
1377
1376
assert_eq ! ( route. paths. len( ) , 1 ) ;
1378
1377
assert_eq ! ( route. paths[ 0 ] . len( ) , expected_route. len( ) ) ;
1379
1378
for ( node, hop) in expected_route. iter ( ) . zip ( route. paths [ 0 ] . iter ( ) ) {
@@ -1499,8 +1498,9 @@ pub fn create_chanmon_cfgs(node_count: usize) -> Vec<TestChanMonCfg> {
1499
1498
let persister = test_utils:: TestPersister :: new ( ) ;
1500
1499
let seed = [ i as u8 ; 32 ] ;
1501
1500
let keys_manager = test_utils:: TestKeysInterface :: new ( & seed, Network :: Testnet ) ;
1501
+ let network_graph = NetworkGraph :: new ( chain_source. genesis_hash ) ;
1502
1502
1503
- chan_mon_cfgs. push ( TestChanMonCfg { tx_broadcaster, fee_estimator, chain_source, logger, persister, keys_manager } ) ;
1503
+ chan_mon_cfgs. push ( TestChanMonCfg { tx_broadcaster, fee_estimator, chain_source, logger, persister, keys_manager, network_graph } ) ;
1504
1504
}
1505
1505
1506
1506
chan_mon_cfgs
@@ -1521,6 +1521,7 @@ pub fn create_node_cfgs<'a>(node_count: usize, chanmon_cfgs: &'a Vec<TestChanMon
1521
1521
keys_manager : & chanmon_cfgs[ i] . keys_manager ,
1522
1522
node_seed : seed,
1523
1523
features : InitFeatures :: known ( ) ,
1524
+ network_graph : & chanmon_cfgs[ i] . network_graph ,
1524
1525
} ) ;
1525
1526
}
1526
1527
@@ -1566,15 +1567,15 @@ pub fn create_network<'a, 'b: 'a, 'c: 'b>(node_count: usize, cfgs: &'b Vec<NodeC
1566
1567
let connect_style = Rc :: new ( RefCell :: new ( ConnectStyle :: FullBlockViaListen ) ) ;
1567
1568
1568
1569
for i in 0 ..node_count {
1569
- let network_graph = NetworkGraph :: new ( cfgs[ i] . chain_source . genesis_hash ) ;
1570
- let net_graph_msg_handler = NetGraphMsgHandler :: new ( network_graph , None , cfgs [ i ] . logger ) ;
1571
- nodes . push ( Node { chain_source : cfgs[ i] . chain_source ,
1572
- tx_broadcaster : cfgs[ i] . tx_broadcaster , chain_monitor : & cfgs[ i] . chain_monitor ,
1573
- keys_manager : & cfgs [ i] . keys_manager , node : & chan_mgrs [ i] , net_graph_msg_handler,
1574
- node_seed : cfgs[ i] . node_seed , network_chan_count : chan_count. clone ( ) ,
1575
- network_payment_count : payment_count. clone ( ) , logger : cfgs[ i] . logger ,
1576
- blocks : Arc :: clone ( & cfgs[ i] . tx_broadcaster . blocks ) ,
1577
- connect_style : Rc :: clone ( & connect_style) ,
1570
+ let net_graph_msg_handler = NetGraphMsgHandler :: new ( cfgs[ i] . network_graph , None , cfgs [ i ] . logger ) ;
1571
+ nodes . push ( Node {
1572
+ chain_source : cfgs[ i] . chain_source , tx_broadcaster : cfgs [ i ] . tx_broadcaster ,
1573
+ chain_monitor : & cfgs[ i] . chain_monitor , keys_manager : & cfgs[ i] . keys_manager ,
1574
+ node : & chan_mgrs [ i] , network_graph : & cfgs [ i] . network_graph , net_graph_msg_handler,
1575
+ node_seed : cfgs[ i] . node_seed , network_chan_count : chan_count. clone ( ) ,
1576
+ network_payment_count : payment_count. clone ( ) , logger : cfgs[ i] . logger ,
1577
+ blocks : Arc :: clone ( & cfgs[ i] . tx_broadcaster . blocks ) ,
1578
+ connect_style : Rc :: clone ( & connect_style) ,
1578
1579
} )
1579
1580
}
1580
1581
0 commit comments