validation: add CChainParams to ChainstateManager

This commit is contained in:
Anthony Towns
2022-01-18 21:34:16 +10:00
parent a8098f2cef
commit 69675ea4e7
5 changed files with 18 additions and 4 deletions

View File

@@ -13,6 +13,7 @@
#include <arith_uint256.h>
#include <attributes.h>
#include <chain.h>
#include <chainparams.h>
#include <consensus/amount.h>
#include <fs.h>
#include <node/blockstorage.h>
@@ -51,6 +52,9 @@ struct AssumeutxoData;
namespace node {
class SnapshotMetadata;
} // namespace node
namespace Consensus {
struct Params;
} // namespace Consensus
/** Default for -minrelaytxfee, minimum relay fee for transactions */
static const unsigned int DEFAULT_MIN_RELAY_TX_FEE = 1000;
@@ -834,6 +838,8 @@ private:
CBlockIndex* m_best_invalid GUARDED_BY(::cs_main){nullptr};
const CChainParams& m_chainparams;
//! Internal helper for ActivateSnapshot().
[[nodiscard]] bool PopulateAndValidateSnapshot(
CChainState& snapshot_chainstate,
@@ -852,6 +858,11 @@ private:
friend CChainState;
public:
explicit ChainstateManager(const CChainParams& chainparams) : m_chainparams{chainparams} { }
const CChainParams& GetParams() const { return m_chainparams; }
const Consensus::Params& GetConsensus() const { return m_chainparams.GetConsensus(); }
std::thread m_load_block;
//! A single BlockManager instance is shared across each constructed
//! chainstate to avoid duplicating block metadata.