Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test the bitcoin v0.32.0-rc1 release #1400

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

tcharding
Copy link
Contributor

@tcharding tcharding commented Apr 10, 2024

Please excuse the noise if this is not of interest to you guys right now. No action required from the bdk team - this is just informational and so the rust-bitcoin team can see that bitcoin rc1 release is ok.

Test the latest bitcoin release candidate. Includes an unreleased patched version of rust-miniscript (master branch + depend on bitcoin rc release).

Notes:

  • This wouldn't have been too hard if I knew my way around the codebase and didn't try to rush. The new miniscript::Threshold usage took me down a dark path for a while :)
  • Leaves a few calls to expect that require more invasive error handling improvements
  • Uses the ugly weight.to_wu() as usize instead of using the new Weight type more thoroughly
  • Uses network.into() liberally instead of using the new NetworkKind more thoroughly
  • The Sequence / RelLockTime stuff is a bit rough too

But I believe this proves the rc1 release is pretty good as it is.

cargo test --color=always --workspace --all-features --all-targets passes all tests on my machine.

Upgrade:

- bitcoin to v0.31.0
- miniscript to v11.0.0

Note: The bitcoin upgrade includes improvements to the
`Transaction::weight()` function, it appears those guys did good, we
no longer need to add the 2 additional weight units "just in case".
sorted: bool,
secp: &SecpCtx,
) -> Result<Option<Policy>, PolicyError> {
if threshold == 0 {
if threshold.k() == 0 {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This condition is impossible with the new threshold type.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Woops, thanks.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed - two instances.

Test the latest bitcoin release candidate. Includes bumping the version
numbers so we can use this branch to test crates further up the stack.
@oleonardolima
Copy link
Contributor

@tcharding Are you planning on continuing working on this PR towards merge ? I'm asking just to know if I should start working on another one (on top of this one) on behalf of #1422 :)

@tcharding
Copy link
Contributor Author

I"d love it if you took over. Feel free to use any of my work, change it, or drop it as you see fit. No attribution needed.

FTR we need to get an updated version of rust-bitcoincore-rpc out as well as rust-miniscript before you guys can start using 0.32.0

@oleonardolima
Copy link
Contributor

I"d love it if you took over. Feel free to use any of my work, change it, or drop it as you see fit. No attribution needed.

FTR we need to get an updated version of rust-bitcoincore-rpc out as well as rust-miniscript before you guys can start using 0.32.0

Great, I'll do it then.

Thanks, I'll follow the discussions on the PRs (rust-bitcoin/rust-bitcoincore-rpc#345 rust-bitcoin/rust-miniscript#679 repositories closely then.

@notmandatory notmandatory added this to the 1.0.0-alpha milestone May 13, 2024
@tcharding
Copy link
Contributor Author

Hey @oleonardolima you should be good to go after this one goes in: rust-bitcoin/rust-miniscript#688

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api A breaking API change
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

None yet

4 participants