Found some small problems and contradictions in the Output Descriptors BIPs while implementing a Golang version.
BIP-{383,386,389,390}: fix small issues and discrepancies #2239
pull guggero wants to merge 7 commits into bitcoin:master from guggero:descriptors-bugfix changing 4 files +16 −11-
guggero commented at 9:07 AM on August 6, 2026: contributor
-
bip389: fix missing parenthesis in test vector 384a2e1351
-
bip390: fix missing parenthesis in test vector 7517a8b2ac
-
9570a72d50
bip389: remove H as valid hardened step indicator
In BIP380 the capital letter H is explicitly defined as an invalid indicator for a hardened step. The "Invalid expression" section has explicit examples prefixed "Invalid hardened indicators" that show "0H/0H/0H" as being wrong.
-
83c04884a1
bip386: remove stray space
A stray space is not allowed inside such an expression.
-
d7854890ac
bip386: update stale sentence
New BIPs with more allowed expressions within a tr() tree have been added and are worth mentioning.
-
bip383: fix incomplete sentence 279395a60c
-
19d6e7f204
bip383: specify more precise script size limit
The "15 compressed public keys" rule is not very precise and doesn't mention uncompressed ones. Core implements this differently as well: https://github.com/bitcoin/bitcoin/blob/master/src/script/descriptor.cpp#L2425 So we make the definition more precise.
-
achow101 commented at 7:17 PM on August 6, 2026: member
ACK 19d6e7f204dba63c5c3f36a999c00c7dd3c24448
- jonatack added the label Proposed BIP modification on Aug 6, 2026
- jonatack added the label Bug fix on Aug 6, 2026
-
jonatack commented at 8:02 PM on August 6, 2026: member
ACK
- jonatack merged this on Aug 6, 2026
- jonatack closed this on Aug 6, 2026
- guggero deleted the branch on Aug 6, 2026