|
|
|
@ -1673,20 +1673,15 @@ CBlockIndex* CWallet::ScanForWalletTransactions(CBlockIndex* pindexStart, CBlock
|
|
|
|
|
dProgressStart = GuessVerificationProgress(chainParams.TxData(), pindex);
|
|
|
|
|
dProgressTip = GuessVerificationProgress(chainParams.TxData(), tip);
|
|
|
|
|
}
|
|
|
|
|
double gvp = dProgressStart;
|
|
|
|
|
while (pindex && !fAbortRescan)
|
|
|
|
|
{
|
|
|
|
|
if (pindex->nHeight % 100 == 0 && dProgressTip - dProgressStart > 0.0) {
|
|
|
|
|
double gvp = 0;
|
|
|
|
|
{
|
|
|
|
|
LOCK(cs_main);
|
|
|
|
|
gvp = GuessVerificationProgress(chainParams.TxData(), pindex);
|
|
|
|
|
}
|
|
|
|
|
ShowProgress(_("Rescanning..."), std::max(1, std::min(99, (int)((gvp - dProgressStart) / (dProgressTip - dProgressStart) * 100))));
|
|
|
|
|
}
|
|
|
|
|
if (GetTime() >= nNow + 60) {
|
|
|
|
|
nNow = GetTime();
|
|
|
|
|
LOCK(cs_main);
|
|
|
|
|
LogPrintf("Still rescanning. At block %d. Progress=%f\n", pindex->nHeight, GuessVerificationProgress(chainParams.TxData(), pindex));
|
|
|
|
|
LogPrintf("Still rescanning. At block %d. Progress=%f\n", pindex->nHeight, gvp);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CBlock block;
|
|
|
|
@ -1710,6 +1705,7 @@ CBlockIndex* CWallet::ScanForWalletTransactions(CBlockIndex* pindexStart, CBlock
|
|
|
|
|
{
|
|
|
|
|
LOCK(cs_main);
|
|
|
|
|
pindex = chainActive.Next(pindex);
|
|
|
|
|
gvp = GuessVerificationProgress(chainParams.TxData(), pindex);
|
|
|
|
|
if (tip != chainActive.Tip()) {
|
|
|
|
|
tip = chainActive.Tip();
|
|
|
|
|
// in case the tip has changed, update progress max
|
|
|
|
@ -1718,7 +1714,7 @@ CBlockIndex* CWallet::ScanForWalletTransactions(CBlockIndex* pindexStart, CBlock
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (pindex && fAbortRescan) {
|
|
|
|
|
LogPrintf("Rescan aborted at block %d. Progress=%f\n", pindex->nHeight, GuessVerificationProgress(chainParams.TxData(), pindex));
|
|
|
|
|
LogPrintf("Rescan aborted at block %d. Progress=%f\n", pindex->nHeight, gvp);
|
|
|
|
|
}
|
|
|
|
|
ShowProgress(_("Rescanning..."), 100); // hide progress dialog in GUI
|
|
|
|
|
}
|
|
|
|
|