diff --git a/CHANGELOG.md b/CHANGELOG.md index f548bc81..94355f52 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,13 +6,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [v0.13.0] - [v0.12.0] + +- Exposed `get_tx()` method from `Database` to `Wallet`. ## [v0.12.0] - [v0.11.0] - Activate `miniscript/use-serde` feature to allow consumers of the library to access it via the re-exported `miniscript` crate. - Add support for proxies in `EsploraBlockchain` - Added `SqliteDatabase` that implements `Database` backed by a sqlite database using `rusqlite` crate. -- Exposed `get_tx()` method from `Database` to `Wallet`. ## [v0.11.0] - [v0.10.0] @@ -385,4 +387,5 @@ final transaction is created by calling `finish` on the builder. [v0.9.0]: https://github.com/bitcoindevkit/bdk/compare/v0.8.0...v0.9.0 [v0.10.0]: https://github.com/bitcoindevkit/bdk/compare/v0.9.0...v0.10.0 [v0.11.0]: https://github.com/bitcoindevkit/bdk/compare/v0.10.0...v0.11.0 -[v0.12.0]: https://github.com/bitcoindevkit/bdk/compare/v0.11.0...v0.12.0 \ No newline at end of file +[v0.12.0]: https://github.com/bitcoindevkit/bdk/compare/v0.11.0...v0.12.0 +[v0.13.0]: https://github.com/bitcoindevkit/bdk/compare/v0.12.0...v0.13.0 \ No newline at end of file diff --git a/Cargo.toml b/Cargo.toml index 32df4862..ea9e8e4e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bdk" -version = "0.12.1-dev" +version = "0.13.1-dev" edition = "2018" authors = ["Alekos Filini ", "Riccardo Casatta "] homepage = "https://bitcoindevkit.org" @@ -45,7 +45,7 @@ backtrace = { version = "=0.3.61", optional = true } bitcoinconsensus = { version = "0.19.0-3", optional = true } # Needed by bdk_blockchain_tests macro -core-rpc = { version = "0.14", optional = true } +bitcoincore-rpc = { version = "0.14", optional = true } # Platform-specific dependencies [target.'cfg(not(target_arch = "wasm32"))'.dependencies] @@ -66,7 +66,7 @@ compact_filters = ["rocksdb", "socks", "lazy_static", "cc"] key-value-db = ["sled"] all-keys = ["keys-bip39"] keys-bip39 = ["tiny-bip39", "backtrace"] -rpc = ["core-rpc"] +rpc = ["bitcoincore-rpc"] # We currently provide mulitple implementations of `Blockchain`, all are # blocking except for the `EsploraBlockchain` which can be either async or @@ -91,7 +91,7 @@ esplora = [] # Debug/Test features -test-blockchains = ["core-rpc", "electrum-client"] +test-blockchains = ["bitcoincore-rpc", "electrum-client"] test-electrum = ["electrum", "electrsd/electrs_0_8_10", "test-blockchains"] test-rpc = ["rpc", "electrsd/electrs_0_8_10", "test-blockchains"] test-esplora = ["electrsd/legacy", "electrsd/esplora_a33e97e1", "test-blockchains"] @@ -101,7 +101,7 @@ test-md-docs = ["electrum"] lazy_static = "1.4" env_logger = "0.7" clap = "2.33" -electrsd = { version= "0.10", features = ["trigger", "bitcoind_0_21_1"] } +electrsd = { version= "0.12", features = ["trigger", "bitcoind_0_21_1"] } [[example]] name = "address_validator" diff --git a/src/blockchain/rpc.rs b/src/blockchain/rpc.rs index 6d1d94d0..d4a5beca 100644 --- a/src/blockchain/rpc.rs +++ b/src/blockchain/rpc.rs @@ -38,13 +38,13 @@ use crate::database::{BatchDatabase, DatabaseUtils}; use crate::descriptor::{get_checksum, IntoWalletDescriptor}; use crate::wallet::utils::SecpCtx; use crate::{ConfirmationTime, Error, FeeRate, KeychainKind, LocalUtxo, TransactionDetails}; -use core_rpc::json::{ +use bitcoincore_rpc::json::{ GetAddressInfoResultLabel, ImportMultiOptions, ImportMultiRequest, ImportMultiRequestScriptPubkey, ImportMultiRescanSince, }; -use core_rpc::jsonrpc::serde_json::Value; -use core_rpc::Auth as RpcAuth; -use core_rpc::{Client, RpcApi}; +use bitcoincore_rpc::jsonrpc::serde_json::Value; +use bitcoincore_rpc::Auth as RpcAuth; +use bitcoincore_rpc::{Client, RpcApi}; use log::debug; use serde::{Deserialize, Serialize}; use std::collections::{HashMap, HashSet}; @@ -82,7 +82,7 @@ pub struct RpcConfig { pub skip_blocks: Option, } -/// This struct is equivalent to [core_rpc::Auth] but it implements [serde::Serialize] +/// This struct is equivalent to [bitcoincore_rpc::Auth] but it implements [serde::Serialize] /// To be removed once upstream equivalent is implementing Serialize (json serialization format /// should be the same), see [rust-bitcoincore-rpc/pull/181](https://github.com/rust-bitcoin/rust-bitcoincore-rpc/pull/181) #[derive(Clone, Debug, Hash, Eq, PartialEq, Ord, PartialOrd, Serialize, Deserialize)] diff --git a/src/error.rs b/src/error.rs index d2875c81..a51fe215 100644 --- a/src/error.rs +++ b/src/error.rs @@ -139,7 +139,7 @@ pub enum Error { Sled(sled::Error), #[cfg(feature = "rpc")] /// Rpc client error - Rpc(core_rpc::Error), + Rpc(bitcoincore_rpc::Error), #[cfg(feature = "sqlite")] /// Rusqlite client error Rusqlite(rusqlite::Error), @@ -196,7 +196,7 @@ impl_error!(electrum_client::Error, Electrum); #[cfg(feature = "key-value-db")] impl_error!(sled::Error, Sled); #[cfg(feature = "rpc")] -impl_error!(core_rpc::Error, Rpc); +impl_error!(bitcoincore_rpc::Error, Rpc); #[cfg(feature = "sqlite")] impl_error!(rusqlite::Error, Rusqlite); diff --git a/src/lib.rs b/src/lib.rs index 6f2ee58d..ea1f2990 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -40,7 +40,7 @@ //! interact with the bitcoin P2P network. //! //! ```toml -//! bdk = "0.12.0" +//! bdk = "0.13.0" //! ``` #![cfg_attr( feature = "electrum", @@ -236,7 +236,7 @@ extern crate bdk_macros; extern crate lazy_static; #[cfg(feature = "rpc")] -pub extern crate core_rpc; +pub extern crate bitcoincore_rpc; #[cfg(feature = "electrum")] pub extern crate electrum_client; diff --git a/src/testutils/blockchain_tests.rs b/src/testutils/blockchain_tests.rs index f8867ad6..02276548 100644 --- a/src/testutils/blockchain_tests.rs +++ b/src/testutils/blockchain_tests.rs @@ -3,11 +3,11 @@ use bitcoin::consensus::encode::{deserialize, serialize}; use bitcoin::hashes::hex::{FromHex, ToHex}; use bitcoin::hashes::sha256d; use bitcoin::{Address, Amount, Script, Transaction, Txid}; +pub use bitcoincore_rpc::bitcoincore_rpc_json::AddressType; +pub use bitcoincore_rpc::{Auth, Client as RpcClient, RpcApi}; use core::str::FromStr; -pub use core_rpc::core_rpc_json::AddressType; -pub use core_rpc::{Auth, Client as RpcClient, RpcApi}; use electrsd::bitcoind::BitcoinD; -use electrsd::{bitcoind, Conf, ElectrsD}; +use electrsd::{bitcoind, ElectrsD}; pub use electrum_client::{Client as ElectrumClient, ElectrumApi}; #[allow(unused_imports)] use log::{debug, error, info, log_enabled, trace, Level}; @@ -24,19 +24,15 @@ pub struct TestClient { impl TestClient { pub fn new(bitcoind_exe: String, electrs_exe: String) -> Self { debug!("launching {} and {}", &bitcoind_exe, &electrs_exe); - let conf = bitcoind::Conf { - view_stdout: log_enabled!(Level::Debug), - ..Default::default() - }; + + let mut conf = bitcoind::Conf::default(); + conf.view_stdout = log_enabled!(Level::Debug); let bitcoind = BitcoinD::with_conf(bitcoind_exe, &conf).unwrap(); - let http_enabled = cfg!(feature = "test-esplora"); + let mut conf = electrsd::Conf::default(); + conf.view_stderr = log_enabled!(Level::Debug); + conf.http_enabled = cfg!(feature = "test-esplora"); - let conf = Conf { - http_enabled, - view_stderr: log_enabled!(Level::Debug), - ..Default::default() - }; let electrsd = ElectrsD::with_conf(electrs_exe, &bitcoind, &conf).unwrap(); let node_address = bitcoind.client.get_new_address(None, None).unwrap();