github bitcoindevkit/bdk v1.0.0-alpha.13
Release 1.0.0-alpha.13

pre-release14 days ago

Summary

This release includes major changes required to finalize the bdk_wallet 1.0.0 APIs, including: upgrading to rust-bitcoin 0.32 and rust-miniscript 0.12.0, constructing a Wallet now requires two descriptors (external and internal), the db field was removed from Wallet, staged changes can be persisted via a blocking or async data store.

Changelog

Fixed

  • Fix KeychainTxOutIndex range-based methods. #1463

Changed

  • Upgrade rust bitcoin to 0.32.0, miniscript to 0.12.0. #1448
    • Use compute_txid() instead of deprecated txid().
    • Use minimal_non_dust() instead of dust_value().
    • Use signature and sighash_type fields, instead of previous sig and hash_type.
    • Use sighash::P2wpkhError, and sighash::TaprootError instead of older sighash::Error.
    • Converts from Network to NetworkKind, where expected.
    • Converts from Weight type to current used usize.
    • Use .into() to convert from AbsLockTime and RelLockTime to absolute::LockTime and relative::LockTime.
    • Remove use of deprecated ThirtyTwoByteHash trait, use Message::from_digest().
    • Update the miniscript policy and dsl macros to proper expect and handle new Threshold type, instead of the previous two parameters.
  • Add further bitcoin::Amount usage on public APIs. #1426
    • Updated CreateTxError::FeeTooLow to use bitcoin::Amount.
    • Updated Wallet::calculate_fee(). to use bitcoin::Amount
    • Updated TxBuilder::fee_absolute(). to use bitcoin::Amount.
    • Updated CalculateFeeError::NegativeFee to use bitcoin::SignedAmount.
    • Updated TxGraph::calculate_fee(). to use bitcoin::Amount.
    • Updated PsbUtils::fee_amount() to use bitcoin::Amount.
  • Wallet::get_balance() renamed to Wallet::balance(). #1455
  • Constructing a Wallet now requires two distinct descriptors. #1390
  • Removed duplicated InsufficientFunds error member. #1441
  • Refactor wallet and persist mods, remove bdk_persist crate. #1454 and #1473
    • Removed db from Wallet, users are now responsible for persisting changes, see docs and examples.
    • Removed the bdk_persist crate.
    • Remove persist submodule from bdk_chain.
    • Change Wallet to outsource it's persistence logic by introducing Wallet::take_staged.
    • Add take convenience method to Append trait.

What's Changed

New Contributors

Full Changelog: v1.0.0-alpha.12...v1.0.0-alpha.13

Don't miss a new bdk release

NewReleases is sending notifications on new releases.