Skip to content

Commit cb52d19

Browse files
committed
Prefactor: Upgrade to electrum-client v0.22
We upgrade our tests to use `electrum-client` v0.22 and `electrsd` v0.31 to ensure compatibility with `bdk_electrum` were about to start using.
1 parent e9c435a commit cb52d19

3 files changed

Lines changed: 24 additions & 44 deletions

File tree

Cargo.toml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,16 +92,15 @@ winapi = { version = "0.3", features = ["winbase"] }
9292
lightning = { version = "0.1.0", features = ["std", "_test_utils"] }
9393
#lightning = { git = "https://github.com/lightningdevkit/rust-lightning", branch="main", features = ["std", "_test_utils"] }
9494
#lightning = { path = "../rust-lightning/lightning", features = ["std", "_test_utils"] }
95-
electrum-client = { version = "0.21.0", default-features = true }
96-
bitcoincore-rpc = { version = "0.19.0", default-features = false }
95+
electrum-client = { version = "0.22.0", default-features = true }
9796
proptest = "1.0.0"
9897
regex = "1.5.6"
9998

10099
[target.'cfg(not(no_download))'.dev-dependencies]
101-
electrsd = { version = "0.29.0", features = ["legacy", "esplora_a33e97e1", "bitcoind_25_0"] }
100+
electrsd = { version = "0.31.0", features = ["legacy", "esplora_a33e97e1", "corepc-node_26_2"] }
102101

103102
[target.'cfg(no_download)'.dev-dependencies]
104-
electrsd = { version = "0.29.0", features = ["legacy"] }
103+
electrsd = { version = "0.31.0", features = ["legacy"] }
105104

106105
[target.'cfg(cln_test)'.dev-dependencies]
107106
clightningrpc = { version = "0.3.0-beta.8", default-features = false }

tests/common/mod.rs

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,9 @@ use bitcoin::hashes::sha256::Hash as Sha256;
3030
use bitcoin::hashes::Hash;
3131
use bitcoin::{Address, Amount, Network, OutPoint, Txid};
3232

33-
use bitcoincore_rpc::bitcoincore_rpc_json::AddressType;
34-
use bitcoincore_rpc::Client as BitcoindClient;
35-
use bitcoincore_rpc::RpcApi;
36-
37-
use electrsd::{bitcoind, bitcoind::BitcoinD, ElectrsD};
33+
use electrsd::corepc_node::Client as BitcoindClient;
34+
use electrsd::corepc_node::Node as BitcoinD;
35+
use electrsd::{corepc_node, ElectrsD};
3836
use electrum_client::ElectrumApi;
3937

4038
use rand::distributions::Alphanumeric;
@@ -168,10 +166,10 @@ pub(crate) use expect_payment_successful_event;
168166

169167
pub(crate) fn setup_bitcoind_and_electrsd() -> (BitcoinD, ElectrsD) {
170168
let bitcoind_exe =
171-
env::var("BITCOIND_EXE").ok().or_else(|| bitcoind::downloaded_exe_path().ok()).expect(
169+
env::var("BITCOIND_EXE").ok().or_else(|| corepc_node::downloaded_exe_path().ok()).expect(
172170
"you need to provide an env var BITCOIND_EXE or specify a bitcoind version feature",
173171
);
174-
let mut bitcoind_conf = bitcoind::Conf::default();
172+
let mut bitcoind_conf = corepc_node::Conf::default();
175173
bitcoind_conf.network = "regtest";
176174
let bitcoind = BitcoinD::with_conf(bitcoind_exe, &bitcoind_conf).unwrap();
177175

@@ -333,17 +331,14 @@ pub(crate) fn setup_node(
333331
pub(crate) fn generate_blocks_and_wait<E: ElectrumApi>(
334332
bitcoind: &BitcoindClient, electrs: &E, num: usize,
335333
) {
336-
let _ = bitcoind.create_wallet("ldk_node_test", None, None, None, None);
334+
let _ = bitcoind.create_wallet("ldk_node_test");
337335
let _ = bitcoind.load_wallet("ldk_node_test");
338336
print!("Generating {} blocks...", num);
339-
let cur_height = bitcoind.get_block_count().expect("failed to get current block height");
340-
let address = bitcoind
341-
.get_new_address(Some("test"), Some(AddressType::Legacy))
342-
.expect("failed to get new address")
343-
.require_network(bitcoin::Network::Regtest)
344-
.expect("failed to get new address");
337+
let blockchain_info = bitcoind.get_blockchain_info().expect("failed to get blockchain info");
338+
let cur_height = blockchain_info.blocks;
339+
let address = bitcoind.new_address().expect("failed to get new address");
345340
// TODO: expect this Result once the WouldBlock issue is resolved upstream.
346-
let _block_hashes_res = bitcoind.generate_to_address(num as u64, &address);
341+
let _block_hashes_res = bitcoind.generate_to_address(num, &address);
347342
wait_for_block(electrs, cur_height as usize + num);
348343
print!(" Done!");
349344
println!("\n");
@@ -424,13 +419,12 @@ where
424419
pub(crate) fn premine_and_distribute_funds<E: ElectrumApi>(
425420
bitcoind: &BitcoindClient, electrs: &E, addrs: Vec<Address>, amount: Amount,
426421
) {
427-
let _ = bitcoind.create_wallet("ldk_node_test", None, None, None, None);
422+
let _ = bitcoind.create_wallet("ldk_node_test");
428423
let _ = bitcoind.load_wallet("ldk_node_test");
429424
generate_blocks_and_wait(bitcoind, electrs, 101);
430425

431426
for addr in addrs {
432-
let txid =
433-
bitcoind.send_to_address(&addr, amount, None, None, None, None, None, None).unwrap();
427+
let txid = bitcoind.send_to_address(&addr, amount).unwrap().0.parse().unwrap();
434428
wait_for_tx(electrs, txid);
435429
}
436430

tests/integration_tests_rust.rs

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,10 @@ use ldk_node::{Builder, Event, NodeError};
2424
use lightning::ln::channelmanager::PaymentId;
2525
use lightning::util::persist::KVStore;
2626

27-
use bitcoincore_rpc::RpcApi;
27+
use lightning_invoice::{Bolt11InvoiceDescription, Description};
2828

2929
use bitcoin::hashes::Hash;
3030
use bitcoin::Amount;
31-
use lightning_invoice::{Bolt11InvoiceDescription, Description};
3231

3332
use std::sync::Arc;
3433

@@ -499,16 +498,10 @@ fn onchain_wallet_recovery() {
499498

500499
let txid = bitcoind
501500
.client
502-
.send_to_address(
503-
&addr_2,
504-
Amount::from_sat(premine_amount_sat),
505-
None,
506-
None,
507-
None,
508-
None,
509-
None,
510-
None,
511-
)
501+
.send_to_address(&addr_2, Amount::from_sat(premine_amount_sat))
502+
.unwrap()
503+
.0
504+
.parse()
512505
.unwrap();
513506
wait_for_tx(&electrsd.client, txid);
514507

@@ -541,16 +534,10 @@ fn onchain_wallet_recovery() {
541534

542535
let txid = bitcoind
543536
.client
544-
.send_to_address(
545-
&addr_6,
546-
Amount::from_sat(premine_amount_sat),
547-
None,
548-
None,
549-
None,
550-
None,
551-
None,
552-
None,
553-
)
537+
.send_to_address(&addr_6, Amount::from_sat(premine_amount_sat))
538+
.unwrap()
539+
.0
540+
.parse()
554541
.unwrap();
555542
wait_for_tx(&electrsd.client, txid);
556543

0 commit comments

Comments
 (0)