aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlaanwj <126646+laanwj@users.noreply.github.com>2022-06-02 19:04:49 +0200
committerlaanwj <126646+laanwj@users.noreply.github.com>2022-06-02 19:04:53 +0200
commit636991d0c0f969968c790d490c82c1d2fa4e8047 (patch)
treed8522765c10a3a331af3cdaef1f420e2dfcb0df7
parent39ddd522c37f760c8054d2fa58e026c69a50ce8b (diff)
parenta4741bd8d4b90b451d982d98eabd0dc5572baa29 (diff)
downloadbitcoin-636991d0c0f969968c790d490c82c1d2fa4e8047.tar.xz
Merge bitcoin/bitcoin#25264: kernel: pass params to BlockManager rather than using a global
a4741bd8d4b90b451d982d98eabd0dc5572baa29 kernel: pass params to BlockManager rather than using a global (Cory Fields) Pull request description: In a discussion today, dongcarl and I realized that is the only usage of the global `Params()` left in the kernel code. We can use the readily available reference in `ChainstateManager` instead. Note: There are still some uses of `BaseParams` in the kernel, so it doesn't make sense to rearrange the definitions quite yet. Once those are gone we can split the globals into new files. ACKs for top commit: MarcoFalke: cr ACK a4741bd8d4b90b451d982d98eabd0dc5572baa29 laanwj: Code review ACK a4741bd8d4b90b451d982d98eabd0dc5572baa29 Tree-SHA512: bfcc0c35e6c23689e968ccc96ceda39dd5a47fe94fbe617902110fe5865c30a40ea614bcfd4b4a2c846d2e84340aa8973e70b0938786af0fecfa3e6016d7fcad
-rw-r--r--src/node/blockstorage.cpp4
-rw-r--r--src/node/blockstorage.h2
-rw-r--r--src/validation.cpp2
3 files changed, 4 insertions, 4 deletions
diff --git a/src/node/blockstorage.cpp b/src/node/blockstorage.cpp
index 17ab226a30..9112ce3bf3 100644
--- a/src/node/blockstorage.cpp
+++ b/src/node/blockstorage.cpp
@@ -318,9 +318,9 @@ bool BlockManager::WriteBlockIndexDB()
return true;
}
-bool BlockManager::LoadBlockIndexDB()
+bool BlockManager::LoadBlockIndexDB(const Consensus::Params& consensus_params)
{
- if (!LoadBlockIndex(::Params().GetConsensus())) {
+ if (!LoadBlockIndex(consensus_params)) {
return false;
}
diff --git a/src/node/blockstorage.h b/src/node/blockstorage.h
index 488713dbd8..2e52716649 100644
--- a/src/node/blockstorage.h
+++ b/src/node/blockstorage.h
@@ -153,7 +153,7 @@ public:
std::unique_ptr<CBlockTreeDB> m_block_tree_db GUARDED_BY(::cs_main);
bool WriteBlockIndexDB() EXCLUSIVE_LOCKS_REQUIRED(::cs_main);
- bool LoadBlockIndexDB() EXCLUSIVE_LOCKS_REQUIRED(::cs_main);
+ bool LoadBlockIndexDB(const Consensus::Params& consensus_params) EXCLUSIVE_LOCKS_REQUIRED(::cs_main);
CBlockIndex* AddToBlockIndex(const CBlockHeader& block, CBlockIndex*& best_header) EXCLUSIVE_LOCKS_REQUIRED(cs_main);
/** Create a new block index entry for a given block hash */
diff --git a/src/validation.cpp b/src/validation.cpp
index 9ad95c1c08..448720ff83 100644
--- a/src/validation.cpp
+++ b/src/validation.cpp
@@ -4158,7 +4158,7 @@ bool ChainstateManager::LoadBlockIndex()
// Load block index from databases
bool needs_init = fReindex;
if (!fReindex) {
- bool ret = m_blockman.LoadBlockIndexDB();
+ bool ret = m_blockman.LoadBlockIndexDB(GetConsensus());
if (!ret) return false;
std::vector<CBlockIndex*> vSortedByHeight{m_blockman.GetAllBlockIndices()};