iwyu: Do not export `crypto/hex_base.h` header
What changed, and why it matters
This is a code cleanup change about which C++ header files include other header files. It removes an 'export' annotation from an internal header so that tools checking include correctness no longer treat it as publicly re-exported. There is no functional change to Bitcoin's behavior and no security relevance.
No security action needed. Treat as normal maintenance/refactoring.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit removes the IWYU pragma: export directive from the #include
Changed components
src/util/strencodings.hsrc/core_io.cppsrc/kernel/chainparams.cppsrc/node/blockstorage.cppInspect captured patch +4 / −1
diff --git a/src/core_io.cpp b/src/core_io.cpp
index a789d5ca..d22e2251 100644
--- a/src/core_io.cpp
+++ b/src/core_io.cpp
@@ -9,6 +9,7 @@
#include <consensus/amount.h>
#include <consensus/consensus.h>
#include <consensus/validation.h>
+#include <crypto/hex_base.h>
#include <key_io.h>
#include <primitives/block.h> // IWYU pragma: keep
#include <primitives/transaction.h>
diff --git a/src/kernel/chainparams.cpp b/src/kernel/chainparams.cpp
index c25455d0..16ebffb9 100644
--- a/src/kernel/chainparams.cpp
+++ b/src/kernel/chainparams.cpp
@@ -9,6 +9,7 @@
#include <consensus/amount.h>
#include <consensus/merkle.h>
#include <consensus/params.h>
+#include <crypto/hex_base.h>
#include <hash.h>
#include <kernel/messagestartchars.h>
#include <logging.h>
diff --git a/src/node/blockstorage.cpp b/src/node/blockstorage.cpp
index 84b7cfec..37bf1799 100644
--- a/src/node/blockstorage.cpp
+++ b/src/node/blockstorage.cpp
@@ -7,6 +7,7 @@
#include <arith_uint256.h>
#include <chain.h>
#include <consensus/params.h>
+#include <crypto/hex_base.h>
#include <dbwrapper.h>
#include <flatfile.h>
#include <hash.h>
diff --git a/src/util/strencodings.h b/src/util/strencodings.h
index fe0e2554..b070e5b8 100644
--- a/src/util/strencodings.h
+++ b/src/util/strencodings.h
@@ -9,7 +9,7 @@
#ifndef BITCOIN_UTIL_STRENCODINGS_H
#define BITCOIN_UTIL_STRENCODINGS_H
-#include <crypto/hex_base.h> // IWYU pragma: export
+#include <crypto/hex_base.h>
#include <span.h>
#include <util/string.h>
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.