feat: Protocol DEX hub wrap identity + LUNC/USD column (#570) #1106

Merged
PlasticDigits merged 3 commits from feat/570-protocol-dex-hub-lunc into main 2026-08-20 03:52:18 +00:00
PlasticDigits commented 2026-08-20 03:03:41 +00:00 (Migrated from gitlab.com)

Summary

  • Protocol DEX hub prices now shows cUSTC, LUNC, UST1, USTR (grid-cols-1 sm:grid-cols-2 xl:grid-cols-4).
  • cUSTC and LUNC columns get wrap CW20 AddressRows (VITE_USTC_C_TOKEN_ADDRESS / VITE_LUNC_C_TOKEN_ADDRESS overlay wins; explorer hrefs only via getExplorerAddressUrl).
  • LUNC/USD on this card is the #515 LUNC CEX oracle (wrap 1:1), not a DEX pool. Independent of USTC outage. CEX tabs stay ustc | lunc | vfdusd.
  • Indexer GET /api/v1/hub-prices adds ticker lunc and additive asset_address. GET /hub-prices/lunc is the DEX-card snapshot; GET /oracle/price/lunc stays CEX. Unknown / clunc → 400.
  • Four hub cells stay painted on hub 502 (USD —; wrap rows from env). Invariants H11–H16 in skills/AGENTS_FRONTEND_PROTOCOL_HUB.md.

Closes #570

Test plan

  • make verify-issue-570 (docs, indexer lib + hub/oracle API, Protocol RTL, protocol-page Playwright 5 workers, related 556/550/515/541)
  • Hub 502 still shows outage banner without host:port leak; four cells remain
  • parseHubPriceTicker rejects javascript:, ../, clunc
  • Manual /protocol on LocalTerra: four cells; cUSTC/LUNC explorer targets are wrap CW20s from .env.local; UST1/USTR still show pair contracts; CEX LUNC tab still works
  • Phone 390×844 / tablet 820×1180: AddressRows do not overflow the CEX card
## Summary - Protocol **DEX hub prices** now shows **cUSTC, LUNC, UST1, USTR** (`grid-cols-1 sm:grid-cols-2 xl:grid-cols-4`). - cUSTC and LUNC columns get wrap CW20 `AddressRow`s (`VITE_USTC_C_TOKEN_ADDRESS` / `VITE_LUNC_C_TOKEN_ADDRESS` overlay wins; explorer hrefs only via `getExplorerAddressUrl`). - LUNC/USD on this card is the #515 LUNC CEX oracle (wrap 1:1), not a DEX pool. Independent of USTC outage. CEX tabs stay `ustc` | `lunc` | `vfdusd`. - Indexer `GET /api/v1/hub-prices` adds ticker `lunc` and additive `asset_address`. `GET /hub-prices/lunc` is the DEX-card snapshot; `GET /oracle/price/lunc` stays CEX. Unknown / `clunc` → 400. - Four hub cells stay painted on hub 502 (USD `—`; wrap rows from env). Invariants **H11–H16** in `skills/AGENTS_FRONTEND_PROTOCOL_HUB.md`. Closes #570 ## Test plan - [x] `make verify-issue-570` (docs, indexer lib + hub/oracle API, Protocol RTL, protocol-page Playwright 5 workers, related 556/550/515/541) - [x] Hub 502 still shows outage banner without host:port leak; four cells remain - [x] `parseHubPriceTicker` rejects `javascript:`, `../`, `clunc` - [ ] Manual `/protocol` on LocalTerra: four cells; cUSTC/LUNC explorer targets are wrap CW20s from `.env.local`; UST1/USTR still show **pair** contracts; CEX LUNC tab still works - [ ] Phone 390×844 / tablet 820×1180: AddressRows do not overflow the CEX card
PlasticDigits commented 2026-08-20 03:52:06 +00:00 (Migrated from gitlab.com)

added 28 commits

  • a356757f...3a1dba10 - 26 commits from branch main
  • 439fab68 - Merge origin/main into feat/570-protocol-dex-hub-lunc.
  • 9c802c1a - Wire clunc_address and hub_usd into leftover #568/#571 test AppState builders.

Compare with previous version

added 28 commits <ul><li>a356757f...3a1dba10 - 26 commits from branch <code>main</code></li><li>439fab68 - Merge origin/main into feat/570-protocol-dex-hub-lunc.</li><li>9c802c1a - Wire clunc_address and hub_usd into leftover #568/#571 test AppState builders.</li></ul> [Compare with previous version](/PlasticDigits/cl8y-dex-terraclassic/-/merge_requests/388/diffs?diff_id=1972564715&start_sha=a356757ff3f23ebb2c220cc04dc398bc37b077cd)
PlasticDigits (Migrated from gitlab.com) merged commit 9c802c1aac into main 2026-08-20 03:52:18 +00:00
PlasticDigits commented 2026-08-20 03:54:30 +00:00 (Migrated from gitlab.com)

mentioned in issue #570

mentioned in issue #570
PlasticDigits commented 2026-08-20 03:54:52 +00:00 (Migrated from gitlab.com)

mentioned in issue #583

mentioned in issue #583
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!1106
No description provided.