Skip to content

Commit 3469eb4

Browse files
Add create_chanmon_cfgs_with_keys for predictable channel_keys_id
Similar to `create_chanmon_cfgs`, but allows using `override_next_keys_id` in `TestKeysInterface` to ensure predictable key ID generation
1 parent bc5931c commit 3469eb4

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

lightning/src/ln/functional_test_utils.rs

+11
Original file line numberDiff line numberDiff line change
@@ -3265,6 +3265,10 @@ pub fn fail_payment<'a, 'b, 'c>(origin_node: &Node<'a, 'b, 'c>, expected_path: &
32653265
}
32663266

32673267
pub fn create_chanmon_cfgs(node_count: usize) -> Vec<TestChanMonCfg> {
3268+
create_chanmon_cfgs_with_keys(node_count, None)
3269+
}
3270+
3271+
pub fn create_chanmon_cfgs_with_keys(node_count: usize, predefined_keys_ids: Option<Vec<[u8; 32]>>) -> Vec<TestChanMonCfg> {
32683272
let mut chan_mon_cfgs = Vec::new();
32693273
for i in 0..node_count {
32703274
let tx_broadcaster = test_utils::TestBroadcaster::new(Network::Testnet);
@@ -3276,6 +3280,13 @@ pub fn create_chanmon_cfgs(node_count: usize) -> Vec<TestChanMonCfg> {
32763280
let keys_manager = test_utils::TestKeysInterface::new(&seed, Network::Testnet);
32773281
let scorer = RwLock::new(test_utils::TestScorer::new());
32783282

3283+
// Set predefined keys_id if provided
3284+
if let Some(keys_ids) = &predefined_keys_ids {
3285+
if let Some(keys_id) = keys_ids.get(i) {
3286+
keys_manager.set_next_keys_id(*keys_id);
3287+
}
3288+
}
3289+
32793290
chan_mon_cfgs.push(TestChanMonCfg { tx_broadcaster, fee_estimator, chain_source, logger, persister, keys_manager, scorer });
32803291
}
32813292

0 commit comments

Comments
 (0)