script/verify_flags: extend script_verify_flags to 64 bits
What changed, and why it matters
This commit widens an internal Bitcoin Core data type used for script verification flags from 32 bits to 64 bits. It is a forward-looking capacity increase so more verification options can be added in the future. There is no indication it fixes an active security bug.
No security action required; treat as routine code maintenance.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The change updates script_verify_flags::value_type from uint32_t to uint64_t and relaxes a compile-time static_assert from <= 31 to <= 63. This simply doubles the available flag namespace for script verification flags. No existing flag behavior is altered, and no vulnerability is addressed in the diff.
Changed components
src/script/interpreter.hsrc/script/verify_flags.hInspect captured patch +2 / −2
diff --git a/src/script/interpreter.h b/src/script/interpreter.h
index 15f37fba..986b6b0d 100644
--- a/src/script/interpreter.h
+++ b/src/script/interpreter.h
@@ -154,7 +154,7 @@ using enum script_verify_flag_name;
static constexpr int MAX_SCRIPT_VERIFY_FLAGS_BITS = static_cast<int>(SCRIPT_VERIFY_END_MARKER);
// assert there is still a spare bit
-static_assert(0 < MAX_SCRIPT_VERIFY_FLAGS_BITS && MAX_SCRIPT_VERIFY_FLAGS_BITS <= 31);
+static_assert(0 < MAX_SCRIPT_VERIFY_FLAGS_BITS && MAX_SCRIPT_VERIFY_FLAGS_BITS <= 63);
static constexpr script_verify_flags::value_type MAX_SCRIPT_VERIFY_FLAGS = ((script_verify_flags::value_type{1} << MAX_SCRIPT_VERIFY_FLAGS_BITS) - 1);
diff --git a/src/script/verify_flags.h b/src/script/verify_flags.h
index 0d34174e..95a55d2c 100644
--- a/src/script/verify_flags.h
+++ b/src/script/verify_flags.h
@@ -14,7 +14,7 @@ enum class script_verify_flag_name : uint8_t;
class script_verify_flags
{
public:
- using value_type = uint32_t;
+ using value_type = uint64_t;
consteval script_verify_flags() = default;
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.