@@ -47,7 +47,7 @@ use crate::util::scid_utils;
47
47
use crate :: util:: ser:: { ReadableArgs , Writeable } ;
48
48
use crate :: util:: test_channel_signer:: SignerOp ;
49
49
use crate :: util:: test_channel_signer:: TestChannelSigner ;
50
- use crate :: util:: test_utils;
50
+ use crate :: util:: test_utils:: { self , TestLogger } ;
51
51
use crate :: util:: test_utils:: { TestChainMonitor , TestKeysInterface , TestScorer } ;
52
52
53
53
use bitcoin:: amount:: Amount ;
@@ -855,7 +855,7 @@ impl<'a, 'b, 'c> Drop for Node<'a, 'b, 'c> {
855
855
& self . logger ,
856
856
& scorer,
857
857
) ,
858
- message_router : & test_utils:: TestMessageRouter :: new (
858
+ message_router : & test_utils:: TestMessageRouter :: new_default (
859
859
network_graph,
860
860
self . keys_manager ,
861
861
) ,
@@ -4204,49 +4204,47 @@ pub fn create_chanmon_cfgs_with_keys(
4204
4204
chan_mon_cfgs
4205
4205
}
4206
4206
4207
- pub fn create_node_cfgs < ' a > (
4208
- node_count : usize , chanmon_cfgs : & ' a Vec < TestChanMonCfg > ,
4209
- ) -> Vec < NodeCfg < ' a > > {
4210
- create_node_cfgs_with_persisters (
4211
- node_count,
4212
- chanmon_cfgs,
4213
- chanmon_cfgs. iter ( ) . map ( |c| & c. persister ) . collect ( ) ,
4214
- )
4215
- }
4216
-
4217
- pub fn create_node_cfgs_with_persisters < ' a > (
4207
+ fn create_node_cfgs_internal < ' a , F > (
4218
4208
node_count : usize , chanmon_cfgs : & ' a Vec < TestChanMonCfg > ,
4219
- persisters : Vec < & ' a impl test_utils:: SyncPersist > ,
4220
- ) -> Vec < NodeCfg < ' a > > {
4209
+ persisters : Vec < & ' a impl test_utils:: SyncPersist > , message_router_constructor : F ,
4210
+ ) -> Vec < NodeCfg < ' a > >
4211
+ where
4212
+ F : Fn (
4213
+ Arc < NetworkGraph < & ' a TestLogger > > ,
4214
+ & ' a TestKeysInterface ,
4215
+ ) -> test_utils:: TestMessageRouter < ' a > ,
4216
+ {
4221
4217
let mut nodes = Vec :: new ( ) ;
4222
4218
4223
4219
for i in 0 ..node_count {
4220
+ let cfg = & chanmon_cfgs[ i] ;
4221
+ let network_graph = Arc :: new ( NetworkGraph :: new ( Network :: Testnet , & cfg. logger ) ) ;
4224
4222
let chain_monitor = test_utils:: TestChainMonitor :: new (
4225
- Some ( & chanmon_cfgs [ i ] . chain_source ) ,
4226
- & chanmon_cfgs [ i ] . tx_broadcaster ,
4227
- & chanmon_cfgs [ i ] . logger ,
4228
- & chanmon_cfgs [ i ] . fee_estimator ,
4223
+ Some ( & cfg . chain_source ) ,
4224
+ & cfg . tx_broadcaster ,
4225
+ & cfg . logger ,
4226
+ & cfg . fee_estimator ,
4229
4227
persisters[ i] ,
4230
- & chanmon_cfgs [ i ] . keys_manager ,
4228
+ & cfg . keys_manager ,
4231
4229
) ;
4232
- let network_graph = Arc :: new ( NetworkGraph :: new ( Network :: Testnet , & chanmon_cfgs [ i ] . logger ) ) ;
4230
+
4233
4231
let seed = [ i as u8 ; 32 ] ;
4234
4232
nodes. push ( NodeCfg {
4235
- chain_source : & chanmon_cfgs [ i ] . chain_source ,
4236
- logger : & chanmon_cfgs [ i ] . logger ,
4237
- tx_broadcaster : & chanmon_cfgs [ i ] . tx_broadcaster ,
4238
- fee_estimator : & chanmon_cfgs [ i ] . fee_estimator ,
4233
+ chain_source : & cfg . chain_source ,
4234
+ logger : & cfg . logger ,
4235
+ tx_broadcaster : & cfg . tx_broadcaster ,
4236
+ fee_estimator : & cfg . fee_estimator ,
4239
4237
router : test_utils:: TestRouter :: new (
4240
4238
Arc :: clone ( & network_graph) ,
4241
- & chanmon_cfgs [ i ] . logger ,
4242
- & chanmon_cfgs [ i ] . scorer ,
4239
+ & cfg . logger ,
4240
+ & cfg . scorer ,
4243
4241
) ,
4244
- message_router : test_utils :: TestMessageRouter :: new (
4242
+ message_router : message_router_constructor (
4245
4243
Arc :: clone ( & network_graph) ,
4246
- & chanmon_cfgs [ i ] . keys_manager ,
4244
+ & cfg . keys_manager ,
4247
4245
) ,
4248
4246
chain_monitor,
4249
- keys_manager : & chanmon_cfgs [ i ] . keys_manager ,
4247
+ keys_manager : & cfg . keys_manager ,
4250
4248
node_seed : seed,
4251
4249
network_graph,
4252
4250
override_init_features : Rc :: new ( RefCell :: new ( None ) ) ,
@@ -4256,6 +4254,42 @@ pub fn create_node_cfgs_with_persisters<'a>(
4256
4254
nodes
4257
4255
}
4258
4256
4257
+ pub fn create_node_cfgs < ' a > (
4258
+ node_count : usize , chanmon_cfgs : & ' a Vec < TestChanMonCfg > ,
4259
+ ) -> Vec < NodeCfg < ' a > > {
4260
+ let persisters = chanmon_cfgs. iter ( ) . map ( |c| & c. persister ) . collect ( ) ;
4261
+ create_node_cfgs_internal (
4262
+ node_count,
4263
+ chanmon_cfgs,
4264
+ persisters,
4265
+ test_utils:: TestMessageRouter :: new_default,
4266
+ )
4267
+ }
4268
+
4269
+ pub fn create_node_cfgs_with_persisters < ' a > (
4270
+ node_count : usize , chanmon_cfgs : & ' a Vec < TestChanMonCfg > ,
4271
+ persisters : Vec < & ' a impl test_utils:: SyncPersist > ,
4272
+ ) -> Vec < NodeCfg < ' a > > {
4273
+ create_node_cfgs_internal (
4274
+ node_count,
4275
+ chanmon_cfgs,
4276
+ persisters,
4277
+ test_utils:: TestMessageRouter :: new_default,
4278
+ )
4279
+ }
4280
+
4281
+ pub fn create_node_cfgs_with_node_id_message_router < ' a > (
4282
+ node_count : usize , chanmon_cfgs : & ' a Vec < TestChanMonCfg > ,
4283
+ ) -> Vec < NodeCfg < ' a > > {
4284
+ let persisters = chanmon_cfgs. iter ( ) . map ( |c| & c. persister ) . collect ( ) ;
4285
+ create_node_cfgs_internal (
4286
+ node_count,
4287
+ chanmon_cfgs,
4288
+ persisters,
4289
+ test_utils:: TestMessageRouter :: new_node_id_router,
4290
+ )
4291
+ }
4292
+
4259
4293
pub fn test_default_channel_config ( ) -> UserConfig {
4260
4294
let mut default_config = UserConfig :: default ( ) ;
4261
4295
// Set cltv_expiry_delta slightly lower to keep the final CLTV values inside one byte in our
0 commit comments