From 57a3eac387bd26689aed7682b248b648dba42779 Mon Sep 17 00:00:00 2001 From: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> Date: Tue, 9 Sep 2025 12:34:30 +0100 Subject: [PATCH] refactor: Fix includes in `index` directory --- contrib/devtools/iwyu/bitcoin.core.imp | 5 ++++ src/index/base.cpp | 20 +++++++++++++--- src/index/base.h | 24 ++++++++++++++----- src/index/blockfilterindex.cpp | 32 +++++++++++++++++++++----- src/index/blockfilterindex.h | 15 ++++++++++-- src/index/coinstatsindex.cpp | 25 +++++++++++++++++--- src/index/coinstatsindex.h | 9 +++++++- src/index/txindex.cpp | 22 ++++++++++++++++-- src/index/txindex.h | 9 ++++++++ 9 files changed, 138 insertions(+), 23 deletions(-) diff --git a/contrib/devtools/iwyu/bitcoin.core.imp b/contrib/devtools/iwyu/bitcoin.core.imp index 789abcdadb8..c3195e519d4 100644 --- a/contrib/devtools/iwyu/bitcoin.core.imp +++ b/contrib/devtools/iwyu/bitcoin.core.imp @@ -8,4 +8,9 @@ # libc symbols. { "symbol": ["AT_HWCAP", "private", "", "public"] }, { "symbol": ["AT_HWCAP2", "private", "", "public"] }, + + # Fixed in https://github.com/include-what-you-use/include-what-you-use/pull/1706. + { "symbol": ["SEEK_CUR", "private", "", "public"] }, + { "symbol": ["SEEK_END", "private", "", "public"] }, + { "symbol": ["SEEK_SET", "private", "", "public"] }, ] diff --git a/src/index/base.cpp b/src/index/base.cpp index 82259ac046a..b547a13c76d 100644 --- a/src/index/base.cpp +++ b/src/index/base.cpp @@ -2,10 +2,13 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#include -#include #include + +#include +#include +#include #include +#include #include #include #include @@ -13,20 +16,31 @@ #include #include #include +#include +#include #include +#include #include +#include #include #include +#include +#include #include #include +#include -#include +#include +#include +#include #include #include +#include #include #include #include #include +#include constexpr uint8_t DB_BEST_BLOCK{'B'}; diff --git a/src/index/base.h b/src/index/base.h index 4131b06cad9..5a6f0a40740 100644 --- a/src/index/base.h +++ b/src/index/base.h @@ -5,29 +5,41 @@ #ifndef BITCOIN_INDEX_BASE_H #define BITCOIN_INDEX_BASE_H +#include #include #include -#include -#include +#include +#include +#include +#include #include #include +#include +#include +#include +#include #include +#include class CBlock; class CBlockIndex; class Chainstate; -class ChainstateManager; -namespace interfaces { -class Chain; -} // namespace interfaces +struct CBlockLocator; struct IndexSummary { std::string name; bool synced{false}; int best_block_height{0}; uint256 best_block_hash; }; +namespace interfaces { +struct BlockRef; +} +namespace util { +template +struct ConstevalFormatString; +} /** * Base class for indices of blockchain data. This implements diff --git a/src/index/blockfilterindex.cpp b/src/index/blockfilterindex.cpp index 2ccae3a221b..e47e47c1c25 100644 --- a/src/index/blockfilterindex.cpp +++ b/src/index/blockfilterindex.cpp @@ -2,19 +2,39 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#include +#include -#include +#include +#include #include #include +#include #include -#include +#include +#include +#include #include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + /* The index database stores three items for each block: the disk location of the encoded filter, * its dSHA256 hash, and the header. Those belonging to blocks on the active chain are indexed by * height, and those belonging to blocks that have been reorganized out of the active chain are diff --git a/src/index/blockfilterindex.h b/src/index/blockfilterindex.h index 983cf32206a..b1ebd55f338 100644 --- a/src/index/blockfilterindex.h +++ b/src/index/blockfilterindex.h @@ -6,13 +6,24 @@ #define BITCOIN_INDEX_BLOCKFILTERINDEX_H #include -#include -#include #include #include +#include +#include +#include #include +#include +#include +#include +#include +#include #include +#include + +class BlockFilter; +class CBlockIndex; +enum class BlockFilterType : uint8_t; static const char* const DEFAULT_BLOCKFILTERINDEX = "0"; diff --git a/src/index/coinstatsindex.cpp b/src/index/coinstatsindex.cpp index af798e29139..f247a1d01ec 100644 --- a/src/index/coinstatsindex.cpp +++ b/src/index/coinstatsindex.cpp @@ -2,20 +2,39 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. +#include + #include +#include #include #include #include +#include #include -#include +#include +#include +#include +#include #include #include -#include +#include +#include +#include