Skip to content
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

Upgrade rust-bitcoin to 0.32 #1422

Closed
7 tasks done
notmandatory opened this issue May 2, 2024 · 9 comments · Fixed by bitcoindevkit/rust-electrum-client#133 or #1448
Closed
7 tasks done

Upgrade rust-bitcoin to 0.32 #1422

notmandatory opened this issue May 2, 2024 · 9 comments · Fixed by bitcoindevkit/rust-electrum-client#133 or #1448
Assignees
Labels
api A breaking API change new feature New feature or request
Milestone

Comments

@notmandatory
Copy link
Member

notmandatory commented May 2, 2024

Describe the enhancement

The LDK team would like to use rust-bitcoin version 0.32 so BDK should update too. To do so we also need to update the following crates to the versions that depend on rust-bitcoin 0.32:

Use case

Updating to rust-bitcoin 0.32 removes the need for a specific no-std feature, it will be implied by not enabling the std feature. It also includes a new io crate.

Additional context

https://discord.com/channels/753336465005608961/753367451319926827/1228314439133171795

@notmandatory notmandatory added the new feature New feature or request label May 2, 2024
@notmandatory notmandatory added this to the 1.0.0-alpha milestone May 2, 2024
@notmandatory notmandatory added this to BDK May 2, 2024
@oleonardolima
Copy link
Contributor

I'm willing to give a try on this one.

@notmandatory
Copy link
Member Author

Thanks @oleonardolima you'll need to keep an eye to see when rust-miniscript and rust-bitcoincore-rpc are ready. Feel free to start making PRs for any of the crate that only need rust-bitcoin updated to 0.32.

@notmandatory
Copy link
Member Author

Another thing this PR should fix is the broken docs.rs for bdk_persist. I think they're breaking because it doesn't build with default features.

https://docs.rs/crate/bdk_persist/0.1.0/builds/1208655

@oleonardolima
Copy link
Contributor

Thanks @oleonardolima you'll need to keep an eye to see when rust-miniscript and rust-bitcoincore-rpc are ready. Feel free to start making PRs for any of the crate that only need rust-bitcoin updated to 0.32.

Sure, I'll keep an eye and initially start from other crates.

Another thing this PR should fix is the broken docs.rs for bdk_persist. I think they're breaking because it doesn't build with default features.

https://docs.rs/crate/bdk_persist/0.1.0/builds/1208655

Cool, I'll check if it solves the docs once the PR is done.

@ValuedMammal
Copy link
Contributor

ValuedMammal commented May 4, 2024

@notmandatory Would #1423 fix the docs.rs fail? - Oh I see you mentioned it wouldn't be needed after the rust-bitcoin upgrade. Still maybe a quick fix in the interim

notmandatory added a commit that referenced this issue May 8, 2024
a577c22 fix(persist): add default feature to enable bdk_chain/std (Steve Myers)

Pull request description:

  ### Description

  This PR adds a `default` feature to `bdk_persist` so it can be build on its own.  Once #1422 is done we can remove the `default`again.

  ### Notes to the reviewers

  I need to be able to build `bdk_persist` on its own so I can publish it to crates.io.

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

ACKs for top commit:
  ValuedMammal:
    ACK a577c22
  oleonardolima:
    ACK a577c22
  storopoli:
    ACK a577c22

Tree-SHA512: 8b07a9e4974dec8812ca19ce7226dcaece064270a0be8b83d3c326fdf1e89b051eb0bd8aa0eda9362b2c8233ecd6003b70c92ee046603973d8d40611418c3841
@ValuedMammal
Copy link
Contributor

ValuedMammal commented May 8, 2024

I forgot to mention there was a suggestion #1412 (comment) for a better crate description for bdk_persist that maybe we can fix when the opportunity arises.

@notmandatory notmandatory moved this from Todo to In Progress in BDK May 20, 2024
notmandatory added a commit to bitcoindevkit/rust-electrum-client that referenced this issue May 27, 2024
6cf7235 deps: bump crate version to `0.20.0` (Leonardo Lima)
78cb066 chore(deps)): upgrade `rust-bitcoin` to `0.32.0` (Leonardo Lima)

Pull request description:

  <!-- You can erase any parts of this template not applicable to your Pull Request. -->

  partially fixes [#1422](bitcoindevkit/bdk#1422)

  ### Description

  It updates the rust-bitcoin to 0.32.0, the `bitcoin` crate dependency.

  _NOTE: The overall BDK update to `0.32.0` still requires and depends on some other crates, please refer to [#1422](bitcoindevkit/bdk#1422

  <!-- Describe the purpose of this PR, what's being adding and/or fixed -->

  ### Notes to the reviewers

  It's open for any comments.
  <!-- In this section you can include notes directed to the reviewers, like explaining why some parts
  of the PR were done in a specific way -->

  ### Changelog notice

  - Update the `bitcoin` crate dependency to `0.32.0`

  <!-- Notice the release manager should include in the release tag message changelog -->
  <!-- See https://keepachangelog.com/en/1.0.0/ for examples -->

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

ACKs for top commit:
  notmandatory:
    utACK 6cf7235

Tree-SHA512: c1e170d8da7687b40916b7c2de48f08ca393a2af79522abc85933bae1da6f79d2aa05d59c73b99dcbd01cc7add4def1b8a14e7858550d4e7a007c07279b45854
@github-project-automation github-project-automation bot moved this from In Progress to Done in BDK May 27, 2024
@oleonardolima
Copy link
Contributor

NOTE: it's not done yet, only consider it done after #1448, mistakenly marked as completed probably because my comment partially fixes ... at other PR 😅

@notmandatory notmandatory moved this from Done to In Progress in BDK May 28, 2024
@notmandatory notmandatory reopened this May 28, 2024
notmandatory added a commit to bitcoindevkit/rust-esplora-client that referenced this issue May 29, 2024
6836628 deps: bump crate version to 0.8.0 (Leonardo Lima)
04f4b34 chore(deps): upgrade `rust-bitcoin` to `0.32.0` and electrsd to `0.28.0` (Leonardo Lima)

Pull request description:

  <!-- You can erase any parts of this template not applicable to your Pull Request. -->

  `partially fixes` [#1422](bitcoindevkit/bdk#1422)

  ### Description

  It updates the rust-bitcoin to 0.32.0, the `bitcoin`crate dependency and `electrsd` to `0.28.0`.

  _NOTE: The overall BDK update to `0.32.0` still requires and depends on some other crates, please refer to [#1422](bitcoindevkit/bdk#1422

  <!-- Describe the purpose of this PR, what's being adding and/or fixed -->

  ### Notes to the reviewers

  It's open for any comments.
  <!-- In this section you can include notes directed to the reviewers, like explaining why some parts
  of the PR were done in a specific way -->

  ### Changelog notice

  - Update the `bitcoin` crate dependency to `0.32.0`
  - Update the `electrsd` crate dependency to `0.28.0`

  <!-- Notice the release manager should include in the release tag message changelog -->
  <!-- See https://keepachangelog.com/en/1.0.0/ for examples -->

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

  #### New Features:

  * [ ] I've added tests for the new feature
  * [ ] I've added docs for the new feature

  #### Bugfixes:

  * [ ] This pull request breaks the existing API
  * [ ] I've added tests to reproduce the issue which are now passing
  * [ ] I'm linking the issue being fixed by this PR

ACKs for top commit:
  notmandatory:
    ACK 6836628

Tree-SHA512: 660f2f528de6921b111b412514b6a0cc402fac59eefc9a8514f76847adad077d493275e2c4465ad43ac6f214372a57a892de0ebbb809395672f31b46d590ae10
notmandatory added a commit to bitcoindevkit/rust-hwi that referenced this issue Jun 4, 2024
be7933a chore: bump version to `0.9.0` (Leonardo Lima)
ede9ea7 fix: format `DerivationPath` w/ prefix `m/` when using as hwilib function argument (Leonardo Lima)
7afc15a fix: use `compute_txid()` instead of deprecated `txid()` (Leonardo Lima)
c15e1a2 chore: upgrade `miniscript` dependency to `0.12.0` (Leonardo Lima)
be5b382 chore: upgrade `bitcoin` dependency to `0.32.0` (Leonardo Lima)

Pull request description:

  <!-- You can erase any parts of this template not applicable to your Pull Request. -->

  `partially fixes` [#1422](bitcoindevkit/bdk#1422)

  ### Description

  It updates the `rust-bitcoin` dependency to `0.32.0`, and the `miniscript` to `0.12.0`.

  <!-- Describe the purpose of this PR, what's being adding and/or fixed -->

  ### Notes to the reviewers

  It's open for any comments.
  <!-- In this section you can include notes directed to the reviewers, like explaining why some parts
  of the PR were done in a specific way -->

  ### Changelog notice

  - Update the `bitcoin` crate dependency to `0.32.0`
  - Update the `miniscript` crate dependency to `0.12.0`
  - Expliciltly format the `DerivationPath` with `m/` prefix before passing it as argument to HWI interface, the `fmt::Display` trait removed the `m/` prefix on `rust-bitcoin` `0.32.0`.

  <!-- Notice the release manager should include in the release tag message changelog -->
  <!-- See https://keepachangelog.com/en/1.0.0/ for examples -->

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

ACKs for top commit:
  notmandatory:
    ACK be7933a

Tree-SHA512: 52bca723ae6e7dd9642c016d7881323be21d03bef05e9f9e21803e7fd5d8924c25d7a9731b4b3c61018648b4666e92ee1ca695ea8df8016f90a9446e8d64cefa
@notmandatory
Copy link
Member Author

@oleonardolima I published the 0.9.0 rust-hwi crate, thanks for keeping on it! 🎉 https://crates.io/crates/hwi

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
api A breaking API change new feature New feature or request
Projects
Archived in project
3 participants