Skip to content

feat: opaque token and payment hash fix#1

Merged
okjodom merged 2 commits into
mainfrom
ok/btcpay-ln-payment-hash
Jul 10, 2026
Merged

feat: opaque token and payment hash fix#1
okjodom merged 2 commits into
mainfrom
ok/btcpay-ln-payment-hash

Conversation

@okjodom

@okjodom okjodom commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

No description provided.

@okjodom okjodom requested review from TChukwuleta and Copilot July 10, 2026 16:26
@okjodom okjodom merged commit f568e3b into main Jul 10, 2026
1 check passed

Copilot AI 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.

Pull request overview

This PR updates the Minmo BTCPay Server plugin to use a single opaque connection token (instead of separate team/wallet IDs plus API token) and adjusts invoice handling to better normalize payment hashes and descriptions when communicating with the Minmo wallet facade.

Changes:

  • Switch connection string format to type=minmo;server=...;token=... and update help/README examples accordingly.
  • Update Minmo client request routing and bearer auth to use the opaque token and simplified /v1/btcpay/wallet/{operation} endpoint.
  • Add normalization for invoice description and payment hash parsing (including deriving payment hash from BOLT11 when needed).

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
btcpayserver/Minmo.BTCPayServer.Plugin/Views/MinmoLightningNodeHelp.cshtml Updates UI help text to show the new token-based connection string.
btcpayserver/Minmo.BTCPayServer.Plugin/README.md Updates documentation to describe the opaque connection token and new connection string format.
btcpayserver/Minmo.BTCPayServer.Plugin/MinmoLightningConnectionString.cs Changes parsed connection string fields to a single Token value.
btcpayserver/Minmo.BTCPayServer.Plugin/MinmoLightningClient.cs Uses the new token-based auth/routing and adds payment-hash/description normalization in invoice handling.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +267 to +282
private string? NormalizePaymentHash(string? paymentHash, string? bolt11)
{
if (!string.IsNullOrWhiteSpace(paymentHash) &&
uint256.TryParse(paymentHash, out var parsedPaymentHash))
{
return parsedPaymentHash.ToString();
}

if (!string.IsNullOrWhiteSpace(bolt11) &&
BOLT11PaymentRequest.TryParse(bolt11, out var paymentRequest, _network))
{
return paymentRequest?.PaymentHash?.ToString();
}

return null;
}
Comment on lines +303 to +306
catch (JsonReaderException)
{
}

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.

2 participants