From a6219fdc2b62b66bfb048f90084336c4cfc681c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C5=91rinc?= Date: Wed, 4 Mar 2026 14:46:45 +0000 Subject: [PATCH 1/4] uint256: move runtime hex parsing out of `uint256.h` Define `uint160::FromHex`, `uint256::FromHex`, and `uint256::FromUserHex` in `uint256.cpp` and keep only declarations in `uint256.h`. Drop heavy `util/strencodings.h` and `util/string.h` includes from `uint256.h` by using a local consteval hex helper for literal construction and non-inline parsing helpers in the `.cpp` file. Add direct includes in `musig.cpp` and `outputtype.cpp` for symbols that were previously provided transitively via `uint256.h`. --- src/musig.cpp | 1 + src/outputtype.cpp | 1 + src/uint256.cpp | 46 +++++++++++++++++++++++++++++++ src/uint256.h | 68 +++++++++++----------------------------------- 4 files changed, 64 insertions(+), 52 deletions(-) diff --git a/src/musig.cpp b/src/musig.cpp index 706874be2cf5..25936164a1b0 100644 --- a/src/musig.cpp +++ b/src/musig.cpp @@ -4,6 +4,7 @@ #include #include +#include #include diff --git a/src/outputtype.cpp b/src/outputtype.cpp index 082641f5e2e0..52709ea61dae 100644 --- a/src/outputtype.cpp +++ b/src/outputtype.cpp @@ -9,6 +9,7 @@ #include