diff options
| author | Adam Soltys <[email protected]> | 2026-08-01 20:28:56 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-08-01 20:28:56 -0700 |
| commit | 5986cbf5337593eb11fd984d284bd41da7719a87 (patch) | |
| tree | 4ea35eb279b7213f5ebe9ec77118710612f35b6d /build.js | |
| parent | 348a57004f94dd0f58c4e70769e65ca7ea3f7619 (diff) | |
| download | coinosv3-5986cbf5337593eb11fd984d284bd41da7719a87.tar.gz coinosv3-5986cbf5337593eb11fd984d284bd41da7719a87.zip | |
Payment names: ₿[email protected] via BIP-353 DNS payment instructions
Receiving: a Settings card claims a username, signed with the wallet's
nostr key; the new names registrar (names/server.js, deployed at
names.halwallet.app) enforces first-come ownership by that key and
mirrors the claim into a DNSSEC-signed TXT record at
<name>.user._bitcoin-payment.halwallet.app whose BIP-21 URI carries the
wallet's reusable ark address. The record re-registers itself if the
ark address ever changes, and a collapsible hint shows the single CNAME
a user adds to serve the same name from their own domain (BIP-353
supports delegation when both zones are DNSSEC-signed).
Sending: a pasted name@domain resolves over DNS first — two independent
DoH resolvers must agree and both report the DNSSEC AD flag (full
client-side chain validation is the stated follow-up) — an ark=
instruction pays natively, an on-chain path fills the send form, and a
name with no DNS record falls back to the Lightning-address zap flow.
Co-Authored-By: Claude Fable 5 <[email protected]>
Diffstat (limited to 'build.js')
| -rw-r--r-- | build.js | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -185,7 +185,7 @@ export async function buildSwNwc({ minify = true } = {}) { // feature's code (and its network endpoints) never enters the bundle. // NB order matters and must match src/features/index.js — nwc sits after ark // because it drives ark's headless pay/balance seam. -const ALL_FEATURES = { gifts: 'giftsFeature', ark: 'arkFeature', zaps: 'zapsFeature', nwc: 'nwcFeature', sync: 'syncFeature' }; +const ALL_FEATURES = { gifts: 'giftsFeature', ark: 'arkFeature', names: 'namesFeature', zaps: 'zapsFeature', nwc: 'nwcFeature', sync: 'syncFeature' }; export function enabledFeatures(spec = process.env.HAL_FEATURES) { if (spec == null) return Object.keys(ALL_FEATURES); |
