Three fixes in one turn.
CROSS-NAV — Artemision · Katalogos · Listing · Swap · Deposit all
now actually land somewhere.
- New deep-link protocol: hash form (#tab=… &sub=… &view=…) instead
of query string. The BNS gateway strips ?query from path-key
resolution so `wallet/?tab=agora` falls back to the name-root
landing; hash never hits the gateway.
- src/deepLink.ts::deepLinkParam(name) reads hash first, query second.
All wallet-side sniffers switched to it (App.tsx tab · AgoraScreen
panel · AnthemusScreen view · ArtemisionScreen sub · KatalogosPanel
open=publish).
- ExchangePanel takes a `routes` + `linkTarget` prop; AnthemusKiosk
populates it with wallet URLs opening in a new tab
(deviant.x/wallet/#tab=…). Wallet-embedded ExchangePanel keeps
the old hash-only defaults.
- KatalogosPanel opens the Pinax registration modal automatically
when the deep link carries open=publish, so the Listing link lands
on the "add asset" form instead of the readonly directory.
ASSET CHIPS — Favorites/All/Fiat replaced with ★ · BCH · USD · EUR
per user request (Binance-style compact chips).
- Single-select with click-again-to-clear; no active chip = show all.
- ★ chip is icon-only, gold when active; currency chips filter pairs
whose base OR quote ticker matches. Counts render next to each
chip and update as favorites change.
- Persists to deviant.anthemus.assetChip; retired the assetTab key.
PIN ENTRY — two pads on one screen is fixed. Set-a-PIN now walks
choose → confirm sequentially: single pad on screen, "Next" advances
after ≥ 4 digits, "Back" returns to edit the first without clearing.
Same PinPad component, two-step state (pinStep) inside Onboarding.
ASSET-BASE FIX — the BNS gateway injects `<base href="/bns/<name>/">`
into every served HTML, which broke the subpath deploy: assets at
`/bns/deviant.x/wallet/assets/…` were resolved against the name root
and 404'd. Now building with DEVIANT_BASE=/bns/deviant.x/wallet/ so
all asset paths are absolute — the gateway's injected base becomes
irrelevant. Cross-bucket loads (anthemus.dex → wallet's assets)
work by design because the origin is the same.
Deployed to bns/deviant.x/wallet/ + bns/deviant.x/anthemus/. Verified
end to end: wallet boots at deviant.x/wallet/, kiosk fires at
anthemus.dex/, chips filter correctly (USD→2 rows, ★→favorites only),
PIN flow shows one pad at a time.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>