Theseus Navigator — Silent Mode's Electron browser with the Ariadne resolver built in.
Importing a Bitcoin.com seed showed a balance of zero. Two causes, one mine. Mine: a Copay / Bitcoin.com backup QR is "1|<words>|<network>|<ACCOUNT path>|…", and 0.13.2 dropped that path straight into a box whose contents are derived as a LEAF. Deriving the account node itself yields an address the wallet has never used — for the standard BIP39 vector, qr96x72dpwrjmg8gtmfemmdhn6u8aqdgnvn4fp2906 instead of qqyx49mu0kkn9ftfj6hje6g2wfer34yfnq5tahq3q6. An address with no history, so: zero. An account path now extends to /0/0 instead of being derived in place. The deeper one: a seed import mounted on the single-address adapter, which watches exactly one scripthash. Bitcoin.com, Electron Cash and the rest spread funds across a whole BIP44 account, so even with the right leaf the balance only shows if it all happens to sit on the first receive address. A seed import is an HD wallet and now mounts as one — the same BchWallet the vault-derived wallets use, whose WalletKeys walks receive AND change to a gap limit of 20. That is what actually finds the money, and it brings real spend support to seed imports as a side effect. WIF imports are unchanged: one key is one address, nothing to scan. Existing seed imports are picked up without re-importing. accountPath is stored in either shape — older imports kept the full leaf, the QR carries the account — and the mount trims both to the last hardened element before handing it to WalletKeys. The stale display address stored at import time is irrelevant, since the panel reads the address off the adapter's snapshot. Mounting now reads the signer up front to decide which adapter to use. A locked vault still mounts watch-only from the stored address rather than failing, and the WC manager gets its own copy of the root because it keeps a live reference for the per-URI relay-identity HKDF. |
||
|---|---|---|
| bundled-addons | ||
| dev | ||
| docs | ||
| lib | ||
| nsis | ||
| scripts | ||
| snapshots | ||
| addon-inject-preload.js | ||
| addon-tab-preload.js | ||
| addon-update-pubkeys.js | ||
| addon-updater.js | ||
| addons-host.js | ||
| address-picker-preload.js | ||
| address-picker.html | ||
| approval-preload.js | ||
| approval.html | ||
| bcnr-origin.js | ||
| bcnr-preload.js | ||
| BROWSER-PROMPT.md | ||
| chrome.html | ||
| collision-preload.js | ||
| collision.html | ||
| DESIGN-integrated-wallet.md | ||
| DESIGN-password-manager.md | ||
| DESIGN-wallet-multi-account-amendment.md | ||
| downloads-preload.js | ||
| downloads.html | ||
| engine-picker-preload.js | ||
| engine-picker.html | ||
| error-preload.js | ||
| error.html | ||
| GOTCHAS.md | ||
| home-preload.js | ||
| home.html | ||
| link-status-preload.js | ||
| link-status.html | ||
| main.js | ||
| messages-preload.js | ||
| messages.html | ||
| package-lock.json | ||
| package.json | ||
| PACKAGING-PROMPT.md | ||
| PENDING.md | ||
| popover-preload.js | ||
| popover.html | ||
| preload.js | ||
| pw-fill-preload.js | ||
| pw-fill.html | ||
| README.md | ||
| RELEASE-HANDOFF.md | ||
| ROADMAP-identity-wallet.md | ||
| SESSION-PROMPT-identity-wallet.md | ||
| settings-preload.js | ||
| settings.html | ||
| sidebar-preload.js | ||
| test-installer.wsb | ||
Theseus Navigator
The browser — the consumer face of the stack. Native .bch support with the
resolver built in, so a user installs one app instead of modifying their
operating system. Named for the thread through the labyrinth: the chain is the
thread.
Scope
- Electron shell (Chromium engine, no forking): tabs, address bar, history.
- In-process
.bchresolution — no system daemon, no NRPT, no OS trust-store changes; reusesbns.jsfrom the BNS repo as a library. - Record handling:
hrender,ipconnect,p/s3via in-app gateway,uredirect. - TLS via cert-verify hook (Electron
setCertificateVerifyProc) against the BNS root / on-chaintlsfingerprints — no OS store touched. - Provenance indicator: shows whether a page came from the chain / Sia / a direct server, with NFT category and record type — the decentralized padlock.
Status: not started
Build it in its own session/repo. The ready-to-paste brief is
BROWSER-PROMPT.md (a reference copy in this folder; canonical source is
D:\Dev\NameCoin\BROWSER-PROMPT.md — if they diverge, NameCoin wins). It points
here and reuses the resolver core. theseus.bch is registered and should
eventually serve the browser's own homepage over the protocol it implements.
Roadmap
BUILD-ROADMAP.md Stage 5.