Skip to content

deps(bdk_testenv): bump electrsd to 0.31.0 #1826

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

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

oleonardolima
Copy link
Contributor

Description

Notes to the reviewers

Changelog notice

Checklists

All Submissions:

  • I've signed all my commits
  • I followed the contribution guidelines
  • I ran cargo fmt and cargo clippy before committing

New Features:

  • I've added tests for the new feature
  • I've added docs for the new feature

Bugfixes:

  • This pull request breaks the existing API
  • I've added tests to reproduce the issue which are now passing
  • I'm linking the issue being fixed by this PR

@oleonardolima
Copy link
Contributor Author

It looks like I'll need to open a PR on corepc-client to add get-block-template RPC, then I'll get back to this one :(

I'll do the same in rust-electrum-client for the tests, but I'll do it to 0.30.x instead to prevent this issue from blocking the PR there.

@oleonardolima oleonardolima force-pushed the deps/bump-electrsd-version branch from af3988d to b4d655a Compare February 9, 2025 02:57
@oleonardolima oleonardolima force-pushed the deps/bump-electrsd-version branch 4 times, most recently from ef27736 to f52f04d Compare March 22, 2025 18:46
@notmandatory notmandatory added the dependencies Pull requests that update a dependency file label Apr 23, 2025
@notmandatory notmandatory moved this to In Progress in BDK Chain Apr 23, 2025
@ValuedMammal
Copy link
Collaborator

@oleonardolima I noticed that the getblocktemplate RPC is implemented in corepc-client.

@oleonardolima
Copy link
Contributor Author

@oleonardolima I noticed that the getblocktemplate RPC is implemented in corepc-client.

Yes, it was added a few releases after I started this PR, but IIRC some other methods were missing too. I'll check that again.

@ValuedMammal
Copy link
Collaborator

Yes, it was added a few releases after I started this PR, but IIRC some other methods were missing too. I'll check that again.

Seems to be lacking good support for get_raw_mempool_verbose, at least for versions of Bitcoin Core later than 0.17.

@oleonardolima
Copy link
Contributor Author

Once #1988 lands, we won't be relying on get_raw_mempool_verbose; instead, we will use get_raw_mempool. It should unblock this one.

@oleonardolima oleonardolima force-pushed the deps/bump-electrsd-version branch from f52f04d to e8fc019 Compare August 5, 2025 02:23
@oleonardolima
Copy link
Contributor Author

Once #1988 lands, we won't be relying on get_raw_mempool_verbose; instead, we will use get_raw_mempool. It should unblock this one.

It appears that other methods are missing in the corepc-client at electrsd 0.34. They're released on corepc-node 0.8, which will be included in the next release of electrsd. Will check if there are alternative methods for those.

@oleonardolima oleonardolima force-pushed the deps/bump-electrsd-version branch from e8fc019 to ea09145 Compare August 8, 2025 20:01
@oleonardolima oleonardolima force-pushed the deps/bump-electrsd-version branch 2 times, most recently from 8ce163c to 2ab640d Compare August 8, 2025 20:03
- FIXME: update `bitcoind_rpc` to use `corepc-{node|client}` instead.
@oleonardolima oleonardolima force-pushed the deps/bump-electrsd-version branch from 2ab640d to 366c9d9 Compare August 8, 2025 20:11
@oleonardolima
Copy link
Contributor Author

It appears that other methods are missing in the corepc-client at electrsd 0.34. They're released on corepc-node 0.8, which will be included in the next release of electrsd. Will check if there are alternative methods for those.

As of the latest v0.35 release, it appears that all the necessary methods are implemented in corepc-{node|client}. I went ahead and updated the bdk-testenv and bdk-electrum/esplora crates.

It requires a more significant refactor and changes for the bdk_bitcoind_rpc, as the Emitter relies on the bitcoincore-rpc ' RpcApi' trait. I can cover it all in a single PR, but would like to know what you guys think as well.

cc @ValuedMammal @LagginTimes

@ValuedMammal
Copy link
Collaborator

Replaying a comment from discord

I also noticed that updating electrsd means potentially changing the Emitter to use corepc Client because of how it relates to testenv, etc. We have to make sure switching clients doesn't negatively impact behavior, performance and stuff

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

3 participants