feat: SamRock Protocol support for BTCPay Server#2005
Conversation
Implement SamRock Protocol to enable one-scan merchant setup between Bull Bitcoin wallet and BTCPay Server. Scanning a SamRock QR code from BTCPay extracts the wallet's public descriptors (BTC, Liquid, Lightning/Boltz) and POSTs them to configure the store. Feature structure (clean architecture): - Domain: entities, repository contract, usecase - Data: HTTP datasource (HTTPS-only), repository impl - Presentation: Cubit with freezed state management - UI: QR scanner, confirmation screen, success/error views - Tests: 18 unit tests for URL parsing and payload construction Security: only public descriptors shared, HTTPS enforced, user confirmation required before POST, server URL displayed. Requires: SamRock Protocol plugin on BTCPay Server, Boltz plugin for Lightning support. Closes: Bull Bitcoin SamRock integration (roadmap item)
BTCPay Server sends btc-chain/liquid-chain/btc-ln in setup URLs, while Aqua uses btc/lbtc/btcln. Accept both formats. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add SamRock link in Settings screen - Add PasteInput widget to QR scanner view for URL pasting
|
The samrock protocol normally specifies to create a seperate Liquid Wallet other than the main one (in our case the instant payment wallet). This should be considered as part of our multi-wallet feature. |
|
Thanks for the feedback @BullishNode. We looked into creating a separate Liquid wallet for SamRock. The issue is that Two options we see:
Does LWK support account index selection that we're missing, or do you have a preferred approach in the multi-wallet roadmap? |
|
We have a specific approach for multiwallet roadmap we are working on, we will keep you posted. Thanks for the PR! Let's consider that multiwallet feature is a prerequisite for Samrock |
|
@BullishNode should we close this now as this (rockstardev/SamRockProtocol#10) got added and merged? |
Summary
btc-chain,liquid-chain,btc-ln) and Aqua (btc,lbtc,btcln) URL formatsTest plan