aegis/addon.json

18 lines
1.1 KiB
JSON
Raw Normal View History

{
refactor(theseus/aegis): rename bundle bchwallet→aegis + retire standalone siawallet Cleans up the naming that leaked from the wallet's origin story (BCH-only) into the actual bundle layout. Aegis is one integrated addon now: - Bundle folder: TheseusNavigator/bundled-addons/aegis/ (was bchwallet/). - Addon id: "aegis" (was "bchwallet"). Vault-derive still accepts legacy "bchwallet/*" and "siawallet/*" paths via the absorbs list, so no on-chain funds move. - Version: 0.4.0 (bumped to trigger seedBundledAddons's reseed). - Retired: TheseusNavigator/bundled-addons/siawallet/. Sia is folded into Aegis as a chain adapter (lib/sia/*.js already in-tree) and Aegis's manifest lists siawallet under absorbs so pre-Aegis SC keys derive identically. main.js migrateAegisRename() runs before seedBundledAddons on every launch. First run does the move; subsequent runs are no-ops: - addons/bchwallet/ -> addons-backups/bchwallet-migrated-<stamp>/ - addons-data/bchwallet.json COPIED to addons-data/aegis.json (kept copied not moved so a downgrade to 0.3.x can still boot). - addons/siawallet/ -> addons-backups/siawallet-migrated-<stamp>/ (addons-data/siawallet.json left untouched — its walletdUrl is per-user config Aegis's Sia wallet takes fresh via Settings). settings.html Aegis update card now matches either "aegis" (new id) or "bchwallet" (pre-rename) so upgraders coming from 0.3.x see the same one card while the OTA endpoint's next signed bundle catches up. Internal purpose paths inside index.js/chain-*.js are unchanged — LEGACY_BCH_PURPOSE stays "bchwallet/mainnet/0" and every purposePrefix still starts with "bchwallet/*". The addon absorbs its own former id, so those paths keep resolving to the same seed the shipping Aegis has been using since 0.3.14.
2026-09-08 18:17:44 +02:00
"id": "aegis",
"name": "Aegis Wallet",
chore(aegis): 0.9.2 — Receive tab reorder, one balance, token history Receive was ordered QR → address → tokens, so 200px of always-on QR sat above the thing people came for and pushed the asset list off screen. - Address first, with Copy and a QR button; the QR expands inline and the choice sticks, because someone who receives by QR wants it every time and someone who copies never does. - Explorer and Faucet moved up to the header status row. They act on the selected wallet, not on the act of receiving, and down there they competed with Copy for the one row that gets used. - Assets card renamed from Tokens and now leads with the native coin, so "what does this wallet hold" is one list rather than two places. - "+ Add another <TICKER>" moved below the address list. The balance appeared three times — header, drilldown subtitle, address row. Now once in the header; the subtitle keeps only the per-unit price, and the per-address amount returns when a coin actually has more than one address to compare. The address row drops its truncated address (the full one is at the top of Receive) and keeps the wallet name. The per-address asset list added in 0.8.8 duplicated the Assets card and is removed — assets live in one place. Token amounts were unreadable: an 18-decimal balance rendered as 60000000.000000005435817984. Capped to 8 decimals with thousands separators, exact value on hover. A symbol claimed by more than one contract now carries a LOOK-ALIKE tag. The test wallet holds four different contracts all calling themselves "Test USDT" — spam mints borrowing a trusted ticker so a careless send lands on the wrong one. We can't tell which is genuine, so we mark every member of the clash rather than guessing. History showed native transfers only, so a wallet that had only ever moved USDT looked empty. TRC20 transfers are merged in newest-first, each carrying its own decimals and ticker (rendering a token against the chain's scale would be off by orders of magnitude). Both feeds are on by default; the checkboxes narrow rather than opt in, and the last one checked can't be unchecked into an empty list.
2026-09-23 01:17:33 +02:00
"version": "0.9.2",
"category": "plugin",
"description": "Multi-chain wallet (BCH, BTC, TRX, ETH, SOL, SC, DGB) derived from your Theseus vault. Dapps get window.bitcoincash on .x sites; window.tronWeb / window.tronLink / window.ethereum / window.solana on any https page.",
"author": "Silent Mode",
"icon": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none'%3E%3Cpolygon points='16,2 28,9 28,23 16,30 4,23 4,9' fill='%230a0a0d' stroke='%23D6FF3D' stroke-width='1.6' stroke-linejoin='round'/%3E%3Ccircle cx='16' cy='16' r='4.5' fill='none' stroke='%23D6FF3D' stroke-width='1.4'/%3E%3Ccircle cx='16' cy='16' r='1.6' fill='%23D6FF3D'/%3E%3C/svg%3E",
"main": "index.js",
"updateURL": "https://navigate.st/bns/theseus.x/extensions/aegis/updates.json",
feat(theseus+aegis): WizardConnect auto-detection — wiz:// links + page scan Completes the three detection paths. The injected provider shipped in 0.8.8; these two needed host support, because nothing in the add-on API could reach the active tab's content (captureTab is pixels, not DOM). wiz:// links (main.js) A click on a wiz:// anchor is intercepted in will-navigate and in the window-open handler (target="_blank" lands there instead), and routed to the wallet with the offering page's origin attached, so the approval names the real site. The tab never navigates. This needs nothing from the dapp beyond rendering the URI as a link, so it works for third-party dapps that will never adopt a Silent Mode API. scan-page capability (addons-host.js + main.js) New capability backing api.scanActiveTabForUris({scheme, limit}). Deliberately NOT a "read the page" API: the host runs the match and returns only the URIs found, so an add-on holding this still cannot see page text, markup or form values. It sits well below page-inject on the trust ladder — it learns that a page offers a wiz:// code and nothing else. Scheme is validated against [a-z][a-z0-9+.-]* and the result count is capped. The matcher also accepts WizardConnect's QR-alphanumeric spelling (WIZ://%3FP%3D…), which is frequently the only form present when a dapp renders its pairing code as a QR, and decodes it. Verified against the SDK: decodeKeyExchangeURI accepts standard, QR-raw and QR-decoded alike. Regex sources are built host-side and passed as JSON rather than assembled inside the injected string — hand-escaping backslashes and quotes through two levels of literal was both wrong on the first attempt and unreviewable. Aegis Declares scan-page, adds the wcScanPage handler and a "Scan page" button next to Connect. A scan fills the URI field and stops there rather than pairing outright: the user still chooses which wallet signs and still presses Connect, because a scan that silently paired would carry far more consequence than the button implies. Older hosts without the capability get a clear "update Theseus" message instead of a dead button.
2026-09-23 00:16:49 +02:00
"capabilities": ["sidebar-panel", "vault-derive", "page-inject", "approval-modal", "scan-page"],
refactor(theseus/aegis): rename bundle bchwallet→aegis + retire standalone siawallet Cleans up the naming that leaked from the wallet's origin story (BCH-only) into the actual bundle layout. Aegis is one integrated addon now: - Bundle folder: TheseusNavigator/bundled-addons/aegis/ (was bchwallet/). - Addon id: "aegis" (was "bchwallet"). Vault-derive still accepts legacy "bchwallet/*" and "siawallet/*" paths via the absorbs list, so no on-chain funds move. - Version: 0.4.0 (bumped to trigger seedBundledAddons's reseed). - Retired: TheseusNavigator/bundled-addons/siawallet/. Sia is folded into Aegis as a chain adapter (lib/sia/*.js already in-tree) and Aegis's manifest lists siawallet under absorbs so pre-Aegis SC keys derive identically. main.js migrateAegisRename() runs before seedBundledAddons on every launch. First run does the move; subsequent runs are no-ops: - addons/bchwallet/ -> addons-backups/bchwallet-migrated-<stamp>/ - addons-data/bchwallet.json COPIED to addons-data/aegis.json (kept copied not moved so a downgrade to 0.3.x can still boot). - addons/siawallet/ -> addons-backups/siawallet-migrated-<stamp>/ (addons-data/siawallet.json left untouched — its walletdUrl is per-user config Aegis's Sia wallet takes fresh via Settings). settings.html Aegis update card now matches either "aegis" (new id) or "bchwallet" (pre-rename) so upgraders coming from 0.3.x see the same one card while the OTA endpoint's next signed bundle catches up. Internal purpose paths inside index.js/chain-*.js are unchanged — LEGACY_BCH_PURPOSE stays "bchwallet/mainnet/0" and every purposePrefix still starts with "bchwallet/*". The addon absorbs its own former id, so those paths keep resolving to the same seed the shipping Aegis has been using since 0.3.14.
2026-09-08 18:17:44 +02:00
"absorbs": ["bchwallet", "siawallet"],
"page-inject": {
"preload": "wallet-inject.js",
"origins": ["https://*/*"]
}
}