bip138: clarify receive-only descriptor set, 0 birth time, and BIP32 range - #2298
Merged
Merged
Conversation
Record the initial published draft using the BIP3 document-version and changelog convention.
Make change_descriptor explicitly optional for non-multipath descriptors. Add a receive-only document vector with no change descriptor or optional metadata; the existing vectors cover a receive/change pair and multipath.
Identify range bounds as BIP32 non-hardened child indexes, ordered from start to end.
Explain that zero and omission both mean the birth time is unknown. Recommend scanning from the wallet birthday if known, otherwise from genesis.
Record this branch's clarifications and test vectors under draft document version 0.1.1. Keep the initial-publication entry in the shared first commit.
Member
Author
|
cc @pythcoiner |
This was referenced Sep 23, 2026
murchandamus
left a comment
Member
There was a problem hiding this comment.
Mostly fixup, but changes the semantics of change_descriptor.
Sjors
added a commit
to Sjors/bitcoin
that referenced
this pull request
Sep 23, 2026
Import the new descriptor-document vector proposed in bitcoin/bips#2298 (descriptor and policy metadata) into the existing descriptor-document fixture. Check that a document without optional metadata imports one active receive descriptor and uses time zero when no birth time is supplied.
Sjors
added a commit
to Sjors/bitcoin
that referenced
this pull request
Sep 23, 2026
Import the new descriptor-document vector proposed in bitcoin/bips#2298 (descriptor and policy metadata) into the existing descriptor-document fixture. Check that a document without optional metadata imports one active receive descriptor and uses time zero when no birth time is supplied.
Contributor
|
ACK 8c13149 |
Member
Author
I've always understood and implemented it in the way described here: it's optional. |
Contributor
|
I also had implemented it optional |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR makes a couple of clarifications around the descriptor (and bip388 policy) sets.
It adds one test vector, but shouldn't be a breaking change.
Three middle commits:
rangebirthday if known, otherwise from genesis.
The first commit introduces a changelog. I'm reusing that commit across a few parallel pull requests.
The last commit updates the changelog; I'll update that depending on merge order.