WIP: Draft: fix(indexer): label CEX FDUSD as FDUSD/USD under path vfdusd #1103

Closed
PlasticDigits wants to merge 0 commits from 580-bug-indexer-oracle-reports-cex-fdusd-as-vfdusd-usd-in-logs-and-api into main
PlasticDigits commented 2026-08-20 02:19:41 +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)

Closes #580

## 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) Closes #580
PlasticDigits (Migrated from gitlab.com) closed this pull request 2026-08-20 02:21:31 +00:00
PlasticDigits commented 2026-08-20 02:22:10 +00:00 (Migrated from gitlab.com)

Opened on the GitLab issue branch by mistake; replaced by !1104 from fix/580-oracle-fdusd-identity.

Opened on the GitLab issue branch by mistake; replaced by !1104 from fix/580-oracle-fdusd-identity.

Pull request closed

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!1103
No description provided.