Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 48 additions & 24 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,16 @@ Changelog information can also be found in each release's git tag (which can be

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased](https://github.com/bitcoindevkit/bdk-ffi/compare/v2.3.0...HEAD)
## [v3.0.0]

This is version `3.0.0` of the BDK language bindings! This release uses the following Rust dependencies:

- bdk_wallet `3.0.0`
- bdk_electrum `0.23.2`
- bdk_esplora `0.22.1`
- bdk_kyoto `0.17.0`
- bitcoin `0.32.8`
- uniffi `0.30.0`

## Breaking

Expand All @@ -28,12 +37,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- Exposed `new_sh`, `new_wsh`,`new_bare` and `new_sh_wsh` methods on `Descriptor` type [#988]

[#853]: https://github.com/bitcoindevkit/bdk-ffi/pull/853
[#853]: https://github.com/bitcoindevkit/bdk-ffi/pull/945
[#853]: https://github.com/bitcoindevkit/bdk-ffi/pull/949
[#986]: https://github.com/bitcoindevkit/bdk-ffi/pull/971
[#986]: https://github.com/bitcoindevkit/bdk-ffi/pull/973
[#945]: https://github.com/bitcoindevkit/bdk-ffi/pull/945
[#949]: https://github.com/bitcoindevkit/bdk-ffi/pull/949
[#971]: https://github.com/bitcoindevkit/bdk-ffi/pull/971
[#973]: https://github.com/bitcoindevkit/bdk-ffi/pull/973
[#986]: https://github.com/bitcoindevkit/bdk-ffi/pull/986
[#986]: https://github.com/bitcoindevkit/bdk-ffi/pull/988
[#988]: https://github.com/bitcoindevkit/bdk-ffi/pull/988

## [v2.3.0]

Expand All @@ -48,24 +57,36 @@ This is version `2.3.0` of the BDK language bindings! This release uses the foll

### Added

- Expose `Wallet::apply_update_events` which returns a `WalletEvent` type #908
- Expose `Psbt::output` which returns a list of psbt `Output` #903
- `Other` variant added to CBF `RecoveryPoint` to enable wallet birthdays #920
- Implement `Display` trait for `FeeRate` #859
- Expose `FeeRate::fee_vb` and `FeeRate::fee_wu` methods #859
- Wallet API: expose `TxBuilder::only_witness_utxo` and `TxBuilder::add_foreign_utxo` #928
- Esplora API: expose `get_block_by_hash` which returns a `Block` #936
- Esplora API: expose `get_tip_hash` #930
- Esplora API: expose `get_header_by_hash` #930
- Esplora API: expose `get_address_txs` #930
- Esplora API: expose `get_tx_no_opt` #930
- Esplora API: expose `get_txid_at_block_index` #930
- Esplora API: expose `get_merkle_proof` and `get_output_status` #942
- Electrum API: expose `fetch_tx` #931
- Electrum API: expose `block_header` #931
- Electrum API: expose `block_headers_pop` #931
- Electrum API: expose `relay_fee` and `transaction_get_raw` #938
- DerivationPath: expose `child`, `extend`, and `to_u32_vec` #935
- Expose `Wallet::apply_update_events` which returns a `WalletEvent` type [#908]
- Expose `Psbt::output` which returns a list of psbt `Output` [#903]
- `Other` variant added to CBF `RecoveryPoint` to enable wallet birthdays [#920]
- Implement `Display` trait for `FeeRate` [#859]
- Expose `FeeRate::fee_vb` and `FeeRate::fee_wu` methods [#859]
- Wallet API: expose `TxBuilder::only_witness_utxo` and `TxBuilder::add_foreign_utxo` [#928]
- Esplora API: expose `get_block_by_hash` which returns a `Block` [#936]
- Esplora API: expose `get_tip_hash` [#930]
- Esplora API: expose `get_header_by_hash` [#930]
- Esplora API: expose `get_address_txs` [#930]
- Esplora API: expose `get_tx_no_opt` [#930]
- Esplora API: expose `get_txid_at_block_index` [#930]
- Esplora API: expose `get_merkle_proof` and `get_output_status` [#942]
- Electrum API: expose `fetch_tx` [#931]
- Electrum API: expose `block_header` [#931]
- Electrum API: expose `block_headers_pop` [#931]
- Electrum API: expose `relay_fee` and `transaction_get_raw` [#938]
- DerivationPath: expose `child`, `extend`, and `to_u32_vec` [#935]

[#859]: https://github.com/bitcoindevkit/bdk-ffi/pull/859
[#903]: https://github.com/bitcoindevkit/bdk-ffi/pull/903
[#908]: https://github.com/bitcoindevkit/bdk-ffi/pull/908
[#920]: https://github.com/bitcoindevkit/bdk-ffi/pull/920
[#928]: https://github.com/bitcoindevkit/bdk-ffi/pull/928
[#930]: https://github.com/bitcoindevkit/bdk-ffi/pull/930
[#931]: https://github.com/bitcoindevkit/bdk-ffi/pull/931
[#935]: https://github.com/bitcoindevkit/bdk-ffi/pull/935
[#936]: https://github.com/bitcoindevkit/bdk-ffi/pull/936
[#938]: https://github.com/bitcoindevkit/bdk-ffi/pull/938
[#942]: https://github.com/bitcoindevkit/bdk-ffi/pull/942

## [v2.2.0]

Expand Down Expand Up @@ -298,6 +319,7 @@ This release updates the `bdk-ffi` libraries to the latest `bdk_wallet` `1.0.0-b
[#623]: https://github.com/bitcoindevkit/bdk-ffi/pull/623
[#625]: https://github.com/bitcoindevkit/bdk-ffi/pull/625
[#629]: https://github.com/bitcoindevkit/bdk-ffi/pull/629
[#630]: https://github.com/bitcoindevkit/bdk-ffi/pull/630
[#645]: https://github.com/bitcoindevkit/bdk-ffi/pull/645

## [v1.0.0-beta.5]
Expand Down Expand Up @@ -617,6 +639,7 @@ This release has a number of new APIs, and adds support for Windows in bdk-jvm.
[#154]: https://github.com/bitcoindevkit/bdk-ffi/pull/154
[#184]: https://github.com/bitcoindevkit/bdk-ffi/pull/184
[#185]: https://github.com/bitcoindevkit/bdk-ffi/pull/185
[#186]: https://github.com/bitcoindevkit/bdk-ffi/pull/186
[#193]: https://github.com/bitcoindevkit/bdk-ffi/pull/193

## [v0.8.0]
Expand Down Expand Up @@ -683,6 +706,7 @@ This release has a number of new APIs, and adds support for Windows in bdk-jvm.

[BIP 0174]:https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki#encoding

[v3.0.0]: https://github.com/bitcoindevkit/bdk-ffi/compare/v2.3.0...v3.0.0
[v2.3.0]: https://github.com/bitcoindevkit/bdk-ffi/compare/v2.2.0...v2.3.0
[v2.2.0]: https://github.com/bitcoindevkit/bdk-ffi/compare/v2.0.0...v2.2.0
[v2.0.0]: https://github.com/bitcoindevkit/bdk-ffi/compare/v1.2.0...v2.0.0
Expand Down
2 changes: 1 addition & 1 deletion bdk-android/lib/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ plugins {
}

group = "org.bitcoindevkit"
version = "2.4.0-SNAPSHOT"
version = "3.0.0-RC2"

android {
namespace = group.toString()
Expand Down
30 changes: 15 additions & 15 deletions bdk-ffi/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions bdk-ffi/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "bdk-ffi"
version = "3.0.0-alpha.0"
version = "3.0.0-rc.2"
homepage = "https://bitcoindevkit.org"
repository = "https://github.com/bitcoindevkit/bdk"
edition = "2018"
Expand All @@ -18,7 +18,7 @@ path = "uniffi-bindgen.rs"
bdk_wallet = { version = "=3.0.0", features = ["all-keys", "keys-bip39", "rusqlite"] }
bdk_esplora = { version = "0.22.1", default-features = false, features = ["std", "blocking", "blocking-https-rustls"] }
bdk_electrum = { version = "0.23.2", default-features = false, features = ["use-rustls-ring"] }
bdk_kyoto = { version = "0.16.0" }
bdk_kyoto = { version = "0.17.0" }

uniffi = { version = "=0.30.0", features = ["cli"]}
thiserror = "2.0.17"
Expand Down
17 changes: 9 additions & 8 deletions bdk-ffi/src/kyoto.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
use bdk_kyoto::bip157;
use bdk_kyoto::bip157::lookup_host;
use bdk_kyoto::bip157::tokio;
use bdk_kyoto::bip157::AddrV2;
Expand All @@ -6,7 +7,7 @@ use bdk_kyoto::bip157::Node;
use bdk_kyoto::bip157::ServiceFlags;
use bdk_kyoto::builder::Builder as BDKCbfBuilder;
use bdk_kyoto::builder::BuilderExt;
use bdk_kyoto::HeaderCheckpoint;
use bdk_kyoto::HashCheckpoint;
use bdk_kyoto::Receiver;
use bdk_kyoto::RejectReason;
use bdk_kyoto::Requester;
Expand Down Expand Up @@ -196,25 +197,25 @@ impl CbfBuilder {
if !matches!(network, Network::Bitcoin) {
bdk_kyoto::ScanType::Recovery {
used_script_index,
checkpoint: HeaderCheckpoint::from_genesis(network),
checkpoint: HashCheckpoint::from_genesis(network),
}
} else {
match checkpoint {
RecoveryPoint::GenesisBlock => bdk_kyoto::ScanType::Recovery {
used_script_index,
checkpoint: HeaderCheckpoint::from_genesis(wallet.network()),
checkpoint: HashCheckpoint::from_genesis(wallet.network()),
},
RecoveryPoint::SegwitActivation => bdk_kyoto::ScanType::Recovery {
used_script_index,
checkpoint: HeaderCheckpoint::segwit_activation(),
checkpoint: HashCheckpoint::segwit_activation(),
},
RecoveryPoint::TaprootActivation => bdk_kyoto::ScanType::Recovery {
used_script_index,
checkpoint: HeaderCheckpoint::taproot_activation(),
checkpoint: HashCheckpoint::taproot_activation(),
},
RecoveryPoint::Other { birthday } => bdk_kyoto::ScanType::Recovery {
used_script_index,
checkpoint: HeaderCheckpoint::new(birthday.height, birthday.hash.0),
checkpoint: HashCheckpoint::new(birthday.height, birthday.hash.0),
},
}
}
Expand Down Expand Up @@ -302,9 +303,9 @@ impl CbfClient {

/// Broadcast a transaction to the network, erroring if the node has stopped running.
pub async fn broadcast(&self, transaction: &Transaction) -> Result<Arc<Wtxid>, CbfError> {
let tx = transaction.into();
let tx: bip157::Transaction = transaction.into();
self.sender
.broadcast_tx(tx)
.submit_package(tx)
.await
.map_err(From::from)
.map(|wtxid| Arc::new(Wtxid(wtxid)))
Expand Down
Loading