Skip to content

feat: add ARC mainnet support#30879

Merged
maxime-oe merged 1 commit into
mainfrom
feat/add-arc-mainnet-logos
Jun 4, 2026
Merged

feat: add ARC mainnet support#30879
maxime-oe merged 1 commit into
mainfrom
feat/add-arc-mainnet-logos

Conversation

@maxime-oe

@maxime-oe maxime-oe commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Base Enablement + Popular Network listing for Arc.
⚠️ QUICKNODE_ARC_URL secret needs to be set when merging this PR - added to the repository settings but usure if more needs to be done.

Description

Changelog

CHANGELOG entry: add Arc as Default Network (network/native logo + native price + multicall)

Related issues

Fixes:

Manual testing steps

  1. Go on Network picker.
  2. Check that Arc is in the "Popular" tab and not "Custom" tab.
  3. You can also check that Arc uses Infura RPC with a QuickNode failover.
  4. Select Arc network
  5. Check that USDC shows as native asset with Network logo on bottom right of the token icon.
  6. Add the following tokens to check their name and icon:
  • EURC: 0xbEf5f6d51CB62b58e6A8f77868681825C6fe21c1
  • AUDF: 0xd2a530170D71a9Cfe1651Fb468E2B98F7Ed7456b
  • cirBTC: 0x171A4217b86A807A64eB94757Db6849fb4bDbAA0
  1. Additionally, check that Price and market data are present for USDC as native asset - price for other tokens will appear later as they get discovered by the Price API (subject to Coingecko support).

Screenshots/Recordings

Before

After

image image

Pre-merge author checklist

Performance checks (if applicable)

  • I've tested on Android
    • Ideally on a mid-range device; emulator is acceptable
  • I've tested with a power user scenario
    • Use these power-user SRPs to import wallets with many accounts and tokens
  • I've instrumented key operations with Sentry traces for production performance metrics

For performance guidelines and tooling, see the Performance Guide.

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Low Risk
Standard new-chain enablement with config, images, and dependency bumps; operational risk is mainly ensuring QUICKNODE_ARC_URL is set so failover RPC works.

Overview
Adds Arc mainnet (chain 5042 / 0x13b2) as a default, Popular network with USDC as the native currency symbol and dedicated network/token artwork.

Wiring includes Infura primary RPC (arc-mainnet), QuickNode failover via new QUICKNODE_ARC_URL (also listed in builds.yml), explorer explorer.arc.io, and chain ID / currency mappings in app/constants/network.js. Tests were updated for the popular-network list and QuickNode env setup.

Dependency bumps: @metamask/assets-controllers 108.4.0 and @metamask/network-enablement-controller 5.3.0 (with lockfile updates). Merge note: QUICKNODE_ARC_URL must be present in CI/build secrets for failover RPC to work in production builds.

Reviewed by Cursor Bugbot for commit 0829949. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions

github-actions Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@github-actions github-actions Bot added the pr-not-ready-for-e2e Skip E2E and block merging. Remove this label once the PR is ready to run the E2E tests. label Jun 1, 2026
@mm-token-exchange-service mm-token-exchange-service Bot added the team-networks Networks team label Jun 1, 2026
@maxime-oe maxime-oe force-pushed the feat/add-arc-mainnet-logos branch from 58d9f6e to 0195180 Compare June 3, 2026 12:27
@github-actions github-actions Bot added size-S and removed size-XS labels Jun 3, 2026
@socket-security

socket-security Bot commented Jun 3, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatednpm/​@​metamask/​multichain-network-controller@​3.1.2 ⏵ 3.1.399 +11007697 +2100
Updatednpm/​@​metamask/​network-enablement-controller@​5.2.0 ⏵ 5.3.099 +110010097 +2100

View full report

@maxime-oe maxime-oe force-pushed the feat/add-arc-mainnet-logos branch 2 times, most recently from 14528e4 to 207a4db Compare June 3, 2026 13:07
@maxime-oe maxime-oe changed the title feat: add ARC mainnet logos feat: add ARC mainnet support Jun 3, 2026
@maxime-oe maxime-oe force-pushed the feat/add-arc-mainnet-logos branch 2 times, most recently from 43dbcc1 to f073996 Compare June 3, 2026 14:30
@maxime-oe maxime-oe marked this pull request as ready for review June 3, 2026 14:57
@maxime-oe maxime-oe requested a review from a team as a code owner June 3, 2026 14:57
@github-actions github-actions Bot added the risk:high AI analysis: high risk label Jun 3, 2026

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit f073996. Configure here.

Comment thread app/images/image-icons.js
MNT: MANTLE_NATIVE,
USD: TEMPO_NATIVE,
PATHUSD: TEMPO_NATIVE,
USDC: ARC_NATIVE,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

USDC icon applies all chains

Medium Severity

Mapping USDC to the Arc native asset image in the shared image-icons map makes every token whose symbol is USDC use that bundled artwork, on every network. TokenIcon and bridge helpers resolve icons by symbol only and pick the local map before any remote icon URL, so ERC-20 USDC on Ethereum, Base, Polygon, and elsewhere can show the wrong branding instead of the usual USDC artwork.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit f073996. Configure here.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewers: This was not exactly intended to affect other networks. However I can see it as a positive side effect - if anything. What do you think ?

@maxime-oe

Copy link
Copy Markdown
Contributor Author

@metamaskbot publish-preview

@maxime-oe maxime-oe removed the pr-not-ready-for-e2e Skip E2E and block merging. Remove this label once the PR is ready to run the E2E tests. label Jun 3, 2026
@codecov-commenter

codecov-commenter commented Jun 3, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.99%. Comparing base (000d79f) to head (0829949).
⚠️ Report is 9 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #30879      +/-   ##
==========================================
+ Coverage   82.86%   82.99%   +0.13%     
==========================================
  Files        5582     5584       +2     
  Lines      144198   143830     -368     
  Branches    33521    33425      -96     
==========================================
- Hits       119483   119368     -115     
+ Misses      16682    16438     -244     
+ Partials     8033     8024       -9     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@maxime-oe maxime-oe force-pushed the feat/add-arc-mainnet-logos branch from f073996 to c688690 Compare June 3, 2026 16:10
@maxime-oe

Copy link
Copy Markdown
Contributor Author

@metamaskbot publish-preview

@maxime-oe maxime-oe force-pushed the feat/add-arc-mainnet-logos branch 2 times, most recently from 6343864 to 0917db7 Compare June 4, 2026 12:30
@maxime-oe maxime-oe force-pushed the feat/add-arc-mainnet-logos branch from 0917db7 to 0829949 Compare June 4, 2026 12:35
@github-actions

github-actions Bot commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

  • Selected E2E tags: SmokeAccounts, SmokeConfirmations, SmokeIdentity, SmokeNetworkAbstractions, SmokeNetworkExpansion, SmokeSwap, SmokeStake, SmokeWalletPlatform, SmokeMoney, SmokePerps, SmokeMultiChainAPI, SmokePredictions, SmokeSeedlessOnboarding, SmokeBrowser, SmokeSnaps
  • Selected Performance tags: @PerformanceAccountList, @PerformanceOnboarding, @PerformanceLogin, @PerformanceSwaps, @PerformanceLaunch, @PerformanceAssetLoading, @PerformancePredict, @PerformancePreps
  • Risk Level: high
  • AI Confidence: 100%
click to see 🤖 AI reasoning details

E2E Test Selection:
Hard rule (controller-version-update): @MetaMask controller package version updated in package.json: @metamask/assets-controllers, @metamask/network-enablement-controller. Running all tests.

Performance Test Selection:
Hard rule (controller-version-update): @MetaMask controller package version updated in package.json: @metamask/assets-controllers, @metamask/network-enablement-controller. Running all tests.

View GitHub Actions results

@Cal-L Cal-L left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@maxime-oe maxime-oe added this pull request to the merge queue Jun 4, 2026
Merged via the queue into main with commit 9f36f18 Jun 4, 2026
216 checks passed
@maxime-oe maxime-oe deleted the feat/add-arc-mainnet-logos branch June 4, 2026 17:08
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 4, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

risk:high AI analysis: high risk size-S team-networks Networks team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants