Small optimizations during rescanning and ChainTip()

This commit is contained in:
Duke Leto
2021-05-19 10:51:07 -04:00
parent d977345b26
commit 4db320355b

View File

@@ -480,15 +480,21 @@ void CWallet::ChainTip(const CBlockIndex *pindex,
pblock->GetBlockTime() > GetTime() - 144*ASSETCHAINS_BLOCKTIME) pblock->GetBlockTime() > GetTime() - 144*ASSETCHAINS_BLOCKTIME)
{ {
BuildWitnessCache(pindex, false); BuildWitnessCache(pindex, false);
if (fSaplingConsolidationEnabled) {
RunSaplingConsolidation(pindex->GetHeight()); RunSaplingConsolidation(pindex->GetHeight());
}
if (fTxDeleteEnabled) {
DeleteWalletTransactions(pindex); DeleteWalletTransactions(pindex);
}
} else { } else {
//Build initial witnesses on every block //Build initial witnesses on every block
BuildWitnessCache(pindex, true); BuildWitnessCache(pindex, true);
if (fTxDeleteEnabled) {
if (initialDownloadCheck && pindex->GetHeight() % fDeleteInterval == 0) { if (initialDownloadCheck && pindex->GetHeight() % fDeleteInterval == 0) {
DeleteWalletTransactions(pindex); DeleteWalletTransactions(pindex);
} }
} }
}
} else { } else {
DecrementNoteWitnesses(pindex); DecrementNoteWitnesses(pindex);
UpdateNullifierNoteMapForBlock(pblock); UpdateNullifierNoteMapForBlock(pblock);
@@ -1122,6 +1128,7 @@ void CWallet::BuildWitnessCache(const CBlockIndex* pindex, bool witnessOnly)
nd->witnessHeight = pblockindex->GetHeight(); nd->witnessHeight = pblockindex->GetHeight();
} }
} }
} }
} }
@@ -2734,8 +2741,10 @@ int CWallet::ScanForWalletTransactions(CBlockIndex* pindexStart, bool fUpdate)
BuildWitnessCache(pindex, true); BuildWitnessCache(pindex, true);
//Delete Transactions //Delete Transactions
if (fTxDeleteEnabled) {
if (pindex->GetHeight() % fDeleteInterval == 0) if (pindex->GetHeight() % fDeleteInterval == 0)
DeleteWalletTransactions(pindex); DeleteWalletTransactions(pindex);
}
if (GetTime() >= nNow + 60) { if (GetTime() >= nNow + 60) {
nNow = GetTime(); nNow = GetTime();