From 32fa86d663f008ca6083dcd0f964cc04297816ab Mon Sep 17 00:00:00 2001 From: Michael Mallan Date: Fri, 6 Sep 2024 21:17:34 +0100 Subject: [PATCH] electrum: check in db if rescan required --- src/bitcoin/electrum/mod.rs | 3 ++- src/lib.rs | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/bitcoin/electrum/mod.rs b/src/bitcoin/electrum/mod.rs index 8b9745c7..af14c586 100644 --- a/src/bitcoin/electrum/mod.rs +++ b/src/bitcoin/electrum/mod.rs @@ -55,12 +55,13 @@ impl Electrum { pub fn new( client: client::Client, bdk_wallet: wallet::BdkWallet, + full_scan: bool, ) -> Result { Ok(Self { client, bdk_wallet, sync_count: 0, - full_scan: false, // by default, only perform full scan if wallet's local chain has height 0 + full_scan, }) } diff --git a/src/lib.rs b/src/lib.rs index b43ca31b..484cd6cd 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -361,7 +361,8 @@ fn setup_electrum( receive_index, change_index, ); - let electrum = Electrum::new(client, bdk_wallet).map_err(StartupError::Electrum)?; + let full_scan = db_conn.rescan_timestamp().is_some(); + let electrum = Electrum::new(client, bdk_wallet, full_scan).map_err(StartupError::Electrum)?; electrum .sanity_checks(&genesis_hash) .map_err(StartupError::Electrum)?;