AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Low 25 Bitcoin

set Wno-error for simplicity keep warning but dont error on it

Public commit record

What the developer wrote

Authored by Tom Trevethan

91/100 · Strong
set Wno-error for simplicity keep warning but dont error on it

fuzz test fixes

set -DPRODUCTION for simplicity in fuzz tests

set UNDEBUG for simplicity in fuzz tests

update wallet fuzz tests

update test script

fix msvc conversion issues

more msvc vector conversion fixes and substitution of boost libs

fix more hexstr calls

fix hexstr calls in init.cpp

default CMAKE_GENERATOR to Unix Makefiles

more span fixes

specify build bin directory

fix executable locations

fix fuzz tests for c11 and functional test fixes

fix fuzz test executable path

specify legacy wallet for elements functional tests

remove assertion for static initialization order issue

use elements fuzz corpus

print debug log on failure

use heap for blind and asset_blind

test: avoid disk space warning for non-regtest

feature_config_args.py incorrectly assumed that its testnet4 node
would not log a disk space warning.

0683b8ebf33386d5c05140df89df10b1853d7c7e increased m_assumed_blockchain_size
on testnet4 from 1 to 11 GiB which triggers this bug on more
systems, e.g. a RAM disk.

Prevent the warning by setting -prune for these nodes.

Fix the same issue in feature_signet.py

Github-Pull: #32057
Rebased-From: 20fe41e9e83d510fd467f5a999d55a614b16ef89
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
The short version

What changed, and why it matters

This commit is a large maintenance patch for the Elements blockchain project. It mainly fixes build and test problems introduced by a recent upstream Bitcoin merge: compiler warnings became errors, fuzz tests used the wrong transaction format, Windows/MSVC builds failed, and some functional tests assumed too much disk space. The only directly user-visible runtime change is replacing a risky fixed-size on-stack array in transaction blinding code with a heap-allocated vector, which removes a potential stack-overflow/crash path when handling very large transactions. Most other changes are build-system, CI, or test-only adjustments.

Recommended action

Treat as a routine maintenance/build-fix commit. Review the blind.cpp stack-to-heap change for correctness (allocation size, zeroing, lifetime) and ensure fuzz/functional CI passes. No urgent security response is warranted, but the blind.cpp change is worth backporting if this commit is not already on release branches because it removes a real crash/DoS surface.

Security signals we found

01

Stack-to-heap change in blind.cpp removes a large fixed stack allocation that could cause stack exhaustion or crash during transaction blinding

02

Numerous API-adaptation changes (HexStr Span, DataStream Span, confidential CTxOut fields) are defensive compatibility fixes, not new vulnerabilities

03

Removal of `Assert(!g_used_g_prng)` in fuzzing test utility is a test-only workaround for Windows static initialization order, not a runtime weakening of PRNG guarantees

04

No changes to signature validation, consensus rules, network protocol parsing, or wallet encryption observed

Risk score

Why this scored 25/100

Our methodology →
Potential impact 5/30
Exploitability 3/25
Stealth signal 3/15
Affected reach 5/15
Confidence 6/10
Evidence quality 3/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.