Merge pull request #77 from tnull/2022-10-catch-ctrlc
authorMatt Corallo <649246+TheBlueMatt@users.noreply.github.com>
Mon, 24 Oct 2022 21:10:39 +0000 (21:10 +0000)
committerGitHub <noreply@github.com>
Mon, 24 Oct 2022 21:10:39 +0000 (21:10 +0000)
Catch Ctrl-C and enable Ctrl-D

src/bitcoind_client.rs
src/main.rs

index 70928a13576732e0b398589ecbe539f3461d4137..93321dd0a44a26f9a4ed35788778629dd7f6ef2b 100644 (file)
@@ -33,7 +33,7 @@ pub enum Target {
        HighPriority,
 }
 
-impl BlockSource for &BitcoindClient {
+impl BlockSource for BitcoindClient {
        fn get_header<'a>(
                &'a self, header_hash: &'a BlockHash, height_hint: Option<u32>,
        ) -> AsyncBlockSourceResult<'a, BlockHeaderData> {
index f3d888bca37e6818e0e4db727a64792c014fbdf6..0d5915d9effc49415a10e0080a49e90af83aae81 100644 (file)
@@ -48,7 +48,6 @@ use std::fs;
 use std::fs::File;
 use std::io;
 use std::io::Write;
-use std::ops::Deref;
 use std::path::Path;
 use std::sync::atomic::{AtomicBool, Ordering};
 use std::sync::{Arc, Mutex};
@@ -531,7 +530,7 @@ async fn start_ldk() {
                }
                chain_tip = Some(
                        init::synchronize_listeners(
-                               &mut bitcoind_client.deref(),
+                               bitcoind_client.as_ref(),
                                args.network,
                                &mut cache,
                                chain_listeners,
@@ -609,16 +608,14 @@ async fn start_ldk() {
 
        // Step 14: Connect and Disconnect Blocks
        if chain_tip.is_none() {
-               chain_tip =
-                       Some(init::validate_best_block_header(&mut bitcoind_client.deref()).await.unwrap());
+               chain_tip = Some(init::validate_best_block_header(bitcoind_client.as_ref()).await.unwrap());
        }
        let channel_manager_listener = channel_manager.clone();
        let chain_monitor_listener = chain_monitor.clone();
        let bitcoind_block_source = bitcoind_client.clone();
        let network = args.network;
        tokio::spawn(async move {
-               let mut derefed = bitcoind_block_source.deref();
-               let chain_poller = poll::ChainPoller::new(&mut derefed, network);
+               let chain_poller = poll::ChainPoller::new(bitcoind_block_source.as_ref(), network);
                let chain_listener = (chain_monitor_listener, channel_manager_listener);
                let mut spv_client =
                        SpvClient::new(chain_tip.unwrap(), chain_poller, &mut cache, &chain_listener);