Merge #1289: electrum: check in db if rescan required

32fa86d663f008ca6083dcd0f964cc04297816ab electrum: check in db if rescan required (Michael Mallan)

Pull request description:

  This Michael's last commit from #1285.

ACKs for top commit:
  darosior:
    ACK 32fa86d663f008ca6083dcd0f964cc04297816ab

Tree-SHA512: 940f5828aff3fb58ad60ce93ea8e16a7ec43325a79d64ea6e887bb92d99df1a41c27bde903c6d969dd7156bf3a4a4833d9321b8570ccfa37ffc869a8079542c5
This commit is contained in:
Antoine Poinsot 2024-09-07 12:17:55 +02:00
commit 255e921a2a
No known key found for this signature in database
GPG Key ID: E13FC145CD3F4304
2 changed files with 4 additions and 2 deletions

View File

@ -55,12 +55,13 @@ impl Electrum {
pub fn new(
client: client::Client,
bdk_wallet: wallet::BdkWallet,
full_scan: bool,
) -> Result<Self, ElectrumError> {
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,
})
}

View File

@ -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)?;