Skip to content

Commit d674ef6

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 22cb1df commit d674ef6

File tree

3 files changed

+25
-44
lines changed

3 files changed

+25
-44
lines changed

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
@@ -33,11 +33,9 @@ use bitcoin::hashes::sha256::Hash as Sha256;
3333
use bitcoin::hashes::Hash;
3434
use bitcoin::{Address, Amount, Network, OutPoint, Txid};
3535

36-
use bitcoincore_rpc::bitcoincore_rpc_json::AddressType;
37-
use bitcoincore_rpc::Client as BitcoindClient;
38-
use bitcoincore_rpc::RpcApi;
39-
40-
use electrsd::{bitcoind, bitcoind::BitcoinD, ElectrsD};
36+
use electrsd::corepc_node::Client as BitcoindClient;
37+
use electrsd::corepc_node::Node as BitcoinD;
38+
use electrsd::{corepc_node, ElectrsD};
4139
use electrum_client::ElectrumApi;
4240

4341
use rand::distributions::Alphanumeric;
@@ -171,10 +169,10 @@ pub(crate) use expect_payment_successful_event;
171169

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

@@ -352,17 +350,14 @@ pub(crate) fn setup_node(
352350
pub(crate) fn generate_blocks_and_wait<E: ElectrumApi>(
353351
bitcoind: &BitcoindClient, electrs: &E, num: usize,
354352
) {
355-
let _ = bitcoind.create_wallet("ldk_node_test", None, None, None, None);
353+
let _ = bitcoind.create_wallet("ldk_node_test");
356354
let _ = bitcoind.load_wallet("ldk_node_test");
357355
print!("Generating {} blocks...", num);
358-
let cur_height = bitcoind.get_block_count().expect("failed to get current block height");
359-
let address = bitcoind
360-
.get_new_address(Some("test"), Some(AddressType::Legacy))
361-
.expect("failed to get new address")
362-
.require_network(bitcoin::Network::Regtest)
363-
.expect("failed to get new address");
356+
let blockchain_info = bitcoind.get_blockchain_info().expect("failed to get blockchain info");
357+
let cur_height = blockchain_info.blocks;
358+
let address = bitcoind.new_address().expect("failed to get new address");
364359
// TODO: expect this Result once the WouldBlock issue is resolved upstream.
365-
let _block_hashes_res = bitcoind.generate_to_address(num as u64, &address);
360+
let _block_hashes_res = bitcoind.generate_to_address(num, &address);
366361
wait_for_block(electrs, cur_height as usize + num);
367362
print!(" Done!");
368363
println!("\n");
@@ -443,13 +438,12 @@ where
443438
pub(crate) fn premine_and_distribute_funds<E: ElectrumApi>(
444439
bitcoind: &BitcoindClient, electrs: &E, addrs: Vec<Address>, amount: Amount,
445440
) {
446-
let _ = bitcoind.create_wallet("ldk_node_test", None, None, None, None);
441+
let _ = bitcoind.create_wallet("ldk_node_test");
447442
let _ = bitcoind.load_wallet("ldk_node_test");
448443
generate_blocks_and_wait(bitcoind, electrs, 101);
449444

450445
for addr in addrs {
451-
let txid =
452-
bitcoind.send_to_address(&addr, amount, None, None, None, None, None, None).unwrap();
446+
let txid = bitcoind.send_to_address(&addr, amount).unwrap().0.parse().unwrap();
453447
wait_for_tx(electrs, txid);
454448
}
455449

tests/integration_tests_rust.rs

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

29-
use bitcoincore_rpc::RpcApi;
29+
use lightning_invoice::{Bolt11InvoiceDescription, Description};
3030

3131
use bitcoin::hashes::Hash;
3232
use bitcoin::Amount;
33-
use lightning_invoice::{Bolt11InvoiceDescription, Description};
33+
3434
use log::LevelFilter;
3535

3636
use std::sync::Arc;
@@ -502,16 +502,10 @@ fn onchain_wallet_recovery() {
502502

503503
let txid = bitcoind
504504
.client
505-
.send_to_address(
506-
&addr_2,
507-
Amount::from_sat(premine_amount_sat),
508-
None,
509-
None,
510-
None,
511-
None,
512-
None,
513-
None,
514-
)
505+
.send_to_address(&addr_2, Amount::from_sat(premine_amount_sat))
506+
.unwrap()
507+
.0
508+
.parse()
515509
.unwrap();
516510
wait_for_tx(&electrsd.client, txid);
517511

@@ -544,16 +538,10 @@ fn onchain_wallet_recovery() {
544538

545539
let txid = bitcoind
546540
.client
547-
.send_to_address(
548-
&addr_6,
549-
Amount::from_sat(premine_amount_sat),
550-
None,
551-
None,
552-
None,
553-
None,
554-
None,
555-
None,
556-
)
541+
.send_to_address(&addr_6, Amount::from_sat(premine_amount_sat))
542+
.unwrap()
543+
.0
544+
.parse()
557545
.unwrap();
558546
wait_for_tx(&electrsd.client, txid);
559547

0 commit comments

Comments
 (0)