Skip to content

feat: add frigate electrum based RPC methods - #16

Open
sdmg15 wants to merge 2 commits into
bitcoindevkit:masterfrom
sdmg15:master
Open

feat: add frigate electrum based RPC methods#16
sdmg15 wants to merge 2 commits into
bitcoindevkit:masterfrom
sdmg15:master

Conversation

@sdmg15

@sdmg15 sdmg15 commented Apr 29, 2026

Copy link
Copy Markdown

This PR adds supports for additional RPC methods provided by Frigate electrum based RPC server.

The added methods are:

  • server.version: This is the first message sent to establish connection with server
  • blockchain.silentpayments.subscribe: This takes a spend public key and a scan private key and return outputs belonging to the them.
  • blockchain.silentpayments.unsubscribe: This takes a spend public key and a scan private key and unsubscribe from notifications.

Some context:
This is useful for the PR opened at bitcoindevkit/bdk-sp#48 which is doing integration of frigate ephemeral scanning.
Opening this PR in order to receive feedback.

Reference:
https://github.com/sparrowwallet/frigate/

Supported Frigate version 1.3.2

@sdmg15 sdmg15 changed the title feat: add server.version, blockchain.silentpayments.subscribe and blockchain.silentpayments.unsubscribe feat: add frigate electrum based RPC methods Apr 29, 2026
@sdmg15
sdmg15 force-pushed the master branch 2 times, most recently from 225fc0c to 885cd2f Compare April 30, 2026 17:00
@sdmg15
sdmg15 marked this pull request as ready for review May 1, 2026 14:32
@evanlinjin

Copy link
Copy Markdown
Member

Thanks for the PR! Note that it needs a rebase now with the recent merges.

Comment thread src/notification.rs Outdated
Comment thread src/request.rs Outdated
Comment thread src/notification.rs Outdated
Comment thread src/notification.rs Outdated
Comment thread src/notification.rs Outdated
Comment thread src/notification.rs Outdated
Comment thread src/request.rs Outdated

@oleonardolima oleonardolima left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In https://github.com/sparrowwallet/frigate#serverfeatures it mentions the new field in server.features, is it not needed by bdk-sp ?

Comment thread src/request.rs Outdated
Comment thread src/request.rs
@oleonardolima oleonardolima added the enhancement New feature or request label May 26, 2026
@sdmg15
sdmg15 requested a review from oleonardolima July 3, 2026 12:44
@oleonardolima

Copy link
Copy Markdown
Contributor

@sdmg15 I just thought this now during the call, but you could also try adding support for these in https://github.com/bitcoindevkit/rust-electrum-client, not sure if the architecture there supports it though.

Comment thread src/notification.rs
Comment thread src/notification.rs Outdated
Comment thread src/request.rs
@sdmg15
sdmg15 requested a review from noahjoeris August 3, 2026 08:26

@noahjoeris noahjoeris left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for updating @sdmg15 !
I left a few more comments

Comment thread src/request.rs Outdated
Comment thread src/notification.rs Outdated
Comment thread src/request.rs Outdated
Comment thread src/request.rs Outdated
Comment thread src/pending_request.rs Outdated
Comment thread src/request.rs Outdated
@sdmg15

sdmg15 commented Aug 4, 2026

Copy link
Copy Markdown
Author

@noahjoeris Thanks for the reviews. I've applied the changes.

@noahjoeris noahjoeris left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks again for updating man. Almost there 🚀

Could you also add doc comments to the pub fields you added?

Comment thread src/pending_request.rs
Comment thread src/request.rs Outdated
Comment thread src/request.rs Outdated
Comment thread src/request.rs Outdated
Comment thread src/request.rs Outdated
Comment thread src/request.rs Outdated
Comment thread src/request.rs Outdated
Comment thread src/notification.rs Outdated
Comment thread src/request.rs Outdated
Comment thread src/notification.rs Outdated
@noahjoeris
noahjoeris self-requested a review August 25, 2026 18:31
Comment thread src/response.rs
Comment thread src/response.rs
Comment thread src/request.rs Outdated
Comment thread src/notification.rs
Comment thread src/request.rs Outdated
@noahjoeris

Copy link
Copy Markdown

Thanks @sdmg15 . I left some final nits. And I ran a quick manual test and it was looking good.

@sdmg15
sdmg15 requested a review from noahjoeris August 31, 2026 09:04

@noahjoeris noahjoeris left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tACK on the code. Manually tested against Frigate 1.4.1 on regtest with sp txs.

Before merge, please fold the history into:

  1. feat: support attributes in gen_pending_request_types!
  2. feat: add Frigate Silent Payments RPC support

Also left some docs update suggestions (non-blocking).
Thanks for all the updates

Comment thread src/response.rs Outdated
Comment thread src/request.rs Outdated
Comment thread src/request.rs Outdated
Comment thread src/request.rs Outdated
Comment thread src/request.rs Outdated
Comment thread src/request.rs Outdated
Comment thread src/notification.rs Outdated
Comment thread src/notification.rs Outdated
Comment thread src/notification.rs Outdated
Comment thread src/notification.rs Outdated
@sdmg15
sdmg15 force-pushed the master branch 2 times, most recently from d93c094 to 7b1017a Compare August 31, 2026 12:56
Comment thread src/notification.rs Outdated

@noahjoeris noahjoeris left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tACK b06246b

Prefer merging #18 first so we have version rpc call

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants