Skip to content

Commit 0c26baf

Browse files
committed
f Allow legacy keys derivation for test_restored_packages_retry
1 parent 96b4453 commit 0c26baf

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

lightning/src/ln/functional_test_utils.rs

+6-1
Original file line numberDiff line numberDiff line change
@@ -3193,6 +3193,10 @@ pub fn fail_payment<'a, 'b, 'c>(origin_node: &Node<'a, 'b, 'c>, expected_path: &
31933193
}
31943194

31953195
pub fn create_chanmon_cfgs(node_count: usize) -> Vec<TestChanMonCfg> {
3196+
create_chanmon_cfgs_with_params(node_count, false)
3197+
}
3198+
3199+
pub fn create_chanmon_cfgs_with_params(node_count: usize, legacy_channel_keys_derivation: bool) -> Vec<TestChanMonCfg> {
31963200
let mut chan_mon_cfgs = Vec::new();
31973201
for i in 0..node_count {
31983202
let tx_broadcaster = test_utils::TestBroadcaster::new(Network::Testnet);
@@ -3201,7 +3205,8 @@ pub fn create_chanmon_cfgs(node_count: usize) -> Vec<TestChanMonCfg> {
32013205
let logger = test_utils::TestLogger::with_id(format!("node {}", i));
32023206
let persister = test_utils::TestPersister::new();
32033207
let seed = [i as u8; 32];
3204-
let keys_manager = test_utils::TestKeysInterface::new(&seed, Network::Testnet);
3208+
let mut keys_manager = test_utils::TestKeysInterface::new(&seed, Network::Testnet);
3209+
keys_manager.legacy_channel_keys_derivation = legacy_channel_keys_derivation;
32053210
let scorer = RwLock::new(test_utils::TestScorer::new());
32063211

32073212
chan_mon_cfgs.push(TestChanMonCfg { tx_broadcaster, fee_estimator, chain_source, logger, persister, keys_manager, scorer });

lightning/src/ln/monitor_tests.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -2242,8 +2242,9 @@ fn test_claimable_balance_correct_while_payment_pending() {
22422242

22432243
fn do_test_restored_packages_retry(check_old_monitor_retries_after_upgrade: bool) {
22442244
// Tests that we'll retry packages that were previously timelocked after we've restored them.
2245-
let chanmon_cfgs = create_chanmon_cfgs(2);
2246-
let node_cfgs = create_node_cfgs(2, &chanmon_cfgs);
2245+
let chanmon_cfgs = create_chanmon_cfgs_with_params(2, true);
2246+
let mut node_cfgs = create_node_cfgs(2, &chanmon_cfgs);
2247+
22472248
let persister;
22482249
let new_chain_monitor;
22492250

lightning/src/util/test_utils.rs

+7-1
Original file line numberDiff line numberDiff line change
@@ -1240,6 +1240,7 @@ pub struct TestKeysInterface {
12401240
enforcement_states: Mutex<HashMap<[u8;32], Arc<Mutex<EnforcementState>>>>,
12411241
expectations: Mutex<Option<VecDeque<OnGetShutdownScriptpubkey>>>,
12421242
pub unavailable_signers_ops: Mutex<HashMap<[u8; 32], HashSet<SignerOp>>>,
1243+
pub legacy_channel_keys_derivation: bool,
12431244
}
12441245

12451246
impl EntropySource for TestKeysInterface {
@@ -1292,7 +1293,11 @@ impl SignerProvider for TestKeysInterface {
12921293
type TaprootSigner = TestChannelSigner;
12931294

12941295
fn generate_channel_keys_id(&self, inbound: bool, channel_value_satoshis: u64, user_channel_id: u128) -> [u8; 32] {
1295-
self.backing.generate_channel_keys_id(inbound, channel_value_satoshis, user_channel_id)
1296+
let mut channel_keys_id = self.backing.generate_channel_keys_id(inbound, channel_value_satoshis, user_channel_id);
1297+
if self.legacy_channel_keys_derivation {
1298+
channel_keys_id[0] = 0;
1299+
}
1300+
channel_keys_id
12961301
}
12971302

12981303
fn derive_channel_signer(&self, channel_value_satoshis: u64, channel_keys_id: [u8; 32]) -> TestChannelSigner {
@@ -1344,6 +1349,7 @@ impl TestKeysInterface {
13441349
enforcement_states: Mutex::new(new_hash_map()),
13451350
expectations: Mutex::new(None),
13461351
unavailable_signers_ops: Mutex::new(new_hash_map()),
1352+
legacy_channel_keys_derivation: false,
13471353
}
13481354
}
13491355

0 commit comments

Comments
 (0)