diff options
| author | Adam Soltys <[email protected]> | 2026-08-01 23:31:24 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-08-01 23:31:24 -0700 |
| commit | e978ae682f71ce87c14fb8bea886f90ddd4bf1c3 (patch) | |
| tree | 6635b6661ff7a5bc43f118b22b0c20ccea405b18 /src/features | |
| parent | 3dab66c5d3d63f19444e7fe14017fdfeb9a8e27d (diff) | |
| download | coinosv3-e978ae682f71ce87c14fb8bea886f90ddd4bf1c3.tar.gz coinosv3-e978ae682f71ce87c14fb8bea886f90ddd4bf1c3.zip | |
Payment addresses accept Lightning from LNURL-only wallets
An address only worked for wallets that speak DNS payment instructions
or BOLT 12; everything else looks for /.well-known/lnurlp/<name>. The
registrar now serves LUD-06/16 (with NIP-57 zap support), preferring
the path that touches no funds: if the recipient's wallet published a
CLINK offer key, we ask IT for the invoice over nostr and hand the
result straight back — the payment never passes through us. Only when
nobody answers does our node mint the invoice, and the existing settle
forwarder pushes the money on to their address, signing a zap receipt
when the payment was a zap.
Co-Authored-By: Claude Fable 5 <[email protected]>
Diffstat (limited to 'src/features')
| -rw-r--r-- | src/features/names.js | 3 | ||||
| -rw-r--r-- | src/features/nwc.js | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/features/names.js b/src/features/names.js index 4e4f704..4c0ffaf 100644 --- a/src/features/names.js +++ b/src/features/names.js @@ -66,6 +66,9 @@ export function namesFeature(ctx) { if (!uri) throw new Error(t('namesNeedArk')); const j = await post('/register', 'POST', { name, uri, domain: DOMAIN, + // lets the address take Lightning payments from LNURL-only wallets: + // the registrar asks this key for an invoice before minting its own + ...(hook('nwcOfferPubkey') ? { offerPk: hook('nwcOfferPubkey') } : {}), // when the login identity claims its own npub name, it nominates the // wallet key to keep the record updated afterwards ...(manager ? { manager } : {}), diff --git a/src/features/nwc.js b/src/features/nwc.js index 5c49273..e7511c1 100644 --- a/src/features/nwc.js +++ b/src/features/nwc.js @@ -762,6 +762,7 @@ export function nwcFeature(ctx) { return { id: 'nwc', + nwcOfferPubkey() { return (hook('arkReady') && !wallet.watchOnly) ? offerKeys().pk : null; }, nwcOfferString() { return hook('arkReady') && !wallet.watchOnly ? offerString() : null; }, init() { listen(); startWatchdog(); refreshRegistration(); reconcileBg(); }, stop() { stop(); if (watchdog) { clearInterval(watchdog); watchdog = null; } }, |
