mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-12 23:18:14 +01:00
Refactor/encapsulate chain globals into a CChain class
This commit is contained in:
20
src/init.cpp
20
src/init.cpp
@@ -116,7 +116,7 @@ void Shutdown()
|
||||
{
|
||||
LOCK(cs_main);
|
||||
if (pwalletMain)
|
||||
pwalletMain->SetBestChain(CBlockLocator(pindexBest));
|
||||
pwalletMain->SetBestChain(CBlockLocator(chainActive.Tip()));
|
||||
if (pblocktree)
|
||||
pblocktree->Flush();
|
||||
if (pcoinsTip)
|
||||
@@ -766,7 +766,7 @@ bool AppInit2(boost::thread_group& threadGroup)
|
||||
|
||||
// If the loaded chain has a wrong genesis, bail out immediately
|
||||
// (we're likely using a testnet datadir, or the other way around).
|
||||
if (!mapBlockIndex.empty() && pindexGenesisBlock == NULL)
|
||||
if (!mapBlockIndex.empty() && chainActive.Genesis() == NULL)
|
||||
return InitError(_("Incorrect or no genesis block found. Wrong datadir for network?"));
|
||||
|
||||
// Initialize the block index (no-op if non-empty database was already loaded)
|
||||
@@ -912,7 +912,7 @@ bool AppInit2(boost::thread_group& threadGroup)
|
||||
strErrors << _("Cannot write default address") << "\n";
|
||||
}
|
||||
|
||||
pwalletMain->SetBestChain(CBlockLocator(pindexBest));
|
||||
pwalletMain->SetBestChain(CBlockLocator(chainActive.Tip()));
|
||||
}
|
||||
|
||||
LogPrintf("%s", strErrors.str().c_str());
|
||||
@@ -920,9 +920,9 @@ bool AppInit2(boost::thread_group& threadGroup)
|
||||
|
||||
RegisterWallet(pwalletMain);
|
||||
|
||||
CBlockIndex *pindexRescan = pindexBest;
|
||||
CBlockIndex *pindexRescan = chainActive.Tip();
|
||||
if (GetBoolArg("-rescan", false))
|
||||
pindexRescan = pindexGenesisBlock;
|
||||
pindexRescan = chainActive.Genesis();
|
||||
else
|
||||
{
|
||||
CWalletDB walletdb(strWalletFile);
|
||||
@@ -930,16 +930,16 @@ bool AppInit2(boost::thread_group& threadGroup)
|
||||
if (walletdb.ReadBestBlock(locator))
|
||||
pindexRescan = locator.GetBlockIndex();
|
||||
else
|
||||
pindexRescan = pindexGenesisBlock;
|
||||
pindexRescan = chainActive.Genesis();
|
||||
}
|
||||
if (pindexBest && pindexBest != pindexRescan)
|
||||
if (chainActive.Tip() && chainActive.Tip() != pindexRescan)
|
||||
{
|
||||
uiInterface.InitMessage(_("Rescanning..."));
|
||||
LogPrintf("Rescanning last %i blocks (from block %i)...\n", pindexBest->nHeight - pindexRescan->nHeight, pindexRescan->nHeight);
|
||||
LogPrintf("Rescanning last %i blocks (from block %i)...\n", chainActive.Height() - pindexRescan->nHeight, pindexRescan->nHeight);
|
||||
nStart = GetTimeMillis();
|
||||
pwalletMain->ScanForWalletTransactions(pindexRescan, true);
|
||||
LogPrintf(" rescan %15"PRI64d"ms\n", GetTimeMillis() - nStart);
|
||||
pwalletMain->SetBestChain(CBlockLocator(pindexBest));
|
||||
pwalletMain->SetBestChain(CBlockLocator(chainActive.Tip()));
|
||||
nWalletDBUpdated++;
|
||||
}
|
||||
|
||||
@@ -985,7 +985,7 @@ bool AppInit2(boost::thread_group& threadGroup)
|
||||
|
||||
//// debug print
|
||||
LogPrintf("mapBlockIndex.size() = %"PRIszu"\n", mapBlockIndex.size());
|
||||
LogPrintf("nBestHeight = %d\n", nBestHeight);
|
||||
LogPrintf("nBestHeight = %d\n", chainActive.Height());
|
||||
LogPrintf("setKeyPool.size() = %"PRIszu"\n", pwalletMain ? pwalletMain->setKeyPool.size() : 0);
|
||||
LogPrintf("mapWallet.size() = %"PRIszu"\n", pwalletMain ? pwalletMain->mapWallet.size() : 0);
|
||||
LogPrintf("mapAddressBook.size() = %"PRIszu"\n", pwalletMain ? pwalletMain->mapAddressBook.size() : 0);
|
||||
|
||||
Reference in New Issue
Block a user