Skip to content

Commit 417e866

Browse files
committed
Correct lifetimes on _reload_node
For some reason an unrelated PR caused all our tests with `reload_node` calls to fail to compile. This is due, in part, to the lifetimes on `reload_node` implying that the new and original `ChannelManager` (or some of the structs they reference) must live for the same lifetime. This fixes that issue by correcting the lifetimes to be consistent across `Node` and `_reload_node`.
1 parent a24626b commit 417e866

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

lightning/src/ln/functional_test_utils.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,7 @@ pub struct NodeCfg<'a> {
368368
pub override_init_features: Rc<RefCell<Option<InitFeatures>>>,
369369
}
370370

371-
type TestChannelManager<'a, 'b, 'c> = ChannelManager<&'b TestChainMonitor<'c>, &'c test_utils::TestBroadcaster, &'b test_utils::TestKeysInterface, &'b test_utils::TestKeysInterface, &'b test_utils::TestKeysInterface, &'c test_utils::TestFeeEstimator, &'b test_utils::TestRouter<'c>, &'c test_utils::TestLogger>;
371+
type TestChannelManager<'b, 'c> = ChannelManager<&'b TestChainMonitor<'c>, &'c test_utils::TestBroadcaster, &'b test_utils::TestKeysInterface, &'b test_utils::TestKeysInterface, &'b test_utils::TestKeysInterface, &'c test_utils::TestFeeEstimator, &'b test_utils::TestRouter<'c>, &'c test_utils::TestLogger>;
372372

373373
pub struct Node<'a, 'b: 'a, 'c: 'b> {
374374
pub chain_source: &'c test_utils::TestChainSource,
@@ -377,7 +377,7 @@ pub struct Node<'a, 'b: 'a, 'c: 'b> {
377377
pub router: &'b test_utils::TestRouter<'c>,
378378
pub chain_monitor: &'b test_utils::TestChainMonitor<'c>,
379379
pub keys_manager: &'b test_utils::TestKeysInterface,
380-
pub node: &'a TestChannelManager<'a, 'b, 'c>,
380+
pub node: &'a TestChannelManager<'b, 'c>,
381381
pub network_graph: &'a NetworkGraph<&'c test_utils::TestLogger>,
382382
pub gossip_sync: P2PGossipSync<&'b NetworkGraph<&'c test_utils::TestLogger>, &'c test_utils::TestChainSource, &'c test_utils::TestLogger>,
383383
pub node_seed: [u8; 32],
@@ -448,8 +448,8 @@ impl<H: NodeHolder> NodeHolder for &H {
448448
fn chain_monitor(&self) -> Option<&test_utils::TestChainMonitor> { (*self).chain_monitor() }
449449
}
450450
impl<'a, 'b: 'a, 'c: 'b> NodeHolder for Node<'a, 'b, 'c> {
451-
type CM = TestChannelManager<'a, 'b, 'c>;
452-
fn node(&self) -> &TestChannelManager<'a, 'b, 'c> { &self.node }
451+
type CM = TestChannelManager<'b, 'c>;
452+
fn node(&self) -> &TestChannelManager<'b, 'c> { &self.node }
453453
fn chain_monitor(&self) -> Option<&test_utils::TestChainMonitor> { Some(self.chain_monitor) }
454454
}
455455

@@ -924,7 +924,7 @@ macro_rules! check_added_monitors {
924924
}
925925
}
926926

927-
pub fn _reload_node<'a, 'b, 'c, 'd>(node: &'a Node<'b, 'c, 'd>, default_config: UserConfig, chanman_encoded: &[u8], monitors_encoded: &[&[u8]]) -> ChannelManager<&'b TestChainMonitor<'c>, &'c test_utils::TestBroadcaster, &'b test_utils::TestKeysInterface, &'b test_utils::TestKeysInterface, &'b test_utils::TestKeysInterface, &'c test_utils::TestFeeEstimator, &'b test_utils::TestRouter<'c>, &'c test_utils::TestLogger> {
927+
pub fn _reload_node<'a, 'b, 'c>(node: &'a Node<'a, 'b, 'c>, default_config: UserConfig, chanman_encoded: &[u8], monitors_encoded: &[&[u8]]) -> TestChannelManager<'b, 'c> {
928928
let mut monitors_read = Vec::with_capacity(monitors_encoded.len());
929929
for encoded in monitors_encoded {
930930
let mut monitor_read = &encoded[..];
@@ -940,7 +940,7 @@ pub fn _reload_node<'a, 'b, 'c, 'd>(node: &'a Node<'b, 'c, 'd>, default_config:
940940
for monitor in monitors_read.iter_mut() {
941941
assert!(channel_monitors.insert(monitor.get_funding_txo().0, monitor).is_none());
942942
}
943-
<(BlockHash, ChannelManager<&test_utils::TestChainMonitor, &test_utils::TestBroadcaster, &test_utils::TestKeysInterface, &test_utils::TestKeysInterface, &test_utils::TestKeysInterface, &test_utils::TestFeeEstimator, &test_utils::TestRouter, &test_utils::TestLogger>)>::read(&mut node_read, ChannelManagerReadArgs {
943+
<(BlockHash, TestChannelManager<'b, 'c>)>::read(&mut node_read, ChannelManagerReadArgs {
944944
default_config,
945945
entropy_source: node.keys_manager,
946946
node_signer: node.keys_manager,

0 commit comments

Comments
 (0)