fix(indexer): label CEX FDUSD as FDUSD/USD under path vfdusd #1104

Merged
PlasticDigits merged 2 commits from fix/580-oracle-fdusd-identity into main 2026-08-20 03:33:10 +00:00
PlasticDigits commented 2026-08-20 02:21:33 +00:00 (Migrated from gitlab.com)

Summary

Indexer path vfdusd still stores CEX FDUSD (MEXC FDUSDUSDT, CoinGecko first-digital-usd). Logs and additive JSON now say FDUSD/USD / quote_asset=FDUSD so operators and integrators do not treat ~$0.998 as Terra CW20 vFDUSD. Path fdusd stays 400. P522-Q / hub USD still leave VFDUSD quotes unpriced.

Closes #580.

Acceptance criteria

  • AC1. Info log display_name is FDUSD/USD, never vFDUSD/USD. Path/DB ticker remains vfdusd.
  • AC2. Catalog metadata states CEX FDUSD, not Terra vFDUSD. /price/fdusd remains 400.
  • AC3. Unit tests still prove MEXC/CG FDUSD ids and no $1 hardcode; they do not require display_name() == "vFDUSD/USD".
  • AC4. P522-Q / volume_usd / hub USD unchanged: VFDUSD quotes stay None.
  • AC5. Docs/skills (P550-9, X3, external-oracle runbook, agent playbooks) match AC1–AC2. Protocol heading left as vFDUSD / USD so #550 verify still passes; Venus UI stays on #571.
  • AC6. make verify-issue-580 and make verify-issue-515 pass. make verify-issue-550 docs/source/lib/integration/frontend pass (VERIFY_ISSUE_550_SKIP_E2E=1; Protocol copy not changed).

Out of scope (not in this MR)

  • Venus BSC poller / Protocol 1 vFDUSD Price / CSP — #571 / #572
  • CoinGecko User-Agent 403 — #579
  • Silent /price/fdusd alias
  • Pricing VFDUSD from CEX FDUSD in P522-Q or hub USD

Verify

make setup-indexer-postgres   # if indexer/.env missing
make verify-issue-580         # no live CEX
make verify-issue-515
VERIFY_ISSUE_550_SKIP_E2E=1 make verify-issue-550

Manual (optional, live indexer):

  • Log line is Oracle: FDUSD/USD avg $…, not vFDUSD/USD
  • GET /api/v1/oracle/price metadata mentions CEX FDUSD
  • GET /api/v1/oracle/price/vfdusd has ticker=vfdusd, quote_asset=FDUSD, display_name=FDUSD/USD
  • GET /api/v1/oracle/price/fdusd is 400
  • /protocol vFDUSD tab heading unchanged until #571

Follow-ups

  • #571 Protocol Venus “1 vFDUSD Price”
  • #579 CoinGecko descriptive User-Agent (403s still soft-fail)
## Summary Indexer path `vfdusd` still stores **CEX FDUSD** (MEXC `FDUSDUSDT`, CoinGecko `first-digital-usd`). Logs and additive JSON now say **FDUSD/USD** / `quote_asset=FDUSD` so operators and integrators do not treat ~$0.998 as Terra CW20 **vFDUSD**. Path `fdusd` stays **400**. P522-Q / hub USD still leave VFDUSD quotes unpriced. Closes #580. ## Acceptance criteria - [x] **AC1.** Info log `display_name` is `FDUSD/USD`, never `vFDUSD/USD`. Path/DB ticker remains `vfdusd`. - [x] **AC2.** Catalog metadata states CEX FDUSD, not Terra vFDUSD. `/price/fdusd` remains 400. - [x] **AC3.** Unit tests still prove MEXC/CG FDUSD ids and no `$1` hardcode; they do not require `display_name() == "vFDUSD/USD"`. - [x] **AC4.** P522-Q / `volume_usd` / hub USD unchanged: VFDUSD quotes stay `None`. - [x] **AC5.** Docs/skills (P550-9, X3, external-oracle runbook, agent playbooks) match AC1–AC2. Protocol heading left as `vFDUSD / USD` so #550 verify still passes; Venus UI stays on #571. - [x] **AC6.** `make verify-issue-580` and `make verify-issue-515` pass. `make verify-issue-550` docs/source/lib/integration/frontend pass (`VERIFY_ISSUE_550_SKIP_E2E=1`; Protocol copy not changed). ## Out of scope (not in this MR) - Venus BSC poller / Protocol **1 vFDUSD Price** / CSP — #571 / #572 - CoinGecko User-Agent 403 — #579 - Silent `/price/fdusd` alias - Pricing VFDUSD from CEX FDUSD in P522-Q or hub USD ## Verify ```bash make setup-indexer-postgres # if indexer/.env missing make verify-issue-580 # no live CEX make verify-issue-515 VERIFY_ISSUE_550_SKIP_E2E=1 make verify-issue-550 ``` Manual (optional, live indexer): - [ ] Log line is `Oracle: FDUSD/USD avg $…`, not `vFDUSD/USD` - [ ] `GET /api/v1/oracle/price` metadata mentions CEX FDUSD - [ ] `GET /api/v1/oracle/price/vfdusd` has `ticker=vfdusd`, `quote_asset=FDUSD`, `display_name=FDUSD/USD` - [ ] `GET /api/v1/oracle/price/fdusd` is 400 - [ ] `/protocol` vFDUSD tab heading unchanged until #571 ## Follow-ups - #571 Protocol Venus “1 vFDUSD Price” - #579 CoinGecko descriptive User-Agent (403s still soft-fail)
PlasticDigits commented 2026-08-20 02:22:10 +00:00 (Migrated from gitlab.com)

mentioned in merge request !1103

mentioned in merge request !1103
PlasticDigits commented 2026-08-20 03:33:07 +00:00 (Migrated from gitlab.com)

added 27 commits

  • 54fb9937...91aed331 - 26 commits from branch main
  • 8fad5f3f - Merge origin/main into fix/580-oracle-fdusd-identity.

Compare with previous version

added 27 commits <ul><li>54fb9937...91aed331 - 26 commits from branch <code>main</code></li><li>8fad5f3f - Merge origin/main into fix/580-oracle-fdusd-identity.</li></ul> [Compare with previous version](/PlasticDigits/cl8y-dex-terraclassic/-/merge_requests/386/diffs?diff_id=1972547507&start_sha=54fb99372cac734056eae222ae1940c9ff4154e5)
PlasticDigits (Migrated from gitlab.com) merged commit b179d1c99b into main 2026-08-20 03:33:10 +00:00
PlasticDigits commented 2026-08-20 03:33:11 +00:00 (Migrated from gitlab.com)

mentioned in commit b179d1c99b

mentioned in commit b179d1c99b12dbaab8eaa73fffdabd85cb75f2f0
PlasticDigits commented 2026-08-20 03:54:27 +00:00 (Migrated from gitlab.com)

mentioned in issue #580

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