feat(frontend): Swap from=/to= tokenlist symbols, unique-symbol CI, Share logos #1201

Merged
PlasticDigits merged 2 commits from feat/715-swap-tokenlist-symbols into main 2026-09-01 07:46:45 +00:00
PlasticDigits commented 2026-09-01 07:32:28 +00:00 (Migrated from gitlab.com)

Summary

  • Swap canonical rewrite, Share URL, and first-party deep links encode unique bundled tokenlist.json symbols (from=LUNC&to=UST1) instead of uluna / 64-character terra1 when a unique mapping exists.
  • CI (scripts/qa/tokenlist_unique_symbols.py + Vitest) rejects case-folded duplicate tickers, duplicate denoms/addresses, empty symbols, and non-ASCII homographs.
  • Swap header Share reads Share {pay logo} → {receive logo}; Trader / Portfolio Share stay text-only. Overlay execute ids still share as UST1, not LocalTerra bech32.

Closes #715. Follow-up to #711 / #713 (do not reopen those).

Test plan

  • make verify-issue-715 (run twice; PASS=8)
  • make verify-issue-711 and make verify-issue-713 with updated canonical strings (from=LUNC&to=USTC)
  • Uniqueness fixtures fail closed (UST1+ust1, duplicate address/denom, SpaceUSD+SPACEUSD, empty, Cyrillic)
  • Vitest: inbound symbols, outbound rewrite, unlisted bech32 stays bech32, Share logos + aria-label, Trader default label
  • Playwright e2e/swap-tokenlist-symbols-715.spec.ts (5 workers) when LocalTerra + factory are up: /?from=LUNC&to=USTC, hostile ignore, Share clipboard symbols + logo flip
  • Manual: paste an old #713 uluna/bech32 link → pair applies → bar/Share rewrite to symbols
  • Trader profile Share still says Share with no token logos

Playbook: skills/AGENTS_FRONTEND_SWAP_TOKENLIST_SYMBOLS.md (TL-1–TL-2, QS-1–QS-6, SH-1–SH-3).

Closes #715

## Summary - Swap canonical rewrite, Share URL, and first-party deep links encode unique bundled `tokenlist.json` symbols (`from=LUNC&to=UST1`) instead of `uluna` / 64-character `terra1` when a unique mapping exists. - CI (`scripts/qa/tokenlist_unique_symbols.py` + Vitest) rejects case-folded duplicate tickers, duplicate denoms/addresses, empty symbols, and non-ASCII homographs. - Swap header Share reads **Share {pay logo} → {receive logo}**; Trader / Portfolio Share stay text-only. Overlay execute ids still share as `UST1`, not LocalTerra bech32. Closes #715. Follow-up to #711 / #713 (do not reopen those). ## Test plan - [x] `make verify-issue-715` (run twice; PASS=8) - [x] `make verify-issue-711` and `make verify-issue-713` with updated canonical strings (`from=LUNC&to=USTC`) - [x] Uniqueness fixtures fail closed (`UST1`+`ust1`, duplicate address/denom, `SpaceUSD`+`SPACEUSD`, empty, Cyrillic) - [x] Vitest: inbound symbols, outbound rewrite, unlisted bech32 stays bech32, Share logos + aria-label, Trader default label - [ ] Playwright `e2e/swap-tokenlist-symbols-715.spec.ts` (5 workers) when LocalTerra + factory are up: `/?from=LUNC&to=USTC`, hostile ignore, Share clipboard symbols + logo flip - [ ] Manual: paste an old #713 `uluna`/bech32 link → pair applies → bar/Share rewrite to symbols - [ ] Trader profile Share still says **Share** with no token logos Playbook: `skills/AGENTS_FRONTEND_SWAP_TOKENLIST_SYMBOLS.md` (**TL-1–TL-2**, **QS-1–QS-6**, **SH-1–SH-3**). Closes #715
PlasticDigits commented 2026-09-01 07:32:35 +00:00 (Migrated from gitlab.com)

marked this merge request as ready

marked this merge request as **ready**
PlasticDigits commented 2026-09-01 07:46:12 +00:00 (Migrated from gitlab.com)

added 1 commit

  • 86744db1 - Align #713 Share e2e aria-label with tokenlist symbols.

Compare with previous version

added 1 commit <ul><li>86744db1 - Align #713 Share e2e aria-label with tokenlist symbols.</li></ul> [Compare with previous version](/PlasticDigits/cl8y-dex-terraclassic/-/merge_requests/483/diffs?diff_id=1996044895&start_sha=0f0040634c389ad8cc52103464d47bd38b02d979)
PlasticDigits (Migrated from gitlab.com) scheduled this pull request to auto merge when all checks succeed 2026-09-01 07:46:20 +00:00
PlasticDigits (Migrated from gitlab.com) canceled auto merging this pull request when all checks succeed 2026-09-01 07:46:42 +00:00
PlasticDigits commented 2026-09-01 07:46:46 +00:00 (Migrated from gitlab.com)

mentioned in commit 53237a5034

mentioned in commit 53237a5034cffbc9b09494b2e850b2a466572e15
PlasticDigits (Migrated from gitlab.com) merged commit 53237a5034 into main 2026-09-01 07:46:46 +00:00
PlasticDigits commented 2026-09-01 07:48:09 +00:00 (Migrated from gitlab.com)

mentioned in issue #716

mentioned in issue #716
PlasticDigits commented 2026-09-01 07:48:22 +00:00 (Migrated from gitlab.com)

mentioned in issue #715

mentioned in issue #715
PlasticDigits commented 2026-09-01 07:48:24 +00:00 (Migrated from gitlab.com)

mentioned in issue #714

mentioned in issue #714
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
code/cl8y-dex-terraclassic!1201
No description provided.