Skip to content

v1.0.0-alpha.13

@notmandatory notmandatory tagged this 15 Jun 02:49
Summary

This is 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.
Assets 2
Loading