- let persister = test_utils::TestPersister::new();
- let chain_monitor = test_utils::TestChainMonitor::new(
- Some(nodes[1].chain_source), nodes[1].tx_broadcaster.clone(), nodes[1].logger,
- node_cfgs[1].fee_estimator, &persister, nodes[1].keys_manager,
- );
-
- let mut chanmon_1 = <(_, ChannelMonitor<_>)>::read(
- &mut &get_monitor!(nodes[1], other_channel.3).encode()[..], nodes[1].keys_manager,
- ).unwrap().1;
- let mut chanmon_2 = <(_, ChannelMonitor<_>)>::read(
- &mut &get_monitor!(nodes[1], channel_to_update.0).encode()[..], nodes[1].keys_manager,
- ).unwrap().1;
- let mut channel_monitors = HashMap::new();
- channel_monitors.insert(chanmon_1.get_funding_txo().0, &mut chanmon_1);
- channel_monitors.insert(chanmon_2.get_funding_txo().0, &mut chanmon_2);
-
- let chanmgr = <(_, ChannelManager<_, _, _, _, _>)>::read(
- &mut &nodes[1].node.encode()[..], ChannelManagerReadArgs {
- default_config: *nodes[1].node.get_current_default_configuration(),
- keys_manager: nodes[1].keys_manager,
- fee_estimator: node_cfgs[1].fee_estimator,
- chain_monitor: &chain_monitor,
- tx_broadcaster: nodes[1].tx_broadcaster.clone(),
- logger: nodes[1].logger,
- channel_monitors: channel_monitors,
- },
- ).unwrap().1;
- chanmgr.list_channels().iter()
+ let chan_1_monitor_serialized = get_monitor!(nodes[1], other_channel.3).encode();
+ let chan_2_monitor_serialized = get_monitor!(nodes[1], channel_to_update.0).encode();
+ reload_node!(nodes[1], *nodes[1].node.get_current_default_configuration(), &nodes[1].node.encode(),
+ &[&chan_1_monitor_serialized, &chan_2_monitor_serialized], persister, chain_monitor, channel_manager_1_deserialized);
+ nodes[1].node.list_channels().iter()