BDK v1.0.0-alpha.9: Updated Dependencies, Chain Module Improvements

The BDK libraries aims to provide well engineered and reviewed components for Bitcoin based applications. The Bitcoin Dev Kit developers are in the process of releasing a v1.0 which is a fundamental re-write of how the library works.

BDK v1.0.0-alpha.9: Updated Dependencies, Chain Module Improvements
  • "This regular bi-weekly alpha release updates dependencies rust-bitcoin to v0.31.0 and rust-miniscript to v11.0.0 plus replaces the deprecated rust-miniscript function max_satisfaction_weight with max_weight_to_satisfy."
  • "It also adds chain module improvements needed to simplify syncing with electrum and esplora blockchain clients."

What's new

Fixed

  • Replace the deprecated max_satisfaction_weight from rust-miniscript to max_weight_to_satisfy. #1345

Changed

  • Update dependencies: rust-bitcoin to v0.31.0 and rust-miniscript to v11.0.0. #1177
  • Changed TxGraph to store transactions as Arc. This allows chain-sources to cheaply keep a copy of already-fetched transactions. #1373
  • Add get and range methods to CheckPoint #1369
    • Added get and range methods to CheckPoint (and in turn, LocalChain). This simulates an API where we have implemented a skip list of checkpoints (to implement in the future). This is a better API because we can query for any height or height range with just a checkpoint tip instead of relying on a separate checkpoint index (which needs to live in LocalChain).
    • Changed LocalChain to have a faster Eq implementation. We now maintain an xor value of all checkpoint block hashes. We compare this xor value to determine whether two chains are equal.
    • Added PartialEq implementation for CheckPoint and local_chain::Update.
  • Methods into_tx_graph and into_confirmation_time_tx_graph for RelevantTxids are changed to no longer accept a seen_at parameter. #1385
    • Added method update_last_seen_unconfirmed for TxGraph.
  • Added proptest for CheckPoint::range. #1397

Full Changelogv1.0.0-alpha.8...v1.0.0-alpha.9

GitHub Repo