Skip to content

task: Stop hardcoding partner contract addresses — link to provider docs; fix the six pages that carry them (Witnet feeds went quiet) #2277

Description

@GigaHierz

Part of #2266.

What needs to be done?

Decide and apply one policy: partner pages link to the provider's own docs for contract addresses instead of listing them — then fix or delete the address tables on the six pages that carry them today.

Why (verified 2026-08-24, Blockscout api/v2)

The Witnet page (tooling/oracles/wit-oracle.mdx) shows how partner addresses rot in place:

Address we list Contract Last tx seen
0x1111AbA2164AcdC6D291b08DfB374280035E1111 (price feeds, lines 25–26, 78) WitnetProxy 2026-01-23 — quiet for 7 months
0x3210564cfc8855cad45d6d963118058fe2b80123 (not in our docs) WitnetProxy 2026-08-24 — active today; picked up right when the listed one went quiet
0xC0FFEE98AD1434aCbDB894BbB752e138c1006fAB (randomness, lines 101–103) WitnetRandomnessV2 2026-04-22
0xc0ffee6912244068f3151f55aef20fde504b6e3a (not in our docs) WitRandomnessV3 2026-02-27

Note the randomness pair: the V3 contract's last recorded tx predates V2's, so it is not obvious which is canonical — exactly the call we cannot make ourselves, and with the link-out policy we do not have to: the provider's docs answer it. (An earlier plan to ask the partner team for the canonical set was dropped for that reason.) The page also still labels its addresses "Alfajores" (retired testnet).

We cannot detect this class of staleness: nothing in CI watches on-chain activity, and the addresses sat in a page that is currently orphaned from nav (#2253 proposes re-navigating it — do not re-nav before this lands).

What the field does

Checked 2026-08-24:

  • Optimism (docs.optimism.io, oracles page): lists providers, links each to the provider's own address catalog ("available on the production network @ [OP Mainnet] → docs.chain.link/data-feeds/…"). No partner addresses inline.
  • Base (docs.base.org): no partner oracle pages with addresses at all; only Base-native contract addresses.
  • Our own Chainlink, RedStone, Supra, DIA and Quex pages already carry zero addresses and link out — Witnet and Band are the outliers.

Scope — the six pages with hardcoded addresses (unique-address count at bdf40b37)

  • tooling/oracles/wit-oracle.mdx (2) — stale, see above
  • tooling/oracles/band-protocol.mdx (2) — unverified
  • build-on-celo/build-with-farcaster.mdx (4) — unverified
  • build-on-celo/build-with-usat.mdx (2) — unverified
  • build-on-celo/nightfall.mdx (3) — unverified
  • tooling/wallets/ledger/to-celo-cli.mdx (1) — likely an example address; confirm and label it as such

Celo-core addresses (tooling/contracts/*, fee-currency tables, specs deployments) are out of scope — we own those and they stay.

Definition of done

How we'd know it's fixed

grep -roE '0x[a-fA-F0-9]{40}' tooling/oracles build-on-celo --include='*.mdx' returns only addresses that are Celo-core, explicitly dated-and-verified, or marked as examples. (An activity-watching check would belong to the freshness-automation workstream — explicitly not part of this issue.)

Non-goals

Core-contract tables; the freshness automation itself; re-verifying every provider's uptime.

Priority / size

high — a listed integration address that went dark is user-visible wrong data on an integration path · size M

Metadata

Metadata

Assignees

Labels

choreRefactor, deps, infra, docsdocumentationImprovements or additions to documentationpriority:highMajor feature broken, workaround existssize:MA day-ish: several files or needs design thoughtstatus: triageNeeds triage

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions