Skip to content

Bump electrum_client dependency and add new TLS-backend features #3587

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 7, 2025

Conversation

tnull
Copy link
Contributor

@tnull tnull commented Feb 4, 2025

We bump our electrum_client dependency to v0.22 which is the newest version and also aligns with recent BDK releases.

Also, 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. Note we avoid changing the behavior of the pre-existing electrum feature to make this a backwards compatible change.

@tnull tnull force-pushed the 2025-02-bump-electrum-client branch 2 times, most recently from 84fd91e to d12378d Compare February 4, 2025 10:16
Copy link

codecov bot commented Feb 4, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 91.00%. Comparing base (43de15e) to head (ab0537f).
Report is 75 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3587      +/-   ##
==========================================
+ Coverage   89.20%   91.00%   +1.79%     
==========================================
  Files         155      156       +1     
  Lines      119229   135548   +16319     
  Branches   119229   135548   +16319     
==========================================
+ Hits       106363   123358   +16995     
+ Misses      10266     9715     -551     
+ Partials     2600     2475     -125     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@tnull tnull force-pushed the 2025-02-bump-electrum-client branch 3 times, most recently from 4c96307 to e4ecb76 Compare February 4, 2025 10:32
@tnull
Copy link
Contributor Author

tnull commented Feb 4, 2025

Draft for now as in dependency hell :(

@tnull tnull marked this pull request as draft February 4, 2025 11:22
@tnull tnull force-pushed the 2025-02-bump-electrum-client branch 4 times, most recently from 09e929a to 1d09868 Compare March 13, 2025 09:44
@tnull tnull force-pushed the 2025-02-bump-electrum-client branch 4 times, most recently from 094b538 to db8c7c2 Compare March 19, 2025 12:09
@tnull
Copy link
Contributor Author

tnull commented Mar 26, 2025

Blocked on rust-bitcoin/corepc#111

@tnull tnull force-pushed the 2025-02-bump-electrum-client branch from f2b80af to 2cc608a Compare March 27, 2025 08:49
tnull added 2 commits April 28, 2025 16:39
.. which is the newest version and also aligns with recent BDK releases.
@tnull tnull force-pushed the 2025-02-bump-electrum-client branch from 2cc608a to c257589 Compare April 28, 2025 14:39
@tnull tnull marked this pull request as ready for review April 28, 2025 14:57
@TheBlueMatt
Copy link
Collaborator

Discussed with @tnull and we concluded its probably fine to just do a patch for ldk-node release and we can skip backporting this (which technically breaks compat).

@tnull
Copy link
Contributor Author

tnull commented Apr 29, 2025

Discussed with @tnull and we concluded its probably fine to just do a patch for ldk-node release and we can skip backporting this (which technically breaks compat).

Right, I can probably do without the backport for now. Would still be great to land this PR though.

Recently `rustls` introduced a new default crypto provider, `aws-lc-rc`.
While it generally works fine, it doesn't seem to build properly on
`aarch64-apple-ios`. Here, we therefore allow the users to decide which
crypto provider the `electrum-client` client should use for its `rustls`
TLS backend. To this end, we disable default features while keeping the
`proxy` enabled, as it's a prerequisite for the
`electrum_client::Client` to be exposed / usable (also see
bitcoindevkit/rust-electrum-client#91).
@tnull tnull force-pushed the 2025-02-bump-electrum-client branch from c641af3 to d84a776 Compare May 7, 2025 12:00
@tnull
Copy link
Contributor Author

tnull commented May 7, 2025

Going ahead landing this as it has two ACKs, and only the commit message of the last commit was adjusted since.

@tnull tnull merged commit 78fee88 into lightningdevkit:main May 7, 2025
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants