Skip to content

add arc-mainnet (5042) support#217

Merged
robert-seitz-uniswap merged 2 commits into
mainfrom
rseitz/add-arc-mainnet
Jun 23, 2026
Merged

add arc-mainnet (5042) support#217
robert-seitz-uniswap merged 2 commits into
mainfrom
rseitz/add-arc-mainnet

Conversation

@robert-seitz-uniswap

Copy link
Copy Markdown
Collaborator

Adds Arc mainnet (chainId 5042, Circle's USDC-native L1) to the v2 + v2-tokens subgraphs.

Arc's native gas token is USDC and there's no wrapped native, so pairs pair against native USDC (0x3600…0000, 6 dec) and USDC is the reference token. Because the reference token is the dollar, getEthPriceInUSD() returns 1 — opted in via STABLE_TOKEN_PAIRS = [REFERENCE_TOKEN]; the guard only fires on STABLE_TOKEN_PAIRS.includes(REFERENCE_TOKEN), so every other chain is unaffected. (Mirrors v3-subgraph#300.)

Changes

  • src/common/pricing.tsreturn ONE_BD when the reference token is in STABLE_TOKEN_PAIRS.
  • config/arc-mainnet/ — V2 factory 0x89e5db8b… @ startBlock 1948011; REFERENCE_TOKEN = USDC, STABLECOINS = [USDC], WHITELIST = [USDC, EURC, USYC, cirBTC], thresholds mirror tempo.
  • prepareNetwork.ts — register arc-mainnet.

EURC (EUR-pegged), USYC (yield-bearing) and cirBTC (0x171A4217…, BTC-pegged) are whitelisted but kept out of STABLECOINS. Builds verified for v2 + v2-tokens.

Addresses per 5042.md; startBlock from explorer.arc.io.

Arc (chainId 5042) is Circle's USDC-native L1: native gas token is USDC, no wrapped native,
so pairs pair against native USDC and USDC is the reference token. Since the reference token IS
the dollar, getEthPriceInUSD() returns 1 (no reference/stable pair exists) — opted in by including
REFERENCE_TOKEN in STABLE_TOKEN_PAIRS; the guard only fires on that, so other chains are unaffected.

- pricing.ts: return ONE_BD when STABLE_TOKEN_PAIRS.includes(REFERENCE_TOKEN)
- config/arc-mainnet: V2 factory 0x89e5db8b... @ startBlock 1948011; REFERENCE_TOKEN = USDC,
  STABLECOINS = [USDC], WHITELIST = [USDC, EURC, USYC, cirBTC]
- register arc-mainnet in the NETWORK enum

Addresses per Uniswap/contracts deployments/5042.md; startBlock from explorer.arc.io. cirBTC
(0x171A4217...) is BTC-pegged so it's whitelisted but excluded from STABLECOINS.
@robert-seitz-uniswap
robert-seitz-uniswap merged commit 468ce7b into main Jun 23, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants