BIP174: Deduplicate type definitions by introducing registry file#2135
Conversation
210088c to
3070d4b
Compare
|
Copncept ACK |
nymius
left a comment
There was a problem hiding this comment.
Concept ACK
From the specification perspective this is less prone to errors.
On the other side, I think I'm still going to paste all the fields in a single table when checking implementations. But there is no reason for it to be done in this repository.
There was a problem hiding this comment.
These lines conflict with the proposal.
There was a problem hiding this comment.
This line conflicts with the proposal.
d87c733 to
d6ff1be
Compare
|
ACK d6ff1be |
|
Concept ACK, nice cleanup |
| | None | ||
| | No key data | ||
| | <tt><8-bit uint flags></tt> | ||
| | An 8 bit little endian unsigned integer as a bitfield for various transaction modification flags. Bit 0 is the Inputs Modifiable Flag and indicates whether inputs can be modified. Bit 1 is the Outputs Modifiable Flag and indicates whether outputs can be modified. Bit 2 is the Has SIGHASH_SINGLE flag and indicates whether the transaction has a SIGHASH_SINGLE signature who's input and output pairing must be preserved. Bit 2 essentially indicates that the Constructor must iterate the inputs to determine whether and how to add an input. |
There was a problem hiding this comment.
Echoing the PR description, in case a reviewer of this change wonders if we're losing information by removing text like this: the text already exists in the parent BIP, in this case, BIP370.
|
ACK d6ff1be |
| * '''1.4.2''' (2026-04-08): | ||
| ** Introduce type registry auxiliary file | ||
| ** Add changelog | ||
| * '''1.4.1''' (2021-01-14): |
There was a problem hiding this comment.
Per semver (as well as consistency with the previous versioning here), 1.4.1 and 1.4.2 should probably be 1.5.0 and 1.6.0.
| |- | ||
| | Unsigned Transaction | ||
| | <tt>PSBT_GLOBAL_UNSIGNED_TX = 0x00</tt> | ||
| | [[bip-0174.mediawiki|174]] |
There was a problem hiding this comment.
These are not being resolved as they should in master, e.g., https://github.com/bitcoin/bips/blob/master/bip-0174/bip-0370.mediawiki
As this is placed inside bip-0174/ folder, it seems it expects all BIP files to live there.
There is any sort of parent directory reference in mediawiki?
There was a problem hiding this comment.
Ah darn, it is probably being interpreted as a relative path and is missing a "../".
So far, each BIP defining new PSBT types or fields has included the new definitions both in its own BIP text and then replicated them in BIP174. This violates the Single Source of Truth paradigm and presents an obvious vector for mismatching information across BIPs.
This PR proposes to make each BIP the sole authoritative source for the PSBT fields and types it introduces and extracts only the Name,
keytype, and "Parent BIP" columns from BIP174 to a registry file that tracks all existing definitions to prevent clashes.This PR builds on BIP376’s #2089 which is anticipated to be published soon, and will be rebased thereafter.