Skip to content

Commit 0e0aabe

Browse files
authored
Merge pull request #1317 from TheBlueMatt/2022-02-fix-bunk-test
Fix what `bolt2_open_channel_sending_node_checks_part1` tests
2 parents b89f881 + 6e776d9 commit 0e0aabe

File tree

3 files changed

+10
-18
lines changed

3 files changed

+10
-18
lines changed

lightning/src/ln/functional_tests.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6001,7 +6001,7 @@ fn bolt2_open_channel_sending_node_checks_part1() { //This test needs to be on i
60016001
let nodes = create_network(2, &node_cfgs, &node_chanmgrs);
60026002
//Force duplicate channel ids
60036003
for node in nodes.iter() {
6004-
*node.keys_manager.override_channel_id_priv.lock().unwrap() = Some([0; 32]);
6004+
*node.keys_manager.override_random_bytes.lock().unwrap() = Some([0; 32]);
60056005
}
60066006

60076007
// BOLT #2 spec: Sending node must ensure temporary_channel_id is unique from any other channel ID with the same peer.
@@ -6010,9 +6010,10 @@ fn bolt2_open_channel_sending_node_checks_part1() { //This test needs to be on i
60106010
nodes[0].node.create_channel(nodes[1].node.get_our_node_id(), channel_value_satoshis, push_msat, 42, None).unwrap();
60116011
let node0_to_1_send_open_channel = get_event_msg!(nodes[0], MessageSendEvent::SendOpenChannel, nodes[1].node.get_our_node_id());
60126012
nodes[1].node.handle_open_channel(&nodes[0].node.get_our_node_id(), InitFeatures::known(), &node0_to_1_send_open_channel);
6013+
get_event_msg!(nodes[1], MessageSendEvent::SendAcceptChannel, nodes[0].node.get_our_node_id());
60136014

60146015
//Create a second channel with a channel_id collision
6015-
assert!(nodes[0].node.create_channel(nodes[0].node.get_our_node_id(), channel_value_satoshis, push_msat, 42, None).is_err());
6016+
assert!(nodes[0].node.create_channel(nodes[1].node.get_our_node_id(), channel_value_satoshis, push_msat, 42, None).is_err());
60166017
}
60176018

60186019
#[test]

lightning/src/ln/onion_route_tests.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ fn test_onion_failure() {
320320
let node_chanmgrs = create_node_chanmgrs(3, &node_cfgs, &[Some(config), Some(config), Some(node_2_cfg)]);
321321
let mut nodes = create_network(3, &node_cfgs, &node_chanmgrs);
322322
for node in nodes.iter() {
323-
*node.keys_manager.override_session_priv.lock().unwrap() = Some([3; 32]);
323+
*node.keys_manager.override_random_bytes.lock().unwrap() = Some([3; 32]);
324324
}
325325
let channels = [create_announced_chan_between_nodes(&nodes, 0, 1, InitFeatures::known(), InitFeatures::known()), create_announced_chan_between_nodes(&nodes, 1, 2, InitFeatures::known(), InitFeatures::known())];
326326
let (route, payment_hash, _, payment_secret) = get_route_and_payment_hash!(nodes[0], nodes[2], 40000);
@@ -693,7 +693,7 @@ fn test_phantom_invalid_onion_payload() {
693693

694694
// We'll use the session priv later when constructing an invalid onion packet.
695695
let session_priv = [3; 32];
696-
*nodes[0].keys_manager.override_session_priv.lock().unwrap() = Some(session_priv);
696+
*nodes[0].keys_manager.override_random_bytes.lock().unwrap() = Some(session_priv);
697697
nodes[0].node.send_payment(&route, payment_hash.clone(), &Some(payment_secret)).unwrap();
698698
check_added_monitors!(nodes[0], 1);
699699
let update_0 = get_htlc_update_msgs!(nodes[0], nodes[1].node.get_our_node_id());

lightning/src/util/test_utils.rs

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -471,8 +471,7 @@ impl Logger for TestLogger {
471471

472472
pub struct TestKeysInterface {
473473
pub backing: keysinterface::PhantomKeysManager,
474-
pub override_session_priv: Mutex<Option<[u8; 32]>>,
475-
pub override_channel_id_priv: Mutex<Option<[u8; 32]>>,
474+
pub override_random_bytes: Mutex<Option<[u8; 32]>>,
476475
pub disable_revocation_policy_check: bool,
477476
enforcement_states: Mutex<HashMap<[u8;32], Arc<Mutex<EnforcementState>>>>,
478477
expectations: Mutex<Option<VecDeque<OnGetShutdownScriptpubkey>>>,
@@ -506,16 +505,9 @@ impl keysinterface::KeysInterface for TestKeysInterface {
506505
}
507506

508507
fn get_secure_random_bytes(&self) -> [u8; 32] {
509-
let override_channel_id = self.override_channel_id_priv.lock().unwrap();
510-
let override_session_key = self.override_session_priv.lock().unwrap();
511-
if override_channel_id.is_some() && override_session_key.is_some() {
512-
panic!("We don't know which override key to use!");
513-
}
514-
if let Some(key) = &*override_channel_id {
515-
return *key;
516-
}
517-
if let Some(key) = &*override_session_key {
518-
return *key;
508+
let override_random_bytes = self.override_random_bytes.lock().unwrap();
509+
if let Some(bytes) = &*override_random_bytes {
510+
return *bytes;
519511
}
520512
self.backing.get_secure_random_bytes()
521513
}
@@ -543,8 +535,7 @@ impl TestKeysInterface {
543535
let now = Duration::from_secs(genesis_block(network).header.time as u64);
544536
Self {
545537
backing: keysinterface::PhantomKeysManager::new(seed, now.as_secs(), now.subsec_nanos(), seed),
546-
override_session_priv: Mutex::new(None),
547-
override_channel_id_priv: Mutex::new(None),
538+
override_random_bytes: Mutex::new(None),
548539
disable_revocation_policy_check: false,
549540
enforcement_states: Mutex::new(HashMap::new()),
550541
expectations: Mutex::new(None),

0 commit comments

Comments
 (0)