From 45efa8c6ddb092b14d35f9d2b65bb41ae5df1f41 Mon Sep 17 00:00:00 2001 From: levoncrypto Date: Mon, 11 Nov 2024 16:42:51 +0400 Subject: [PATCH] Fix block index issue with wallet scan --- src/wallet/wallet.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index 4273885fac..787a739f0d 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -2382,7 +2382,11 @@ CBlockIndex* CWallet::GetBlockByDate(CBlockIndex* pindexStart, const std::string while (pindex) { if (pindex->GetBlockTime() > targetTimestamp) { - return chainActive[pindex->nHeight - 200]; + if (pindex->nHeight >= 200) { + return chainActive[pindex->nHeight - 200]; + } else { + return chainActive[0]; + } } pindex = chainActive.Next(pindex); } @@ -2411,7 +2415,6 @@ CBlockIndex* CWallet::ScanForWalletTransactions(CBlockIndex *pindexStart, bool f // If you are recovering wallet with mnemonics, start rescan from the block when mnemonics were implemented in Firo. // If the user provides a date, start scanning from the block that corresponds to that date. // If no date is provided, start scanning from the mnemonic start block. - std::string wcdate = GetArg("-wcdate", ""); CBlockIndex* mnemonicStartBlock = chainActive[chainParams.GetConsensus().nMnemonicBlock]; if (mnemonicStartBlock == NULL)