Include LNURL hint in NWC zap payments

This commit is contained in:
thePR0M3TH3AN committed 2025-10-27 20:14:28 -04:00
1 parent be6162f5cd
commit 18ffde2147
3 files changed
+16 -3

No files matched your search

+13 -3
View File
@@ -1083,7 +1083,7 @@ function sanitizeAmount(amount) {
return Math.max(0, rounded);
}
function buildPayInvoiceParams({ invoice, amountSats, zapRequest }) {
function buildPayInvoiceParams({ invoice, amountSats, zapRequest, lnurl }) {
const params = { invoice };
const amount = sanitizeAmount(amountSats);
@@ -1095,13 +1095,23 @@ function buildPayInvoiceParams({ invoice, amountSats, zapRequest }) {
params.zap_request = zapRequest;
}
if (typeof lnurl === "string") {
const trimmed = lnurl.trim();
if (trimmed) {
params.lnurl = trimmed;
}
}
return params;
}
export async function sendPayment(bolt11, { settings, amountSats, zapRequest, timeoutMs } = {}) {
export async function sendPayment(
bolt11,
{ settings, amountSats, zapRequest, lnurl, timeoutMs } = {}
) {
const context = await ensureWallet({ settings });
const invoice = sanitizeInvoice(bolt11);
const params = buildPayInvoiceParams({ invoice, amountSats, zapRequest });
const params = buildPayInvoiceParams({ invoice, amountSats, zapRequest, lnurl });
const payload = {
id: `req-${Date.now()}-${++requestCounter}`,
method: "pay_invoice",
+1
View File
@@ -370,6 +370,7 @@ async function processShare({
const payment = await deps.wallet.sendPayment(invoice.invoice, {
amountSats,
zapRequest,
lnurl: resolved.url,
});
return {
+2
View File
@@ -13,11 +13,13 @@ await (async () => {
invoice: "bolt11-invoice",
amountSats: 123,
zapRequest: "zap-request-json",
lnurl: " https://pay.example/lnurlp/test ",
});
assert.equal(params.invoice, "bolt11-invoice");
assert.equal(params.amount, 123_000);
assert.equal(params.zap_request, "zap-request-json");
assert.equal(params.lnurl, "https://pay.example/lnurlp/test");
})();
await (async () => {