feat(frontend): live vFDUSD/UST1 treasury data and CL8Y legal gate #32

Merged
PlasticDigits merged 2 commits from feat/treasury-ust1-legal-10-11-12 into master 2026-08-15 10:23:18 +00:00
PlasticDigits commented 2026-08-15 09:49:56 +00:00 (Migrated from gitlab.com)

Summary

  • #10 — Treasury lists vFDUSD with session-once ust1-oracle USD (rate / 1e18 × $1 FDUSD). Never DEX/BSC, never a fabricated $1/vFDUSD. In-flight dedupe + sessionStorage schema/sanity-band validation.
  • #11 — UST1 Coming Soon removed. Circulating = CW20 token_info.total_supply. cLUNC/cUSTC supply cards (not CR assets). CR denominator is outstanding UST1; ∞ only on successful zero supply; failure is N/A; incomplete prices are labeled.
  • #12 — @plasticdigits/cl8y-clickwrap TermsGate for connected wallets (property=ust1cmm.com, network=TerraClassic). Disconnected browse stays open. Footer Terms link. Fail-closed execute paths.

Closes #10 #11 #12

Test plan

  • cd frontend && npm test (23 unit tests: oracle parse/session, CR fixtures, legal redirect)
  • cd frontend && npm run check (tsc + eslint)
  • Treasury: vFDUSD row matches CW20 balance of treasury on finder for terra1mnl9…svj3; USD ≈ balance × (oracle rate / 1e18)
  • DevTools: ≤1 oracle smart-query per tab session; SPA nav + 30s treasury poll add none; no BSC; no vFDUSD DEX simulates
  • UST1 circ matches token_info.total_supply for terra1f0eq…fy72; View Token opens columbus-5 finder
  • cLUNC / cUSTC supplies match their token_info; not extra treasury collateral rows
  • UST1 supply 0 → ratios ∞; query fail → N/A (not ∞); unpriced assets show incomplete banner
  • Disconnected: Home/Treasury/Dashboard/Referral browse with no Legal status call required
  • Connected unsigned: accept panel; Swap/register cannot fire; Header disconnect still works
  • Accept → portal /sign/terra-classic?property=ust1cmm.com with allowlisted redirect_uri
  • Prod build: no ADMIN_TOKEN, no localhost redirect, VITE_PLAYWRIGHT_E2E unset

Ops follow-up (not in this MR)

Legal Coolify: register property ust1cmm.com, add https://ust1cmm.com to API CORS_ORIGINS and portal VITE_REDIRECT_URI_ALLOWLIST.

## Summary - **#10** — Treasury lists vFDUSD with session-once ust1-oracle USD (`rate / 1e18` × $1 FDUSD). Never DEX/BSC, never a fabricated `$1/vFDUSD`. In-flight dedupe + `sessionStorage` schema/sanity-band validation. - **#11** — UST1 Coming Soon removed. Circulating = CW20 `token_info.total_supply`. cLUNC/cUSTC supply cards (not CR assets). CR denominator is outstanding UST1; `∞` only on successful zero supply; failure is `N/A`; incomplete prices are labeled. - **#12** — `@plasticdigits/cl8y-clickwrap` TermsGate for connected wallets (`property=ust1cmm.com`, `network=TerraClassic`). Disconnected browse stays open. Footer Terms link. Fail-closed execute paths. Closes #10 #11 #12 ## Test plan - [ ] `cd frontend && npm test` (23 unit tests: oracle parse/session, CR fixtures, legal redirect) - [ ] `cd frontend && npm run check` (tsc + eslint) - [ ] Treasury: vFDUSD row matches CW20 balance of treasury on finder for `terra1mnl9…svj3`; USD ≈ balance × (oracle `rate` / 1e18) - [ ] DevTools: ≤1 oracle smart-query per tab session; SPA nav + 30s treasury poll add none; no BSC; no vFDUSD DEX simulates - [ ] UST1 circ matches `token_info.total_supply` for `terra1f0eq…fy72`; View Token opens columbus-5 finder - [ ] cLUNC / cUSTC supplies match their `token_info`; not extra treasury collateral rows - [ ] UST1 supply 0 → ratios `∞`; query fail → `N/A` (not `∞`); unpriced assets show incomplete banner - [ ] Disconnected: Home/Treasury/Dashboard/Referral browse with no Legal status call required - [ ] Connected unsigned: accept panel; Swap/register cannot fire; Header disconnect still works - [ ] Accept → portal `/sign/terra-classic?property=ust1cmm.com` with allowlisted `redirect_uri` - [ ] Prod build: no `ADMIN_TOKEN`, no localhost redirect, `VITE_PLAYWRIGHT_E2E` unset ## Ops follow-up (not in this MR) Legal Coolify: register property `ust1cmm.com`, add `https://ust1cmm.com` to API `CORS_ORIGINS` and portal `VITE_REDIRECT_URI_ALLOWLIST`.
PlasticDigits commented 2026-08-15 09:50:04 +00:00 (Migrated from gitlab.com)

mentioned in issue #10

mentioned in issue #10
PlasticDigits commented 2026-08-15 09:50:05 +00:00 (Migrated from gitlab.com)

mentioned in issue #11

mentioned in issue #11
PlasticDigits commented 2026-08-15 09:50:06 +00:00 (Migrated from gitlab.com)

mentioned in issue #12

mentioned in issue #12
PlasticDigits commented 2026-08-15 10:23:13 +00:00 (Migrated from gitlab.com)

added 3 commits

  • 737f5605...19394493 - 2 commits from branch master
  • ed053568 - Merge branch 'master' into feat/treasury-ust1-legal-10-11-12

Compare with previous version

added 3 commits <ul><li>737f5605...19394493 - 2 commits from branch <code>master</code></li><li>ed053568 - Merge branch &#39;master&#39; into feat/treasury-ust1-legal-10-11-12</li></ul> [Compare with previous version](/PlasticDigits2/ustr-cmm/-/merge_requests/10/diffs?diff_id=1963778344&start_sha=737f5605783feb36f3e1acd6d8d5e5a57a689ad6)
PlasticDigits commented 2026-08-15 10:23:19 +00:00 (Migrated from gitlab.com)

mentioned in commit 09a54333aa

mentioned in commit 09a54333aaaaf58423d04efe6a209b08e54d5cd7
PlasticDigits (Migrated from gitlab.com) merged commit 09a54333aa into master 2026-08-15 10:23:19 +00:00
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/ustr-cmm!32
No description provided.