diff --git a/src/node/chainstate.cpp b/src/node/chainstate.cpp index ba1024d22e1..fa521a9e032 100644 --- a/src/node/chainstate.cpp +++ b/src/node/chainstate.cpp @@ -10,12 +10,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include @@ -64,7 +66,12 @@ ChainstateLoadResult LoadChainstate(ChainstateManager& chainman, const CacheSize // new CBlockTreeDB tries to delete the existing file, which // fails if it's still open from the previous loop. Close it first: pblocktree.reset(); - pblocktree.reset(new CBlockTreeDB(cache_sizes.block_tree_db, options.block_tree_db_in_memory, options.reindex)); + pblocktree = std::make_unique(DBParams{ + .path = gArgs.GetDataDirNet() / "blocks" / "index", + .cache_bytes = static_cast(cache_sizes.block_tree_db), + .memory_only = options.block_tree_db_in_memory, + .wipe_data = options.reindex, + .options = [] { DBOptions options; node::ReadDatabaseArgs(gArgs, options); return options; }()}); if (options.reindex) { pblocktree->WriteReindexing(true); diff --git a/src/test/util/setup_common.cpp b/src/test/util/setup_common.cpp index 6e72f699682..2318380c6e4 100644 --- a/src/test/util/setup_common.cpp +++ b/src/test/util/setup_common.cpp @@ -184,7 +184,10 @@ ChainTestingSetup::ChainTestingSetup(const std::string& chainName, const std::ve .check_block_index = true, }; m_node.chainman = std::make_unique(chainman_opts); - m_node.chainman->m_blockman.m_block_tree_db = std::make_unique(m_cache_sizes.block_tree_db, true); + m_node.chainman->m_blockman.m_block_tree_db = std::make_unique(DBParams{ + .path = m_args.GetDataDirNet() / "blocks" / "index", + .cache_bytes = static_cast(m_cache_sizes.block_tree_db), + .memory_only = true}); constexpr int script_check_threads = 2; StartScriptCheckWorkerThreads(script_check_threads); diff --git a/src/txdb.cpp b/src/txdb.cpp index 5803bc7b310..7257fb49590 100644 --- a/src/txdb.cpp +++ b/src/txdb.cpp @@ -6,7 +6,6 @@ #include #include -#include #include #include #include @@ -176,14 +175,6 @@ size_t CCoinsViewDB::EstimateSize() const return m_db->EstimateSize(DB_COIN, uint8_t(DB_COIN + 1)); } -CBlockTreeDB::CBlockTreeDB(size_t nCacheSize, bool fMemory, bool fWipe) : CDBWrapper{DBParams{ - .path = gArgs.GetDataDirNet() / "blocks" / "index", - .cache_bytes = nCacheSize, - .memory_only = fMemory, - .wipe_data = fWipe, - .options = [] { DBOptions options; node::ReadDatabaseArgs(gArgs, options); return options; }()}} { -} - bool CBlockTreeDB::ReadBlockFileInfo(int nFile, CBlockFileInfo &info) { return Read(std::make_pair(DB_BLOCK_FILES, nFile), info); } diff --git a/src/txdb.h b/src/txdb.h index bfbfab57a4a..8a876349fb0 100644 --- a/src/txdb.h +++ b/src/txdb.h @@ -86,8 +86,7 @@ public: class CBlockTreeDB : public CDBWrapper { public: - explicit CBlockTreeDB(size_t nCacheSize, bool fMemory = false, bool fWipe = false); - + using CDBWrapper::CDBWrapper; bool WriteBatchSync(const std::vector >& fileInfo, int nLastFile, const std::vector& blockinfo); bool ReadBlockFileInfo(int nFile, CBlockFileInfo &info); bool ReadLastBlockFile(int &nFile);