aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-08-02 12:32:14 -0700
committerAdam Soltys <[email protected]>2026-08-02 12:32:14 -0700
commit1fdaa920d7530ac2073ca50280d9531935446c7a (patch)
tree8eab1180f0e828a917821cb865498ec8f853667f
parent3205acf157b7f1cfb857a383f374ef4d739d82cc (diff)
downloadcoinosv3-1fdaa920d7530ac2073ca50280d9531935446c7a.tar.gz
coinosv3-1fdaa920d7530ac2073ca50280d9531935446c7a.zip
Rebrand: hal → coinos v3
The app already presents as Coinos; this finishes the job in the repo: package name, README, GitHub link, code comments, and the stale locale lines that still explained the old "Hal Wallet" name (they fall back to the English tribute line). Kept: the hal-nwc-pouch IndexedDB name (an upgrade-compat identifier), the halwallet.app domain in the BIP-353 names feature (live infrastructure), and the Hal Finney tribute itself. Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Wvj4aoeMZwA7VUGdJP9Swi
-rw-r--r--HANDOFF.md4
-rw-r--r--README.md7
-rw-r--r--build.js2
-rw-r--r--package.json6
-rw-r--r--src/app.js2
-rw-r--r--src/ark/manager.js8
-rw-r--r--src/concord.js2
-rw-r--r--src/electrum.js2
-rw-r--r--src/features/messages.js6
-rw-r--r--src/features/nwc.js10
-rw-r--r--src/locales/ar.json1
-rw-r--r--src/locales/bn.json1
-rw-r--r--src/locales/de.json1
-rw-r--r--src/locales/es.json1
-rw-r--r--src/locales/fr.json1
-rw-r--r--src/locales/hi.json1
-rw-r--r--src/locales/id.json1
-rw-r--r--src/locales/ja.json1
-rw-r--r--src/locales/ko.json1
-rw-r--r--src/locales/mr.json1
-rw-r--r--src/locales/pt.json1
-rw-r--r--src/locales/ru.json1
-rw-r--r--src/locales/sw.json1
-rw-r--r--src/locales/ta.json1
-rw-r--r--src/locales/te.json1
-rw-r--r--src/locales/tr.json1
-rw-r--r--src/locales/ur.json1
-rw-r--r--src/locales/vi.json1
-rw-r--r--src/locales/zh.json1
-rw-r--r--src/sw-nwc.js2
-rw-r--r--src/wallet.js2
31 files changed, 27 insertions, 45 deletions
diff --git a/HANDOFF.md b/HANDOFF.md
index 2635aeb..0fd13ce 100644
--- a/HANDOFF.md
+++ b/HANDOFF.md
@@ -2,7 +2,7 @@
Working note, not project docs. Delete when it's stale.
Persistent memory for all of this lives in
-`~/.claude/projects/-home-adam-halwallet/memory/` — start by reading
+`~/.claude/projects/-home-adam-coinosv3/memory/` — start by reading
`MEMORY.md`, then `hal-nwc`, `coinos-ark-mainnet`, `ark-swap-bridge`,
`coinos-ark-asp`, `ark-third-party-htlc`.
@@ -105,7 +105,7 @@ below.
### The probe (copy-paste, needs Chrome with `--remote-debugging-port=9222` and a hal tab open)
```js
-// bun run this from ~/halwallet
+// bun run this from ~/coinosv3
import puppeteer from 'puppeteer-core';
import { SimplePool } from 'nostr-tools/pool';
import { nip04, finalizeEvent } from './src/nostr.js';
diff --git a/README.md b/README.md
index c15bf76..5986748 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# Hal Wallet
+# coinos v3
A self-contained, **single-file** Bitcoin wallet that runs entirely in the
browser — think bitaddress.org, but a modern BIP84 HD wallet from a seed phrase
@@ -6,10 +6,11 @@ that scans history, watches for payments, spends on-chain, pays Lightning
invoices, and holds an off-chain balance on **Ark**. The whole wallet is one
static `index.html` you can save and run offline, forever.
-Live at **https://halwallet.app** (the built `index.html` also runs straight
+Live at **https://v3.coinos.io** (the built `index.html` also runs straight
from the filesystem with no server).
-The name is a nod to [Hal Finney](https://en.wikipedia.org/wiki/Hal_Finney_(computer_scientist)).
+Built on the shoulders of [Hal Finney](https://en.wikipedia.org/wiki/Hal_Finney_(computer_scientist)) —
+this project began life as "Hal Wallet" in his memory.
## Features
diff --git a/build.js b/build.js
index 523d917..5efd3eb 100644
--- a/build.js
+++ b/build.js
@@ -194,7 +194,7 @@ function featureIndexSource(enabled) {
}
const featurePlugin = (enabled) => ({
- name: 'hal-features',
+ name: 'coinos-features',
setup(b) {
b.onLoad({ filter: /src[\/\\]features[\/\\]index\.js$/ }, () => ({
contents: featureIndexSource(enabled),
diff --git a/package.json b/package.json
index e861882..12d3514 100644
--- a/package.json
+++ b/package.json
@@ -1,9 +1,9 @@
{
- "name": "hal-wallet",
+ "name": "coinosv3",
"private": true,
"version": "0.1.0",
"type": "module",
- "description": "Hal Wallet \u2014 offline-capable, single-file self-custody Bitcoin wallet for the browser, in memory of Hal Finney",
+ "description": "coinos v3 — offline-capable, single-file self-custody Bitcoin wallet for the browser, built in memory of Hal Finney",
"scripts": {
"dev": "bun run dev.js",
"build": "bun run build.js",
@@ -22,4 +22,4 @@
"devDependencies": {
"puppeteer-core": "^25.1.0"
}
-} \ No newline at end of file
+}
diff --git a/src/app.js b/src/app.js
index b31c136..2d407af 100644
--- a/src/app.js
+++ b/src/app.js
@@ -150,7 +150,7 @@ function footer() {
h('a', { href: 'https://adamsoltys.com', target: '_blank', rel: 'noopener' }, 'Adam Soltys'),
h('span', { class: 'faint' }, ' · '),
t('footerSourceOn') + ' ',
- h('a', { href: 'https://github.com/asoltys/halwallet', target: '_blank', rel: 'noopener' }, 'GitHub')
+ h('a', { href: 'https://github.com/coinos/coinosv3', target: '_blank', rel: 'noopener' }, 'GitHub')
),
h(
'div',
diff --git a/src/ark/manager.js b/src/ark/manager.js
index 5a797e7..3b54582 100644
--- a/src/ark/manager.js
+++ b/src/ark/manager.js
@@ -1,5 +1,5 @@
// ArkManager — persistent, crash-safe Ark wallet state on top of the
-// src/ark protocol modules. Follows hal's SwapManager shape: a class over a
+// src/ark protocol modules. Follows the wallet's SwapManager shape: a class over a
// wallet-scoped storage adapter, driving multi-step actions that are
// checkpointed to storage before and after every server-effectful RPC.
//
@@ -10,7 +10,7 @@
//
// Keys: vtxo keys on account chain 3 (index 0 = the receive address key,
// 1.. = change/refresh outputs), mailbox key on chain 4. Chains 0-2 are used
-// by hal for receive/change/swaps.
+// by the wallet for receive/change/swaps.
import { hex } from '@scure/base';
import { sha256 } from '@noble/hashes/sha256';
@@ -151,7 +151,7 @@ export class ArkManager {
}
_decoded(v) { return decodeVtxo(hex.decode(v.bytes)); }
- // ---- chain adapter (esplora REST, same API hal already speaks) ----
+ // ---- chain adapter (esplora REST, same API the wallet already speaks) ----
get chain() {
const base = this.esploraUrl;
return {
@@ -1148,7 +1148,7 @@ export class ArkManager {
}
// ---- board ----
- // Returns the onchain funding address; hal's onchain wallet pays it (the
+ // Returns the onchain funding address; the onchain wallet pays it (the
// board output MUST be vout 0), then completeBoard(actionId, txid).
async startBoard(amountSat) {
if (amountSat < this.info.minBoardAmountSat) {
diff --git a/src/concord.js b/src/concord.js
index 909fbd1..424ed3c 100644
--- a/src/concord.js
+++ b/src/concord.js
@@ -189,7 +189,7 @@ export const foldControl = (entries, { ownerHex, cid }) => {
let parse = (e) => { try { return JSON.parse(e.rumor.content); } catch { return null; } };
// Roles and grants first so later authority checks could use them; for now
- // hal only honors owner-signed authority (the coinos community's owner is
+ // coinos only honors owner-signed authority (the coinos community's owner is
// its sole admin) plus grants the owner signed.
for (let e of byEntity.values()) {
if (e.author !== ownerHex) continue; // non-owner authority: future work (vac/roster walk)
diff --git a/src/electrum.js b/src/electrum.js
index fb61298..dc3c1c9 100644
--- a/src/electrum.js
+++ b/src/electrum.js
@@ -1,7 +1,7 @@
// Electrum-over-WebSocket backend — an alternative to the Esplora REST `Api`.
//
// A single Electrum connection answers the wallet's data queries AND pushes
-// `scripthash.subscribe` notifications, so pointing Hal at your own Fulcrum /
+// `scripthash.subscribe` notifications, so pointing coinos at your own Fulcrum /
// electrs gives a fully self-hosted setup: no coinos, no public REST, nothing
// shared with anyone but your own server.
//
diff --git a/src/features/messages.js b/src/features/messages.js
index 3843b36..0914755 100644
--- a/src/features/messages.js
+++ b/src/features/messages.js
@@ -1,7 +1,7 @@
// Messages — encrypted community chat over the Concord protocol (CORD-01..04),
// the successor to Marmot/White Noise for Discord-shaped rooms on nostr.
//
-// hal ships with one built-in community: "coinos". Its join material (below)
+// coinos ships with one built-in community: "coinos". Its join material (below)
// includes the community_root, so holding the app is holding membership —
// relays only ever see kind-1059 wraps signed by derived stream keys. The
// community was founded by Adam's npub, which makes him owner (position 0)
@@ -10,7 +10,7 @@
// Messages are signed by the session's nostr login identity when a signer is
// live (extension, or a pasted key before reload), else by the wallet's
// NIP-06 key — both only ever *sign* the seal; all encryption happens under
-// stream keys hal already holds, so remote signers need no nip44 round-trips.
+// stream keys the app already holds, so remote signers need no nip44 round-trips.
import { subscribeOn, publishOn, fetchNostrProfile, npubOf } from '../nostr.js';
import {
@@ -22,7 +22,7 @@ import { t } from '../i18n.js';
// Genesis output of tools/concord-genesis.js — the coinos community's join
// material (CORD-02 §8). The community_root here is deliberately public-ish:
-// every hal user is meant to be a member of the default community.
+// every coinos user is meant to be a member of the default community.
const COMMUNITY = {
community_id: 'b517fb4ba04c4c4eac2bd486ee800d1a8644fcdca5c5643098062e7733ee4986',
owner: '98ae4da926c471c23fd12d1ebdd5839ba82917baa618e184e0c9916d93dcf4f7',
diff --git a/src/features/nwc.js b/src/features/nwc.js
index e7511c1..ffdabda 100644
--- a/src/features/nwc.js
+++ b/src/features/nwc.js
@@ -1,12 +1,12 @@
-// Nostr Wallet Connect (NIP-47) — hal as a *wallet service*.
+// Nostr Wallet Connect (NIP-47) — coinos as a *wallet service*.
//
-// Other apps (Damus, Amethyst, Alby, a website) connect to your hal wallet
+// Other apps (Damus, Amethyst, Alby, a website) connect to your coinos wallet
// over nostr and can ask it to pay invoices or report a balance, without ever
-// touching your keys. You hand out a connection string; hal answers requests
+// touching your keys. You hand out a connection string; coinos answers requests
// signed by that connection, inside the budget you set, and you can revoke it
// at any time.
//
-// hal holds no native Lightning balance, so every Lightning operation here
+// coinos holds no native Lightning balance, so every Lightning operation here
// runs over Ark: the ASP pays and mints invoices. That means NWC
// availability tracks Ark availability — no Ark server, no wallet service.
//
@@ -545,7 +545,7 @@ export function nwcFeature(ctx) {
// ---- background wake-ups ----------------------------------------------
// The notifier can't decrypt anything; it only learns which service pubkeys
// to watch. When a request arrives it pushes, the service worker surfaces
- // it (or nudges an open window), and hal answers from the relay.
+ // it (or nudges an open window), and coinos answers from the relay.
const NOTIFIER = 'https://nwcpush.coinos.io';
const b64ToBytes = (b64) => {
diff --git a/src/locales/ar.json b/src/locales/ar.json
index 07e881b..91f6a12 100644
--- a/src/locales/ar.json
+++ b/src/locales/ar.json
@@ -8,7 +8,6 @@
"hiwBasics3": "لا يوجد خادم ولا حساب. التطبيق بأكمله صفحة واحدة تعمل في متصفحك، فلا أحد يحتفظ بعملاتك ولا شيء على خادم يرى مفاتيحك أبداً. ولعرض رصيدك وسجلك يقرأ من مستكشف كتل عام (mempool.space افتراضياً، أو عقدتك الخاصة إن أعددت واحدة في الإعدادات).",
"hiwBasics4": "بل يمكنك حفظ هذه الصفحة وفتحها مباشرة من حاسوبك بدون أي اتصال بالإنترنت. تظل تعمل دون اتصال.",
"hiwBasics5": "يتبع معايير بيتكوين المعتادة (عبارة BIP39 من 12 كلمة ومفاتيح BIP84 SegWit الأصلية)، لذا إن اختفى هذا الموقع يوماً يمكنك استعادة العبارة نفسها في Sparrow أو Electrum أو أي محفظة قياسية أخرى وستجد عملاتك هناك.",
- "hiwTribute": "الاسم Hal Wallet هو تكريم لرائد بيتكوين والسايفربانك الأسطوري، Hal Finney (1956–2014).",
"signExport": "توقيع و(بثّ في مكان آخر)",
"scanQr": "مسح رمز QR",
"scanHint": "وجّه الكاميرا نحو رمز QR",
diff --git a/src/locales/bn.json b/src/locales/bn.json
index 0d1e9bd..e853456 100644
--- a/src/locales/bn.json
+++ b/src/locales/bn.json
@@ -8,7 +8,6 @@
"hiwBasics3": "কোনো সার্ভার নেই এবং কোনো অ্যাকাউন্ট নেই। পুরো অ্যাপটি একটি একক পেজ যা আপনার ব্রাউজারে চলে, তাই কেউ আপনার কয়েন ধরে রাখে না এবং কোনো সার্ভারে আপনার চাবি কখনও দেখা যায় না। আপনার ব্যালেন্স ও ইতিহাস দেখানোর জন্য এটি একটি পাবলিক ব্লক এক্সপ্লোরার থেকে পড়ে (ডিফল্টভাবে mempool.space, অথবা আপনি সেটিংসে নিজের নোড সেট করলে সেটি)।",
"hiwBasics4": "আপনি এই পেজটি সেভ করে কোনো ইন্টারনেট ছাড়াই সরাসরি আপনার কম্পিউটার থেকে খুলতে পারেন। এটি অফলাইনেও কাজ করতে থাকে।",
"hiwBasics5": "এটি প্রচলিত বিটকয়েন মানদণ্ড অনুসরণ করে (একটি ১২-শব্দের BIP39 ফ্রেজ এবং BIP84 নেটিভ SegWit চাবি), তাই এই সাইটটি কখনও হারিয়ে গেলেও আপনি একই ফ্রেজ Sparrow, Electrum, বা অন্য যেকোনো স্ট্যান্ডার্ড ওয়ালেটে পুনরুদ্ধার করতে পারবেন এবং আপনার কয়েন সেখানেই থাকবে।",
- "hiwTribute": "Hal Wallet নামটি কিংবদন্তি সাইফারপাঙ্ক এবং বিটকয়েন পথিকৃৎ Hal Finney (১৯৫৬–২০১৪)-এর প্রতি একটি শ্রদ্ধাঞ্জলি।",
"signExport": "সাইন করুন এবং (অন্যত্র ব্রডকাস্ট করুন)",
"scanQr": "QR স্ক্যান করুন",
"scanHint": "ক্যামেরাটি একটি QR কোডের দিকে তাক করুন",
diff --git a/src/locales/de.json b/src/locales/de.json
index 1cb6769..410b2d7 100644
--- a/src/locales/de.json
+++ b/src/locales/de.json
@@ -8,7 +8,6 @@
"hiwBasics3": "Es gibt keinen Server und kein Konto. Die gesamte App ist eine einzige Seite, die in deinem Browser läuft. Niemand verwahrt deine Coins und kein Server bekommt jemals deine Schlüssel zu sehen. Um deinen Kontostand und deinen Verlauf anzuzeigen, liest sie von einem öffentlichen Block-Explorer (standardmäßig mempool.space oder deinem eigenen Node, falls du in den Einstellungen einen festlegst).",
"hiwBasics4": "Du kannst diese Seite sogar speichern und ganz ohne Internet direkt von deinem Computer aus öffnen. Sie funktioniert auch offline weiter.",
"hiwBasics5": "Sie folgt den üblichen Bitcoin-Standards (eine 12-Wörter-Phrase nach BIP39 und native SegWit-Schlüssel nach BIP84). Sollte diese Seite jemals verschwinden, kannst du dieselbe Phrase in Sparrow, Electrum oder einer beliebigen anderen Standard-Wallet wiederherstellen, und deine Coins sind genau dort.",
- "hiwTribute": "Der Name Hal Wallet ist eine Hommage an den legendären Cypherpunk und Bitcoin-Pionier Hal Finney (1956–2014).",
"signExport": "Signieren & (anderswo senden)",
"scanQr": "QR scannen",
"scanHint": "Richte die Kamera auf einen QR-Code",
diff --git a/src/locales/es.json b/src/locales/es.json
index 23b1ad8..eb1875a 100644
--- a/src/locales/es.json
+++ b/src/locales/es.json
@@ -24,7 +24,6 @@
"hiwBasics3": "No hay servidor ni cuenta. Toda la app es una única página que se ejecuta en tu navegador, así que nadie custodia tus monedas y ningún servidor ve jamás tus claves. Para mostrar tu saldo e historial, lee desde un explorador de bloques público (mempool.space por defecto, o tu propio nodo si configuras uno en Ajustes).",
"hiwBasics4": "Incluso puedes guardar esta página y abrirla directamente desde tu computadora sin conexión a internet. Sigue funcionando sin conexión.",
"hiwBasics5": "Sigue los estándares habituales de Bitcoin (una frase BIP39 de 12 palabras y claves SegWit nativas BIP84), así que si este sitio desapareciera algún día, puedes restaurar la misma frase en Sparrow, Electrum o cualquier otra billetera estándar y tus monedas estarán justo ahí.",
- "hiwTribute": "El nombre Hal Wallet es un homenaje al legendario cypherpunk y pionero de Bitcoin, Hal Finney (1956–2014).",
"signExport": "Firmar y (transmitir en otro lugar)",
"scanQr": "Escanear QR",
"scanHint": "Apunta la cámara a un código QR",
diff --git a/src/locales/fr.json b/src/locales/fr.json
index 67b9c44..03dbba4 100644
--- a/src/locales/fr.json
+++ b/src/locales/fr.json
@@ -8,7 +8,6 @@
"hiwBasics3": "Il n’y a ni serveur ni compte. Toute l’application tient sur une seule page qui s’exécute dans votre navigateur : personne ne détient vos fonds et aucun serveur ne voit jamais vos clés. Pour afficher votre solde et votre historique, elle interroge un explorateur de blocs public (mempool.space par défaut, ou votre propre nœud si vous en configurez un dans les Réglages).",
"hiwBasics4": "Vous pouvez même enregistrer cette page et l’ouvrir directement depuis votre ordinateur sans aucune connexion Internet. Elle continue de fonctionner hors ligne.",
"hiwBasics5": "Elle respecte les standards habituels de Bitcoin (une phrase BIP39 de 12 mots et des clés SegWit natives BIP84), donc si ce site venait à disparaître, vous pourriez restaurer la même phrase dans Sparrow, Electrum ou tout autre portefeuille standard, et vos fonds y seraient.",
- "hiwTribute": "Le nom Hal Wallet est un hommage au légendaire cypherpunk et pionnier de Bitcoin, Hal Finney (1956–2014).",
"signExport": "Signer et (diffuser ailleurs)",
"scanQr": "Scanner un QR",
"scanHint": "Pointez la caméra vers un code QR",
diff --git a/src/locales/hi.json b/src/locales/hi.json
index 488dc6d..5f7ce9c 100644
--- a/src/locales/hi.json
+++ b/src/locales/hi.json
@@ -8,7 +8,6 @@
"hiwBasics3": "कोई सर्वर नहीं और कोई खाता नहीं है। पूरा ऐप एक ही पेज है जो आपके ब्राउज़र में चलता है, इसलिए कोई भी आपके सिक्के नहीं रखता और किसी सर्वर पर कुछ भी आपकी कुंजियाँ कभी नहीं देखता। आपका बैलेंस और इतिहास दिखाने के लिए यह एक सार्वजनिक ब्लॉक एक्सप्लोरर से पढ़ता है (डिफ़ॉल्ट रूप से mempool.space, या आपका अपना नोड अगर आप सेटिंग्स में सेट करें)।",
"hiwBasics4": "आप इस पेज को सहेज भी सकते हैं और बिना किसी इंटरनेट के सीधे अपने कंप्यूटर से खोल सकते हैं। यह ऑफ़लाइन भी काम करता रहता है।",
"hiwBasics5": "यह सामान्य Bitcoin मानकों का पालन करता है (12-शब्दों का BIP39 वाक्यांश और BIP84 नेटिव SegWit कुंजियाँ), इसलिए अगर यह साइट कभी गायब हो जाए तो आप उसी वाक्यांश को Sparrow, Electrum, या किसी अन्य मानक वॉलेट में पुनर्स्थापित कर सकते हैं और आपके सिक्के वहीं मौजूद होंगे।",
- "hiwTribute": "Hal Wallet नाम पौराणिक साइफरपंक और Bitcoin अग्रदूत, Hal Finney (1956–2014) को एक श्रद्धांजलि है।",
"signExport": "साइन करें और (कहीं और प्रसारित करें)",
"scanQr": "QR स्कैन करें",
"scanHint": "कैमरे को QR कोड की ओर इंगित करें",
diff --git a/src/locales/id.json b/src/locales/id.json
index d84476d..022145e 100644
--- a/src/locales/id.json
+++ b/src/locales/id.json
@@ -8,7 +8,6 @@
"hiwBasics3": "Tidak ada server dan tidak ada akun. Seluruh aplikasi adalah satu halaman yang berjalan di browser Anda, jadi tidak ada yang menyimpan koin Anda dan tidak ada server yang pernah melihat kunci Anda. Untuk menampilkan saldo dan riwayat, aplikasi membaca dari penjelajah blok publik (mempool.space secara default, atau node Anda sendiri jika Anda mengaturnya di Pengaturan).",
"hiwBasics4": "Anda bahkan bisa menyimpan halaman ini dan membukanya langsung dari komputer tanpa internet sama sekali. Aplikasi ini tetap berfungsi secara offline.",
"hiwBasics5": "Aplikasi ini mengikuti standar Bitcoin yang umum (frasa BIP39 12 kata dan kunci BIP84 native SegWit), jadi jika situs ini suatu saat hilang, Anda bisa memulihkan frasa yang sama di Sparrow, Electrum, atau dompet standar lainnya dan koin Anda akan tetap ada di sana.",
- "hiwTribute": "Nama Hal Wallet adalah penghormatan kepada cypherpunk legendaris dan pelopor Bitcoin, Hal Finney (1956–2014).",
"signExport": "Tanda tangani & (siarkan di tempat lain)",
"scanQr": "Pindai QR",
"scanHint": "Arahkan kamera ke kode QR",
diff --git a/src/locales/ja.json b/src/locales/ja.json
index b2b9edb..c597daf 100644
--- a/src/locales/ja.json
+++ b/src/locales/ja.json
@@ -8,7 +8,6 @@
"hiwBasics3": "サーバーもアカウントもありません。アプリ全体がブラウザで動作する単一のページなので、誰もあなたのコインを預かることはなく、サーバー上の何かがあなたの鍵を見ることもありません。残高と履歴を表示するために、公開ブロックエクスプローラー(既定では mempool.space、設定で指定すればご自身のノード)から読み込みます。",
"hiwBasics4": "このページを保存して、インターネットがまったくない状態でもコンピューターから直接開くこともできます。オフラインでも動作し続けます。",
"hiwBasics5": "通常のBitcoin標準(12語のBIP39フレーズとBIP84ネイティブSegWit鍵)に従っているので、万が一このサイトがなくなっても、同じフレーズをSparrow、Electrum、その他の標準的なウォレットで復元でき、コインはそこにそのまま残っています。",
- "hiwTribute": "Hal Wallet という名前は、伝説的なサイファーパンクであり Bitcoin の先駆者である Hal Finney(1956–2014)への敬意を込めたものです。",
"signExport": "署名する(別の場所でブロードキャスト)",
"scanQr": "QRをスキャン",
"scanHint": "カメラをQRコードに向けてください",
diff --git a/src/locales/ko.json b/src/locales/ko.json
index 57948f6..baa5053 100644
--- a/src/locales/ko.json
+++ b/src/locales/ko.json
@@ -8,7 +8,6 @@
"hiwBasics3": "서버도 계정도 없습니다. 전체 앱은 브라우저에서 실행되는 단일 페이지이므로, 아무도 코인을 보관하지 않고 서버의 어떤 것도 키를 보지 못합니다. 잔액과 내역을 표시하기 위해 공개 블록 탐색기에서 데이터를 읽어옵니다(기본값은 mempool.space, 설정에서 지정하면 본인의 노드 사용).",
"hiwBasics4": "이 페이지를 저장해 인터넷 없이 컴퓨터에서 바로 열 수도 있습니다. 오프라인에서도 계속 작동합니다.",
"hiwBasics5": "일반적인 비트코인 표준(12단어 BIP39 구문과 BIP84 네이티브 SegWit 키)을 따르므로, 이 사이트가 사라지더라도 Sparrow, Electrum 또는 다른 표준 지갑에서 동일한 구문으로 복원하면 코인이 그대로 있습니다.",
- "hiwTribute": "Hal Wallet이라는 이름은 전설적인 사이퍼펑크이자 비트코인 선구자인 Hal Finney(1956–2014)에 대한 헌사입니다.",
"signExport": "서명 후 (다른 곳에서 브로드캐스트)",
"scanQr": "QR 스캔",
"scanHint": "카메라를 QR 코드에 맞추세요",
diff --git a/src/locales/mr.json b/src/locales/mr.json
index f48ab5a..92daa4c 100644
--- a/src/locales/mr.json
+++ b/src/locales/mr.json
@@ -8,7 +8,6 @@
"hiwBasics3": "येथे कोणताही सर्व्हर नाही आणि कोणतेही खाते नाही. संपूर्ण अॅप एकच पान आहे जे तुमच्या ब्राउझरमध्ये चालते, त्यामुळे तुमचे कॉइन्स कुणाकडेही नसतात आणि कोणत्याही सर्व्हरवर तुमच्या किल्ल्या कधीच दिसत नाहीत. तुमची शिल्लक आणि इतिहास दाखवण्यासाठी ते सार्वजनिक ब्लॉक एक्सप्लोररमधून वाचते (मूलनुसार mempool.space, किंवा तुम्ही सेटिंग्जमध्ये सेट केल्यास तुमचा स्वतःचा नोड).",
"hiwBasics4": "तुम्ही हे पान सेव्ह करून इंटरनेटशिवायही थेट तुमच्या संगणकावरून उघडू शकता. ते ऑफलाइनही चालत राहते.",
"hiwBasics5": "ते नेहमीच्या बिटकॉइन मानकांचे पालन करते (१२-शब्दांचा BIP39 फ्रेज आणि BIP84 नेटिव्ह SegWit किल्ल्या), त्यामुळे ही साइट कधी नाहीशी झाली तरी तुम्ही तोच फ्रेज Sparrow, Electrum, किंवा इतर कोणत्याही मानक वॉलेटमध्ये पुनर्संचयित करू शकता आणि तुमचे कॉइन्स तिथेच असतील.",
- "hiwTribute": "Hal Wallet हे नाव पौराणिक सायफरपंक आणि बिटकॉइन अग्रदूत Hal Finney (१९५६–२०१४) यांना श्रद्धांजली आहे.",
"signExport": "साइन करा आणि (इतरत्र ब्रॉडकास्ट करा)",
"scanQr": "QR स्कॅन करा",
"scanHint": "कॅमेरा QR कोडकडे रोखा",
diff --git a/src/locales/pt.json b/src/locales/pt.json
index e2b317e..99ac22f 100644
--- a/src/locales/pt.json
+++ b/src/locales/pt.json
@@ -8,7 +8,6 @@
"hiwBasics3": "Não há servidor nem conta. O aplicativo inteiro é uma única página que roda no seu navegador, então ninguém guarda suas moedas e nada em um servidor jamais vê suas chaves. Para mostrar seu saldo e histórico, ele consulta um explorador de blocos público (mempool.space por padrão, ou seu próprio nó, se você configurar um nas Configurações).",
"hiwBasics4": "Você pode até salvar esta página e abri-la diretamente do seu computador sem internet alguma. Ela continua funcionando offline.",
"hiwBasics5": "Ela segue os padrões usuais do Bitcoin (uma frase BIP39 de 12 palavras e chaves BIP84 native SegWit), então, se este site algum dia desaparecer, você pode restaurar a mesma frase no Sparrow, Electrum ou qualquer outra carteira padrão e suas moedas estarão lá.",
- "hiwTribute": "O nome Hal Wallet é uma homenagem ao lendário cypherpunk e pioneiro do Bitcoin, Hal Finney (1956–2014).",
"signExport": "Assinar e (transmitir em outro lugar)",
"scanQr": "Ler QR",
"scanHint": "Aponte a câmera para um código QR",
diff --git a/src/locales/ru.json b/src/locales/ru.json
index aa534fc..5b90909 100644
--- a/src/locales/ru.json
+++ b/src/locales/ru.json
@@ -8,7 +8,6 @@
"hiwBasics3": "Здесь нет сервера и нет учётной записи. Всё приложение — это одна страница, работающая в вашем браузере, поэтому никто не хранит ваши монеты и ничто на сервере никогда не видит ваши ключи. Чтобы показать баланс и историю, оно читает данные из публичного блок-эксплорера (по умолчанию mempool.space или вашего собственного узла, если вы укажете его в Настройках).",
"hiwBasics4": "Вы даже можете сохранить эту страницу и открыть её прямо с компьютера вообще без интернета. Она продолжает работать офлайн.",
"hiwBasics5": "Оно следует обычным стандартам Bitcoin (фраза из 12 слов BIP39 и нативные SegWit-ключи BIP84), поэтому, если этот сайт когда-нибудь исчезнет, вы сможете восстановить ту же фразу в Sparrow, Electrum или любом другом стандартном кошельке, и ваши монеты будут на месте.",
- "hiwTribute": "Название Hal Wallet — это дань уважения легендарному шифропанку и пионеру Bitcoin, Hal Finney (1956–2014).",
"signExport": "Подписать и (передать в сеть в другом месте)",
"scanQr": "Сканировать QR",
"scanHint": "Наведите камеру на QR-код",
diff --git a/src/locales/sw.json b/src/locales/sw.json
index fba93fc..85eca48 100644
--- a/src/locales/sw.json
+++ b/src/locales/sw.json
@@ -8,7 +8,6 @@
"hiwBasics3": "Hakuna seva wala akaunti. Programu nzima ni ukurasa mmoja unaoendeshwa kwenye kivinjari chako, kwa hivyo hakuna anayeshikilia sarafu zako na hakuna kitu kwenye seva kinachoona funguo zako. Ili kuonyesha salio na historia yako, husoma kutoka kwa kichunguzi cha umma cha vitalu (mempool.space kwa chaguo-msingi, au nodi yako mwenyewe ukiweka moja katika Mipangilio).",
"hiwBasics4": "Unaweza hata kuhifadhi ukurasa huu na kuufungua moja kwa moja kutoka kwa kompyuta yako bila intaneti kabisa. Unaendelea kufanya kazi nje ya mtandao.",
"hiwBasics5": "Hufuata viwango vya kawaida vya Bitcoin (kifungu cha maneno 12 cha BIP39 na funguo asili za BIP84 SegWit), kwa hivyo ikiwa tovuti hii itatoweka, unaweza kurejesha kifungu hicho cha maneno katika Sparrow, Electrum, au pochi nyingine yoyote ya kawaida na sarafu zako zitakuwa pale pale.",
- "hiwTribute": "Jina Hal Wallet ni heshima kwa mwanaharakati maarufu wa cypherpunk na mwanzilishi wa Bitcoin, Hal Finney (1956–2014).",
"signExport": "Saini na (sambaza mahali pengine)",
"scanQr": "Changanua QR",
"scanHint": "Elekeza kamera kwenye msimbo wa QR",
diff --git a/src/locales/ta.json b/src/locales/ta.json
index 4169258..544b317 100644
--- a/src/locales/ta.json
+++ b/src/locales/ta.json
@@ -8,7 +8,6 @@
"hiwBasics3": "சேவையகம் இல்லை, கணக்கு இல்லை. முழு செயலியும் உங்கள் உலாவியில் இயங்கும் ஒரே ஒரு பக்கம், எனவே உங்கள் நாணயங்களை யாரும் வைத்திருப்பதில்லை, சேவையகத்தில் உள்ள எதுவும் உங்கள் சாவிகளைப் பார்ப்பதில்லை. உங்கள் இருப்பையும் வரலாற்றையும் காட்ட இது ஒரு பொது பிளாக் எக்ஸ்புளோரரிலிருந்து படிக்கிறது (இயல்பாக mempool.space, அல்லது அமைப்புகளில் அமைத்தால் உங்கள் சொந்த நோடு).",
"hiwBasics4": "இந்தப் பக்கத்தைச் சேமித்து, இணையம் இல்லாமலேயே உங்கள் கணினியிலிருந்து நேரடியாகத் திறக்கலாம். இது ஆஃப்லைனிலும் தொடர்ந்து வேலை செய்கிறது.",
"hiwBasics5": "இது வழக்கமான பிட்காயின் தரநிலைகளைப் பின்பற்றுகிறது (12-சொல் BIP39 சொற்றொடர் மற்றும் BIP84 நேட்டிவ் SegWit சாவிகள்), எனவே இந்த தளம் எப்போதாவது மறைந்தாலும் அதே சொற்றொடரை Sparrow, Electrum, அல்லது வேறு எந்த தரநிலை வாலெட்டிலும் மீட்டெடுக்கலாம், உங்கள் நாணயங்கள் அங்கேயே இருக்கும்.",
- "hiwTribute": "Hal Wallet என்ற பெயர், புகழ்பெற்ற சைஃபர்பங்க் மற்றும் பிட்காயின் முன்னோடி Hal Finney (1956–2014) அவர்களுக்கான அஞ்சலி.",
"signExport": "கையொப்பமிட்டு (வேறு இடத்தில் ஒளிபரப்பு)",
"scanQr": "QR ஐ ஸ்கேன் செய்",
"scanHint": "கேமராவை ஒரு QR குறியீட்டை நோக்கிக் காட்டுங்கள்",
diff --git a/src/locales/te.json b/src/locales/te.json
index fcb52b6..c05027b 100644
--- a/src/locales/te.json
+++ b/src/locales/te.json
@@ -8,7 +8,6 @@
"hiwBasics3": "సర్వర్ ఉండదు, ఖాతా ఉండదు. మొత్తం యాప్ మీ బ్రౌజర్‌లో నడిచే ఒకే పేజీ, కాబట్టి మీ కాయిన్‌లను ఎవరూ కలిగి ఉండరు, మీ తాళంచెవులను సర్వర్‌లో ఏదీ చూడదు. మీ నిల్వ, చరిత్రను చూపడానికి అది ఒక పబ్లిక్ బ్లాక్ ఎక్స్‌ప్లోరర్ నుండి చదువుతుంది (డిఫాల్ట్‌గా mempool.space, లేదా సెట్టింగ్‌లలో మీరు సెట్ చేస్తే మీ స్వంత నోడ్).",
"hiwBasics4": "మీరు ఈ పేజీని సేవ్ చేసి, అస్సలు ఇంటర్నెట్ లేకుండానే మీ కంప్యూటర్ నుండి నేరుగా తెరవవచ్చు. ఇది ఆఫ్‌లైన్‌లో పనిచేస్తూనే ఉంటుంది.",
"hiwBasics5": "ఇది సాధారణ బిట్‌కాయిన్ ప్రమాణాలను అనుసరిస్తుంది (12-పదాల BIP39 ఫ్రేజ్, BIP84 నేటివ్ SegWit కీలు), కాబట్టి ఈ సైట్ ఎప్పుడైనా అదృశ్యమైతే, మీరు అదే ఫ్రేజ్‌ను Sparrow, Electrum, లేదా ఏదైనా ఇతర ప్రామాణిక వాలెట్‌లో పునరుద్ధరించవచ్చు, మీ కాయిన్‌లు అక్కడే ఉంటాయి.",
- "hiwTribute": "Hal Wallet అనే పేరు ప్రఖ్యాత సైఫర్‌పంక్, బిట్‌కాయిన్ మార్గదర్శి Hal Finney (1956–2014)కి నివాళి.",
"signExport": "సంతకం చేసి (వేరే చోట ప్రసారం చేయండి)",
"scanQr": "QR స్కాన్ చేయండి",
"scanHint": "కెమెరాను QR కోడ్‌పై గురిపెట్టండి",
diff --git a/src/locales/tr.json b/src/locales/tr.json
index 87b5452..2dd3c72 100644
--- a/src/locales/tr.json
+++ b/src/locales/tr.json
@@ -8,7 +8,6 @@
"hiwBasics3": "Sunucu yok, hesap yok. Tüm uygulama tarayıcınızda çalışan tek bir sayfadır, yani paralarınızı kimse tutmaz ve hiçbir sunucu anahtarlarınızı görmez. Bakiyenizi ve geçmişinizi göstermek için herkese açık bir blok gezgininden okur (varsayılan olarak mempool.space, ya da Ayarlar'da belirlerseniz kendi düğümünüz).",
"hiwBasics4": "Bu sayfayı kaydedip bilgisayarınızdan hiç internet olmadan bile açabilirsiniz. Çevrimdışı çalışmaya devam eder.",
"hiwBasics5": "Olağan Bitcoin standartlarını izler (12 kelimelik bir BIP39 ifadesi ve BIP84 yerel SegWit anahtarları), bu yüzden bu site bir gün kaybolursa aynı ifadeyi Sparrow, Electrum veya başka herhangi bir standart cüzdanda geri yükleyebilirsiniz ve paralarınız tam orada olur.",
- "hiwTribute": "Hal Wallet adı, efsanevi cypherpunk ve Bitcoin öncüsü Hal Finney (1956–2014) anısına bir saygı duruşudur.",
"signExport": "İmzala ve (başka yerde yayınla)",
"scanQr": "QR tara",
"scanHint": "Kamerayı bir QR koduna doğrultun",
diff --git a/src/locales/ur.json b/src/locales/ur.json
index ab58a35..0e56679 100644
--- a/src/locales/ur.json
+++ b/src/locales/ur.json
@@ -8,7 +8,6 @@
"hiwBasics3": "نہ کوئی سرور ہے اور نہ کوئی اکاؤنٹ۔ پوری ایپ ایک ہی صفحہ ہے جو آپ کے براؤزر میں چلتا ہے، اس لیے نہ کوئی آپ کے سکے رکھتا ہے اور نہ کسی سرور پر کوئی چیز آپ کی کلیدیں دیکھتی ہے۔ آپ کا بیلنس اور تاریخ دکھانے کے لیے یہ ایک عوامی بلاک ایکسپلورر سے پڑھتا ہے (طے شدہ طور پر mempool.space، یا اگر آپ ترتیبات میں اپنا نوڈ مقرر کریں تو وہ)۔",
"hiwBasics4": "آپ اس صفحے کو محفوظ بھی کر سکتے ہیں اور اسے بغیر کسی انٹرنیٹ کے سیدھا اپنے کمپیوٹر سے کھول سکتے ہیں۔ یہ آف لائن کام کرتا رہتا ہے۔",
"hiwBasics5": "یہ معمول کے بٹ کوائن معیارات کی پیروی کرتا ہے (12 الفاظ والا BIP39 فریز اور BIP84 نیٹو SegWit کلیدیں)، اس لیے اگر یہ سائٹ کبھی ختم ہو جائے تو آپ وہی فریز Sparrow، Electrum یا کسی بھی دوسرے معیاری والیٹ میں بحال کر سکتے ہیں اور آپ کے سکے وہیں موجود ہوں گے۔",
- "hiwTribute": "نام Hal Wallet مشہور سائفر پنک اور بٹ کوائن کے علمبردار Hal Finney (1956–2014) کو خراج تحسین ہے۔",
"signExport": "دستخط کریں اور (کہیں اور نشر کریں)",
"scanQr": "QR اسکین کریں",
"scanHint": "کیمرے کو QR کوڈ کی طرف کریں",
diff --git a/src/locales/vi.json b/src/locales/vi.json
index 17af899..0192ed2 100644
--- a/src/locales/vi.json
+++ b/src/locales/vi.json
@@ -8,7 +8,6 @@
"hiwBasics3": "Không có máy chủ và không có tài khoản. Toàn bộ ứng dụng là một trang duy nhất chạy trong trình duyệt của bạn, nên không ai giữ coin của bạn và không có thứ gì trên máy chủ từng thấy được khóa của bạn. Để hiển thị số dư và lịch sử, nó đọc dữ liệu từ một trình duyệt khối công khai (mặc định là mempool.space, hoặc node của riêng bạn nếu bạn thiết lập trong phần Cài đặt).",
"hiwBasics4": "Bạn thậm chí có thể lưu trang này và mở trực tiếp từ máy tính mà không cần internet. Nó vẫn hoạt động ngoại tuyến.",
"hiwBasics5": "Nó tuân theo các tiêu chuẩn Bitcoin thông thường (cụm 12 từ BIP39 và khóa SegWit gốc BIP84), nên nếu trang web này biến mất, bạn có thể khôi phục cùng cụm từ đó trong Sparrow, Electrum, hoặc bất kỳ ví tiêu chuẩn nào khác và số coin của bạn sẽ vẫn ở đó.",
- "hiwTribute": "Cái tên Hal Wallet là sự tri ân dành cho nhà cypherpunk huyền thoại và người tiên phong của Bitcoin, Hal Finney (1956–2014).",
"signExport": "Ký & (phát đi nơi khác)",
"scanQr": "Quét QR",
"scanHint": "Hướng camera vào mã QR",
diff --git a/src/locales/zh.json b/src/locales/zh.json
index c5b04a6..dca8807 100644
--- a/src/locales/zh.json
+++ b/src/locales/zh.json
@@ -8,7 +8,6 @@
"hiwBasics3": "这里没有服务器,也没有账户。整个应用就是一个在你浏览器中运行的单一页面,因此没有人保管你的币,服务器上也不会有任何东西看到你的密钥。为了显示你的余额和历史记录,它会从公共区块浏览器读取数据(默认使用 mempool.space,或者你在设置中配置的自己的节点)。",
"hiwBasics4": "你甚至可以保存此页面,在完全没有网络的情况下直接从电脑打开它。它在离线状态下依然有效。",
"hiwBasics5": "它遵循通用的比特币标准(12 个单词的 BIP39 助记词和 BIP84 原生 SegWit 密钥),所以即使本站有一天消失了,你也可以在 Sparrow、Electrum 或任何其他标准钱包中恢复同样的助记词,你的币就在那里。",
- "hiwTribute": "Hal Wallet 这个名字是为了致敬传奇密码朋克和比特币先驱 Hal Finney(1956–2014)。",
"signExport": "签名并(在别处广播)",
"scanQr": "扫描二维码",
"scanHint": "将摄像头对准 QR 码",
diff --git a/src/sw-nwc.js b/src/sw-nwc.js
index dcc0c9c..b6cfc01 100644
--- a/src/sw-nwc.js
+++ b/src/sw-nwc.js
@@ -30,7 +30,7 @@ self.addEventListener('push', (e) => {
console.warn('[sw-nwc] auto-answer failed:', err && err.message);
}
// handled-with-a-heads-up: e.g. an invoice was minted while closed and
- // the user should open Hal to complete the receive
+ // the user should open coinos to complete the receive
if (handled && handled.notify) {
await self.registration.showNotification(handled.notify.title, {
body: handled.notify.body,
diff --git a/src/wallet.js b/src/wallet.js
index 015a396..9502700 100644
--- a/src/wallet.js
+++ b/src/wallet.js
@@ -1560,7 +1560,7 @@ export class Wallet {
this._wsBackoff = 0; // healthy again — reset the reconnect backoff
this._lastMsg = Date.now();
// Electrum handshake, then subscribe our watched scripthashes.
- this._rpcSend('server.version', ['halwallet', '1.4']);
+ this._rpcSend('server.version', ['coinosv3', '1.4']);
// Flush any data calls queued while the socket was down.
if (this._callQueue && this._callQueue.length) {
for (const payload of this._callQueue) { try { ws.send(payload); } catch {} }