From b7ab3ccfe2a5166d7653a6b8354f788797b24871 Mon Sep 17 00:00:00 2001 From: valued mammal Date: Wed, 17 Dec 2025 13:31:04 -0500 Subject: [PATCH 1/5] deps: Update dependencies - `bdk_coin_select` 0.4.0 -> 0.4.1 dev-deps - `bitcoin` 0.32 -> 0.32.8 - `bdk_bitcoind_rpc` 0.20.0 -> 0.22.0 - `bdk_chain` 0.23.0 -> 0.23.2 --- Cargo.toml | 8 ++++---- examples/common.rs | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 6016fde..12318a6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,17 +12,17 @@ readme = "README.md" [dependencies] miniscript = { version = "12.3.5", default-features = false } -bdk_coin_select = "0.4.0" +bdk_coin_select = "0.4.1" rand_core = { version = "0.6.4", default-features = false } rand = { version = "0.8", optional = true } [dev-dependencies] anyhow = "1" bdk_tx = { path = "." } -bitcoin = { version = "0.32", default-features = false, features = ["rand-std"] } +bitcoin = { version = "0.32.8", default-features = false, features = ["rand-std"] } bdk_testenv = "0.13.0" -bdk_bitcoind_rpc = "0.20.0" -bdk_chain = { version = "0.23.0" } +bdk_bitcoind_rpc = "0.22.0" +bdk_chain = { version = "0.23.2" } [features] default = ["std"] diff --git a/examples/common.rs b/examples/common.rs index e639906..bd818e0 100644 --- a/examples/common.rs +++ b/examples/common.rs @@ -1,6 +1,6 @@ use std::sync::Arc; -use bdk_bitcoind_rpc::{Emitter, NO_EXPECTED_MEMPOOL_TXIDS}; +use bdk_bitcoind_rpc::{Emitter, NO_EXPECTED_MEMPOOL_TXS}; use bdk_chain::{ bdk_core, Anchor, Balance, CanonicalizationParams, ChainPosition, ConfirmationBlockTime, }; @@ -43,17 +43,17 @@ impl Wallet { pub fn sync(&mut self, env: &TestEnv) -> anyhow::Result<()> { let client = env.rpc_client(); let last_cp = self.chain.tip(); - let mut emitter = Emitter::new(client, last_cp, 0, NO_EXPECTED_MEMPOOL_TXIDS); + let mut emitter = Emitter::new(client, last_cp, 0, NO_EXPECTED_MEMPOOL_TXS); while let Some(event) = emitter.next_block()? { let _ = self .graph .apply_block_relevant(&event.block, event.block_height()); let _ = self.chain.apply_update(event.checkpoint); } - let mempool = emitter.mempool()?; + let mempool_event = emitter.mempool()?; let _ = self .graph - .batch_insert_relevant_unconfirmed(mempool.new_txs); + .batch_insert_relevant_unconfirmed(mempool_event.update); Ok(()) } From 3fe239b25823412069e0974138f79788973d0726 Mon Sep 17 00:00:00 2001 From: valued mammal Date: Mon, 15 Dec 2025 14:41:22 -0500 Subject: [PATCH 2/5] chore: Add `CHANGELOG.md` --- CHANGELOG.md | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..9addad2 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,57 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + + +## [0.2.0] + +### Added + +- Added methods `is_block_timelocked` and `is_time_timelocked` for `Input` and `InputGroup` [#36](https://github.com/bitcoindevkit/bdk-tx/pull/36) +- `enable_anti_fee_sniping` field is added to `PsbtParams` for BIP326 anti-fee-sniping protection [#5](https://github.com/bitcoindevkit/bdk-tx/pull/5) +- Added error variants `InvalidLockTime` and `UnsupportedVersion` to `CreatePsbtError` [#5](https://github.com/bitcoindevkit/bdk-tx/pull/5) +- Added `Selection::create_psbt_with_rng` method for custom RNG [#5](https://github.com/bitcoindevkit/bdk-tx/pull/5) +- Added `FeeStrategy` enum which defines the fee target as either a feerate or fee amount [#32](https://github.com/bitcoindevkit/bdk-tx/pull/32) +- Added optional `sighash_type` member field to `PsbtParams` [#25](https://github.com/bitcoindevkit/bdk-tx/pull/25) +- feat: Update signer impl for `XOnlyPublicKey` [#20](https://github.com/bitcoindevkit/bdk-tx/pull/20) +- feat(selector): allow multiple change sources on `SelectorParams` [#18](https://github.com/bitcoindevkit/bdk-tx/pull/18) + +### Changed + +- `is_timelocked` is changed for `Input` and `InputGroup` to take an optional `absolute::Time` and returns `Option` [#36](https://github.com/bitcoindevkit/bdk-tx/pull/36) +- `TxStatus` is renamed to `ConfirmationStatus` [#36](https://github.com/bitcoindevkit/bdk-tx/pull/36) +- `filter_unspendable_now` is renamed to `filter_unspendable` [#36](https://github.com/bitcoindevkit/bdk-tx/pull/36) +- `CreatePsbtError::MissingFullTxForLegacyInput` and `CreatePsbtError::MissingFullTxForSegwitV0Input` now wraps `Input` in `Box` [#5](https://github.com/bitcoindevkit/bdk-tx/pull/5) +- docs: Improve documentation of `Finalizer` [#34](https://github.com/bitcoindevkit/bdk-tx/pull/34) +- chore: Bump MSRV to 1.85.0 [#23](https://github.com/bitcoindevkit/bdk-tx/pull/23) +- `SelectorParams::target_feerate` field is renamed to `fee_strategy`. [#32](https://github.com/bitcoindevkit/bdk-tx/pull/32) +- `SelectorParams::change_policy` field is changed to have type `bdk_coin_select::ChangePolicy`. [#32](https://github.com/bitcoindevkit/bdk-tx/pull/32) +- `SelectorParams::new` is changed to accept the `FeeStrategy` and `ChangePolicy` as inputs. [#32](https://github.com/bitcoindevkit/bdk-tx/pull/32) +- deps: Bump `miniscript` to 12.3.5 +- deps: Bump `bdk_coin_select` to 0.4.1 + +### Fixed + +- Fix locktime calculations and improve API [#36](https://github.com/bitcoindevkit/bdk-tx/pull/36) +- fix: Include `fallback_locktime` in locktime accumulation [#24](https://github.com/bitcoindevkit/bdk-tx/pull/24) + +### Removed + +- `SelectorParams::change_weight` field is removed now that the change weights are represented in the actual change policy. [#32](https://github.com/bitcoindevkit/bdk-tx/pull/32) +- Removed `SelectorParams::to_cs_change_policy` as the conversion is no longer necessary. [#32](https://github.com/bitcoindevkit/bdk-tx/pull/32) +- Removed `ChangePolicyType` enum to allow the user to construct the intended `ChangePolicy`. [#32](https://github.com/bitcoindevkit/bdk-tx/pull/32) + +## [0.1.0] + +### Added + +- The new "Tx builder" [#1](https://github.com/bitcoindevkit/bdk-tx/pull/1) + +[unreleased]: https://github.com/bitcoindevkit/bdk-tx/compare/0.2.0...HEAD +[0.2.0]: https://github.com/bitcoindevkit/bdk-tx/compare/0.1.0...0.2.0 +[0.1.0]: https://github.com/bitcoindevkit/bdk-tx/releases/tag/0.1.0 From e0fc8c03939f48e6180a156080a142ef23e88603 Mon Sep 17 00:00:00 2001 From: valued mammal Date: Sat, 28 Feb 2026 15:32:22 -0500 Subject: [PATCH 3/5] deps: Disable default features for bdk_coin_select --- Cargo.toml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 12318a6..2c14b1e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,10 +12,15 @@ readme = "README.md" [dependencies] miniscript = { version = "12.3.5", default-features = false } -bdk_coin_select = "0.4.1" rand_core = { version = "0.6.4", default-features = false } rand = { version = "0.8", optional = true } +[dependencies.bdk_coin_select] +version = "0.4.1" +default-features = false +git = "https://github.com/bitcoindevkit/coin-select" +rev = "89f55687059df15e3c0800ab5c0962bcb0c10e72" + [dev-dependencies] anyhow = "1" bdk_tx = { path = "." } @@ -26,7 +31,7 @@ bdk_chain = { version = "0.23.2" } [features] default = ["std"] -std = ["miniscript/std", "rand/std"] +std = ["miniscript/std", "rand/std", "bdk_coin_select/std"] [[example]] name = "synopsis" From 2dfb5219d0f9e0ddb1ea455388d944d8ed515d4a Mon Sep 17 00:00:00 2001 From: valued mammal Date: Sat, 28 Feb 2026 15:33:45 -0500 Subject: [PATCH 4/5] Reexport bdk_coin_select in lib.rs --- src/lib.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index ebfa713..8741a40 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -8,6 +8,8 @@ extern crate alloc; #[cfg(feature = "std")] extern crate std; +pub extern crate bdk_coin_select; + mod canonical_unspents; mod finalizer; mod input; From cdcb53d5b4b9ecdc0bfcd0224fc9bcabc2d83207 Mon Sep 17 00:00:00 2001 From: valued mammal Date: Mon, 15 Dec 2025 14:20:34 -0500 Subject: [PATCH 5/5] chore: Release 0.2.0 --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 2c14b1e..5d751d6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bdk_tx" -version = "0.1.0" +version = "0.2.0" edition = "2021" rust-version = "1.85.0" homepage = "https://bitcoindevkit.org"