Skip to content

Commit 09e929a

Browse files
committed
Expose additional TLS backends for electrum-client via features
Recently, `rustls` introduced a new default crypto provider in `aws-lc-rc`. Since there have been reports on this new provider not building properly on certain platforms `electrum-client` introduced additional features allowing the user to configure what backend to use for TLS. Here, we simply re-expose these features to our users, which also mirrors what we do for Esplora already.
1 parent 1d09868 commit 09e929a

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

ci/ci-tx-sync-tests.sh

+6
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ cargo check --verbose --color always --features esplora-blocking
2727
cargo check --verbose --color always --features esplora-async
2828
cargo check --verbose --color always --features esplora-async-https
2929
cargo check --verbose --color always --features electrum
30+
cargo check --verbose --color always --features electrum-rustls
31+
cargo check --verbose --color always --features electrum-rustls-ring
32+
cargo check --verbose --color always --features electrum-openssl
3033

3134
if [ -z "$CI_ENV" ] && [[ -z "$BITCOIND_EXE" || -z "$ELECTRS_EXE" ]]; then
3235
echo -e "\n\nSkipping testing Transaction Sync Clients due to BITCOIND_EXE or ELECTRS_EXE being unset."
@@ -37,6 +40,9 @@ else
3740
cargo test --verbose --color always --features esplora-async
3841
cargo test --verbose --color always --features esplora-async-https
3942
cargo test --verbose --color always --features electrum
43+
cargo test --verbose --color always --features electrum-rustls
44+
cargo test --verbose --color always --features electrum-rustls-ring
45+
cargo test --verbose --color always --features electrum-openssl
4046
fi
4147

4248
popd

lightning-transaction-sync/Cargo.toml

+8-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,11 @@ time = []
1919
esplora-async = ["async-interface", "esplora-client/async", "esplora-client/tokio", "futures"]
2020
esplora-async-https = ["esplora-async", "esplora-client/async-https-rustls"]
2121
esplora-blocking = ["esplora-client/blocking"]
22+
2223
electrum = ["electrum-client"]
24+
electrum-rustls = ["electrum", "electrum-client/use-rustls"]
25+
electrum-rustls-ring = ["electrum", "electrum-client/use-rustls-ring"]
26+
electrum-openssl = ["electrum", "electrum-client/use-openssl"]
2327
async-interface = []
2428

2529
[dependencies]
@@ -28,7 +32,10 @@ lightning-macros = { version = "0.2", path = "../lightning-macros", default-feat
2832
bitcoin = { version = "0.32.2", default-features = false }
2933
futures = { version = "0.3", optional = true }
3034
esplora-client = { version = "0.11", default-features = false, optional = true }
31-
electrum-client = { version = "0.22.0", optional = true }
35+
36+
# As of v0.22, electrum-client's `proxy` feature is still defacto mandatory,
37+
# see https://github.com/bitcoindevkit/rust-electrum-client/issues/91
38+
electrum-client = { version = "0.22.0", optional = true, default-features = false, features = ["proxy"] }
3239

3340
[dev-dependencies]
3441
lightning = { version = "0.2.0", path = "../lightning", default-features = false, features = ["std", "_test_utils"] }

0 commit comments

Comments
 (0)