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

psbt: Remove default constructor

Public commit record

What the developer wrote

Authored by Ava Chow

70/100 · Adequate
psbt: Remove default constructor

Instead of allowing PSBTs to be default constructor, force usage of the
deserialization constructor.

CombinePSBTs, DecodeBase64PSBT, and DecodeRawPSBT are all changed to
return std::optional or util::result rather than using an output
parameter to avoid the need for a default constructor.
✓ Descriptive subject✓ Provides detailed explanatory context✓ Explains rationale or failure mode
The short version

What changed, and why it matters

This commit is a code-quality refactor for Bitcoin Core's Partially Signed Bitcoin Transaction (PSBT) handling. It removes the ability to create an empty/default PSBT object and changes helper functions so they return a valid PSBT or an explicit failure instead of filling in an empty object. This makes accidental use of an uninitialized PSBT impossible, but it does not fix a known active bug or vulnerability by itself.

Recommended action

Treat as a normal maintainability/refactor commit. No urgent security action is required. Reviewers may want to verify that all former default-constructed PSBT sites have been converted correctly and that no uninitialized PSBT can still be created accidentally.

Security signals we found

01

Defensive removal of default constructor to prevent uninitialized PSBT objects

02

Conversion of PSBT decode helpers to return optional/result types

03

No change to parsing, validation, or consensus rules

04

No mention of vulnerability, CVE, bug, or security fix in commit message

Risk score

Why this scored 19/100

Our methodology →
Potential impact 2/30
Exploitability 1/25
Stealth signal 1/15
Affected reach 3/15
Confidence 8/10
Evidence quality 4/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.