-
Notifications
You must be signed in to change notification settings - Fork 146
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Improve TapTree
API
#617
Merged
apoelstra
merged 2 commits into
rust-bitcoin:master
from
tcharding:10-13-tap-tree-combine
Oct 13, 2023
Merged
Improve TapTree
API
#617
apoelstra
merged 2 commits into
rust-bitcoin:master
from
tcharding:10-13-tap-tree-combine
Oct 13, 2023
Conversation
This file contains 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
While upgrading `bdk` to use bitcoin v0.31.0-rc1 and a patched version of miniscript with the same upgrade it was found that the `TapTree::combine` function could be used. Without this function users are required to do the height calculation themselves.
There is no reason to keep this function private, the `height` field can be gotten at by pattern matching so this function is just a convenience, might as well let users have at it.
This PR does pose the question, "should we be maintaining an invariant that |
tcharding
added a commit
to tcharding/bdk
that referenced
this pull request
Oct 13, 2023
- Upgrade bitcoin to to v0.31.0-rc1 `rust-miniscript` does not require any changes to upgrade to use bitcoin v0.31.0-rc1. Upgrade highlights a weakness in the `rust-miniscript` API, `TapTree::combine` is useful to us, it could be public. see: rust-bitcoin/rust-miniscript#617
apoelstra
approved these changes
Oct 13, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 0630491
tcharding
added a commit
to tcharding/rust-psbt
that referenced
this pull request
Nov 14, 2023
Import the `psbt` module from `rust-miniscript` while tip of master was: a280447 Merge rust-bitcoin/rust-miniscript#617: Improve `TapTree` API Only do changes required to get things building, however this includes upgrade of the bitcoin dependency.
tcharding
added a commit
to tcharding/rust-psbt
that referenced
this pull request
Nov 14, 2023
Import the `psbt` module from `rust-miniscript` while tip of master was: a280447 Merge rust-bitcoin/rust-miniscript#617: Improve `TapTree` API Only do changes required to get things building, however this includes upgrade of the bitcoin dependency.
tcharding
added a commit
to tcharding/rust-psbt
that referenced
this pull request
Nov 15, 2023
Import the `psbt` module from `rust-miniscript` while tip of master was: a280447 Merge rust-bitcoin/rust-miniscript#617: Improve `TapTree` API Only do changes required to get things building, however this includes upgrade of the bitcoin dependency. Feature gate the miniscript stuff because we want this crate to be a drop in replacement for the `psbt` module in `rust-bitcoin`, users may not want to have `rust-miniscript` in there dependency tree.
tcharding
added a commit
to tcharding/rust-psbt
that referenced
this pull request
Nov 23, 2023
Import the `psbt` module from `rust-miniscript` while tip of master was: a280447 Merge rust-bitcoin/rust-miniscript#617: Improve `TapTree` API Only do changes required to get things building, however this includes upgrade of the bitcoin dependency. Feature gate the miniscript stuff because we want this crate to be a drop in replacement for the `psbt` module in `rust-bitcoin`, users may not want to have `rust-miniscript` in there dependency tree.
lucky-whistle-dev
added a commit
to lucky-whistle-dev/rust-bsbt
that referenced
this pull request
Apr 1, 2024
Import the `psbt` module from `rust-miniscript` while tip of master was: a280447 Merge rust-bitcoin/rust-miniscript#617: Improve `TapTree` API Only do changes required to get things building, however this includes upgrade of the bitcoin dependency. Feature gate the miniscript stuff because we want this crate to be a drop in replacement for the `psbt` module in `rust-bitcoin`, users may not want to have `rust-miniscript` in there dependency tree.
# for free
to join this conversation on GitHub.
Already have an account?
# 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.
Improve the
TapTree
API by making theheight
andcombine
methods public.Note the serendipitous finding that upgrading miniscript to use bitcoin v0.31.0-rc1 requires no changes. I found these fixes doing the
bdk
upgrade.