Skip to content

Commit 781260c

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 d06fd62 commit 781260c

File tree

4 files changed

+30
-48
lines changed

4 files changed

+30
-48
lines changed

Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,16 +92,16 @@ 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", default-features = false, features = ["legacy", "esplora_a33e97e1", "corepc-node_27_2"] }
102101

103102
[target.'cfg(no_download)'.dev-dependencies]
104-
electrsd = { version = "0.29.0", features = ["legacy"] }
103+
electrsd = { version = "0.31.0", default-features = false, features = ["legacy"] }
104+
corepc-node = { version = "0.6.1", default-features = false, features = ["27_2"] }
105105

106106
[target.'cfg(cln_test)'.dev-dependencies]
107107
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

@@ -361,17 +359,14 @@ pub(crate) fn setup_node(
361359
pub(crate) fn generate_blocks_and_wait<E: ElectrumApi>(
362360
bitcoind: &BitcoindClient, electrs: &E, num: usize,
363361
) {
364-
let _ = bitcoind.create_wallet("ldk_node_test", None, None, None, None);
362+
let _ = bitcoind.create_wallet("ldk_node_test");
365363
let _ = bitcoind.load_wallet("ldk_node_test");
366364
print!("Generating {} blocks...", num);
367-
let cur_height = bitcoind.get_block_count().expect("failed to get current block height");
368-
let address = bitcoind
369-
.get_new_address(Some("test"), Some(AddressType::Legacy))
370-
.expect("failed to get new address")
371-
.require_network(bitcoin::Network::Regtest)
372-
.expect("failed to get new address");
365+
let blockchain_info = bitcoind.get_blockchain_info().expect("failed to get blockchain info");
366+
let cur_height = blockchain_info.blocks;
367+
let address = bitcoind.new_address().expect("failed to get new address");
373368
// TODO: expect this Result once the WouldBlock issue is resolved upstream.
374-
let _block_hashes_res = bitcoind.generate_to_address(num as u64, &address);
369+
let _block_hashes_res = bitcoind.generate_to_address(num, &address);
375370
wait_for_block(electrs, cur_height as usize + num);
376371
print!(" Done!");
377372
println!("\n");
@@ -452,13 +447,12 @@ where
452447
pub(crate) fn premine_and_distribute_funds<E: ElectrumApi>(
453448
bitcoind: &BitcoindClient, electrs: &E, addrs: Vec<Address>, amount: Amount,
454449
) {
455-
let _ = bitcoind.create_wallet("ldk_node_test", None, None, None, None);
450+
let _ = bitcoind.create_wallet("ldk_node_test");
456451
let _ = bitcoind.load_wallet("ldk_node_test");
457452
generate_blocks_and_wait(bitcoind, electrs, 101);
458453

459454
for addr in addrs {
460-
let txid =
461-
bitcoind.send_to_address(&addr, amount, None, None, None, None, None, None).unwrap();
455+
let txid = bitcoind.send_to_address(&addr, amount).unwrap().0.parse().unwrap();
462456
wait_for_tx(electrs, txid);
463457
}
464458

tests/integration_tests_cln.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ use lightning_invoice::{Bolt11InvoiceDescription, Description};
1818
use clightningrpc::lightningrpc::LightningRPC;
1919
use clightningrpc::responses::NetworkAddress;
2020

21-
use bitcoincore_rpc::Auth;
22-
use bitcoincore_rpc::Client as BitcoindClient;
21+
use electrsd::corepc_client::client_sync::Auth;
22+
use electrsd::corepc_node::Client as BitcoindClient;
2323

2424
use electrum_client::Client as ElectrumClient;
2525
use lightning_invoice::Bolt11Invoice;
@@ -33,8 +33,8 @@ use std::str::FromStr;
3333
#[test]
3434
fn test_cln() {
3535
// Setup bitcoind / electrs clients
36-
let bitcoind_client = BitcoindClient::new(
37-
"127.0.0.1:18443",
36+
let bitcoind_client = BitcoindClient::new_with_auth(
37+
"http://127.0.0.1:18443",
3838
Auth::UserPass("user".to_string(), "pass".to_string()),
3939
)
4040
.unwrap();

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)