Convert bip32_derivation fields to bitcoin::PublicKey#77
Merged
tcharding merged 1 commit intorust-bitcoin:masterfrom Mar 19, 2026
Merged
Conversation
Collaborator
|
I've checked the format, linter and others locally, but |
Member
|
CI should be fixed now mate if you rebase. |
tcharding
approved these changes
Mar 18, 2026
485a434 to
135dc8a
Compare
tcharding
approved these changes
Mar 18, 2026
The bip32_derivation fields on Input and Output currently take BTreeMaps from secp256k1::PublicKey to KeySource. Most locations where this map is constructed converts from the bitcoin type to the secp type. Further, the secp type can be trivially converted to the PublicKey type unambiguously in other places. This change also prevents PSBTs from silently reserialising uncompressed keys in a compressed form, eliminating a footgun. Convert bip32_derivation fields on Input and Output to take bitcoin PublicKey instead of secp256k1, and change all relevant uses.
135dc8a to
a706638
Compare
Contributor
Author
|
I've added the API changes to the patch. |
tcharding
approved these changes
Mar 19, 2026
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.
The bip32_derivation fields on Input and Output currently take BTreeMaps from secp256k1::PublicKey to KeySource. Most locations where these maps are constructed convert from the bitcoin type to the secp type. Further, the secp type can be trivially converted to the PublicKey type unambiguously in other places.
This change also prevents PSBTs from silently reserialising uncompressed keys in a compressed form, eliminating a footgun.
Convert bip32_derivation fields on Input and Output to take bitcoin PublicKey instead of secp256k1, and change all relevant uses.
Closes #76