use lightning::chain::chaininterface::{BroadcasterInterface, ConfirmationTarget, FeeEstimator};
use lightning::chain::chainmonitor;
use lightning::chain::keysinterface::{InMemorySigner, KeysInterface, KeysManager};
-use lightning::chain::Filter;
-use lightning::chain::Watch;
+use lightning::chain::{BestBlock, Filter, Watch};
use lightning::ln::channelmanager;
use lightning::ln::channelmanager::{
- BestBlock, ChainParameters, ChannelManagerReadArgs, SimpleArcChannelManager,
+ ChainParameters, ChannelManagerReadArgs, SimpleArcChannelManager,
};
use lightning::ln::peer_handler::{MessageHandler, SimpleArcPeerManager};
use lightning::ln::{PaymentHash, PaymentPreimage, PaymentSecret};
let persist_channel_manager_callback =
move |node: &ChannelManager| FilesystemPersister::persist_manager(data_dir.clone(), &*node);
// Step 17: Background Processing
- BackgroundProcessor::start(
+ let background_processor = BackgroundProcessor::start(
persist_channel_manager_callback,
event_handler,
chain_monitor.clone(),
Ok(mut info) => {
for (pubkey, peer_addr) in info.drain() {
for chan_info in channel_manager.list_channels() {
- if pubkey == chan_info.remote_network_id {
+ if pubkey == chan_info.counterparty.node_id {
let _ =
cli::connect_peer_if_necessary(pubkey, peer_addr, peer_manager.clone())
.await;
network,
)
.await;
+
+ // Stop the background processor.
+ background_processor.stop().unwrap();
}
#[tokio::main]