Skip to content

Make bdk_chain compile with cargo version 1.48.0#987

Closed
evanlinjin wants to merge 1 commit intobitcoindevkit:masterfrom
evanlinjin:msrv_1_48
Closed

Make bdk_chain compile with cargo version 1.48.0#987
evanlinjin wants to merge 1 commit intobitcoindevkit:masterfrom
evanlinjin:msrv_1_48

Conversation

@evanlinjin
Copy link
Copy Markdown
Member

Description

This is a WIP. What's the issue number again?

Notes to the reviewers

Changelog notice

Checklists

All Submissions:

  • I've signed all my commits
  • I followed the contribution guidelines
  • 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

Co-authored-by: Lloyd Fournier <LLFourn@users.noreply.github.com>
@evanlinjin evanlinjin changed the title [MSRV 1.48.0] Make bdk_chain compile with cargo version 1.48.0 Make bdk_chain compile with cargo version 1.48.0 May 23, 2023
danielabrozzoni added a commit that referenced this pull request Jun 19, 2023
…t` with redesigned structures.

75f8b81 Update documentation (志宇)
cff9211 [wallet_redesign] Clean up and document address methods (志宇)
a7668a2 [wallet_redesign] Modified `insert_tx` to use lowest checkpoint (志宇)
ac80829 Rename fields of `tx_graph::Additions` (Shourya742)
1c3cbef [chain_redesign] Remove old structures (志宇)
5860704 Implement redesigned versions of `EsploraExt` and `EsploraAsyncExt` (志宇)
2952341 Update the `wallet_electrum` example (志宇)
78a7920 `bdk_electrum` API improvements and simplifications (志宇)
92709d0 Various tweaks to code arrangement and documentation (志宇)
50425e9 Introduce `keychain::LocalChangeSet` (志宇)
a78967e [example-cli] simplify new address logic (LLFourn)
6a1ac7f [examples_redesign] Implemented `example_electrum` (志宇)
f55974a [examples_redesign] Introduce `example_cli` package (志宇)
2e3cee4 [electrum_redesign] Introduce redesigned `ElectrumExt` (志宇)
7261669 Add `last_seen` to the the `ConfirmationTime::Unconfirmed` variant (志宇)
aba8813 [wallet_redesign] Move the majority of `Update` to `bdk_chain` (志宇)
e69fccb [wallet_redesign] Update `Wallet` with redesigned structures (志宇)

Pull request description:

  ### Description

  Closes #938

  * Update `Wallet` to use redesigned structures.
  * Update `bdk_electrum::ElectrumExt` to produce updates for redesigned structures.
  * Update `bdk_esplora::EsploraExt` and `bdk_esplora::EsploraAsyncExt` to produce updates for redesigned structures.
  * Added `example-crates/example_cli` library for implementing examples with redesigned structures.
  * Added `example-crate/example_electrum` which is an electrum CLI wallet using the redesigned structures.
  * Updated `example-crate/{wallet_electrum|wallet_esplora|wallet_esplora_async}` examples to use redesigned structures.
  * Remove all old structures.

  ### Notes to the reviewers

  ~These changes bump our `all-features` MSRV to `1.60.0` because of the introduction of `bdk_esplora`. As long as the `bdk_chain` and `bdk_wallet` crates hit a MSRV of `1.48.0`, it will be fine (this work is done in #987).~ No longer needed due to #993

  ~I had to comment out the examples that use `Wallet` with our chain sources. Once we update the helper-packages for those chain sources, we can also update the examples.~

  Possible future improvements for `ElectrumExt`:

  * Remove requirement to retry obtaining ALL data after reorg is detected. Transactions can be anchored to a lower block (not block tip), and an `assume_final_depth` value can be used.

  * The logic to finalize an update with confirmation time can be improved during reorgs to not require returning an error.

  * Use the subscription model of electrum, as intended by the API.

  ### Changelog notice

  ### 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:

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

ACKs for top commit:
  LLFourn:
    ACK 75f8b81
  danielabrozzoni:
    Partial ACK 75f8b81 - the Wallet code looks good to me, I don't have a good enough understanding of the esplora/electrum code to confidently ACK it.

Tree-SHA512: d1d2b79e3c28fbe826044a8b5ef9b122c2dcfc0d371f24cc4aac7f286500b587c2dc3b06ca6461c8721adbc29f56ca41e7566eace560b0a9c541604e6a225c61
@notmandatory
Copy link
Copy Markdown
Member

This can be closed right?

@notmandatory
Copy link
Copy Markdown
Member

Closing since we have bumped our MSRV to 1.63.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants