From 9bb9086ff577f77dc219107ba60a87fc053d5636 Mon Sep 17 00:00:00 2001 From: Local Dev Date: Tue, 29 Sep 2026 00:40:46 +0200 Subject: [PATCH] =?UTF-8?q?feat(aegis):=200.19.0=20=E2=80=94=20three=20chi?= =?UTF-8?q?ps:=20Address,=20Assets,=20Certificates?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Assets was one list holding two different kinds of thing. A fungible balance answers "how much do I have"; a non-fungible one answers "which ones do I hold", and they want different rows — an amount against a symbol, versus a commitment and a capability. On a real chipnet wallet that meant 46 rows where 32 of them were only ever going to say "1 NFT". Split by what each category actually holds, so a category carrying both appears in both — which is honest, because it really does hold both. Assets counts categories; Certificates counts individual certificates, since "3" should mean three things you hold rather than three groups. Certificate rows carry the commitment, because it is the only thing that distinguishes two certificates of the same category, and a MINTING or MUTABLE tag, because "can still issue others" versus "is fixed" is worth seeing without opening anything. A `none` capability is left unlabelled rather than adding noise to every row. "Certificates", not "NFTs": these are membership, licence and record tokens, and NFT carries collectible-market baggage that misdescribes them. Ids and data keys stay `nft` — that is the CashTokens protocol field, so it is protocol name inside and product name on screen. Two things caught while building it. `draw({})` was overwriting the "no assets" empty state with an empty string, which is now the common case since purely-non-fungible categories no longer appear there. And certificate rows printed the category twice, as the title and again on the right — the right column now only carries it when the row has a real name to lead with. Metadata is looked up for every category, not just the fungible ones, so naming a token also names its certificates. --- bundled-addons/aegis/addon.json | 2 +- bundled-addons/aegis/panel.html | 23 +++++++- bundled-addons/aegis/panel.js | 95 +++++++++++++++++++++++++++++---- 3 files changed, 107 insertions(+), 13 deletions(-) diff --git a/bundled-addons/aegis/addon.json b/bundled-addons/aegis/addon.json index f50300d8..0153d390 100644 --- a/bundled-addons/aegis/addon.json +++ b/bundled-addons/aegis/addon.json @@ -1,7 +1,7 @@ { "id": "aegis", "name": "Aegis Wallet", - "version": "0.18.0", + "version": "0.19.0", "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", diff --git a/bundled-addons/aegis/panel.html b/bundled-addons/aegis/panel.html index 6b70b579..c454abf6 100644 --- a/bundled-addons/aegis/panel.html +++ b/bundled-addons/aegis/panel.html @@ -780,9 +780,23 @@ Chips give one shape for every coin and a visible answer either way. (0.9.2 had already reordered the stack for the same reason — this replaces that workaround.) --> +
- + +
@@ -812,6 +826,13 @@
Tokens held by this wallet.
+