From 54f61d17f202a582d690a942f3ef285ed03de0ad Mon Sep 17 00:00:00 2001 From: Sandipan Dey Date: Mon, 13 Sep 2021 21:59:20 +0530 Subject: [PATCH] Added a wallet unit test to send to a Bech32m address --- Cargo.toml | 4 ++++ src/blockchain/rpc.rs | 4 ++-- src/wallet/mod.rs | 11 +++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index b289f194..701960d0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -90,6 +90,10 @@ test-rpc = ["rpc", "electrsd/electrs_0_8_10", "test-blockchains"] test-esplora = ["electrsd/legacy", "electrsd/esplora_a33e97e1", "test-blockchains"] test-md-docs = ["electrum"] +[patch.crates-io] +core-rpc = { git="https://github.com/sandipndev/rust-bitcoincore-rpc", branch="bech32m-support" } +bitcoind = { git="https://github.com/sandipndev/bitcoind", branch="create-wallet-updates" } + [dev-dependencies] lazy_static = "1.4" env_logger = "0.7" diff --git a/src/blockchain/rpc.rs b/src/blockchain/rpc.rs index 4cd22943..d1706b6f 100644 --- a/src/blockchain/rpc.rs +++ b/src/blockchain/rpc.rs @@ -370,7 +370,7 @@ impl ConfigurableBlockchain for RpcBlockchain { client.load_wallet(&wallet_name)?; debug!("wallet loaded {:?}", wallet_name); } else { - client.create_wallet(&wallet_name, Some(true), None, None, None)?; + client.create_wallet(&wallet_name, Some(true), None, None, None, None)?; debug!("wallet created {:?}", wallet_name); } } @@ -445,7 +445,7 @@ where } /// return the wallets available in default wallet directory -//TODO use bitcoincore_rpc method when PR #179 lands +//TODO use core_rpc method when PR #179 lands fn list_wallet_dir(client: &Client) -> Result, Error> { #[derive(Deserialize)] struct Name { diff --git a/src/wallet/mod.rs b/src/wallet/mod.rs index d5a6cb30..832626e3 100644 --- a/src/wallet/mod.rs +++ b/src/wallet/mod.rs @@ -3994,4 +3994,15 @@ pub(crate) mod test { } ); } + + #[test] + fn test_sending_to_bip350_bech32m_address() { + let (wallet, _, _) = get_funded_wallet(get_test_wpkh()); + let addr = + Address::from_str("tb1pqqqqp399et2xygdj5xreqhjjvcmzhxw4aywxecjdzew6hylgvsesf3hn0c") + .unwrap(); + let mut builder = wallet.build_tx(); + builder.add_recipient(addr.script_pubkey(), 45_000); + builder.finish().unwrap(); + } }