Skip to content

feat: add 0G network icon and currency symbol - #45153

Merged
maxime-oe merged 3 commits into
mainfrom
feat/add-0g-support-p3_2
Aug 13, 2026
Merged

feat: add 0G network icon and currency symbol#45153
maxime-oe merged 3 commits into
mainfrom
feat/add-0g-support-p3_2

Conversation

@maxime-oe

@maxime-oe maxime-oe commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Wires 0G (16661/0x4115) into the general chain-ID lookup maps (NETWORK_TO_NAME_MAP, CHAIN_ID_TO_CURRENCY_SYMBOL_MAP, CHAIN_ID_TO_NETWORK_IMAGE_URL_MAP, CHAIN_ID_TOKEN_IMAGE_MAP) -- not the FEATURED_RPCS/additional-network picker list, which stays out of scope per the standing additional-network-is-optional ruling (same treatment as Somnia).

Native currency 0G reuses the network icon (no separate native-token asset), copied from this enablement's official branding assets.

Description

Changelog

CHANGELOG entry: add 0G network icon and currency symbol- #45153

Related issues

Fixes:

Manual testing steps

  1. Go to this page...

Screenshots/Recordings

Before

After

image image

Pre-merge author checklist

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
Static constants and image assets only; no RPC, auth, or transaction logic changes.

Overview
Adds 0G (16661 / 0x4115) to the extension’s shared network metadata so the UI can show the correct name, ticker, and artwork when that chain is in use (e.g. custom or dapp-added networks).

New branding SVGs (0g.svg, 0g-native.svg) and constants wire 0G into CHAIN_IDS, display name 0G, native currency 0G, and the usual maps: NETWORK_TO_NAME_MAP, CHAIN_ID_TO_CURRENCY_SYMBOL_MAP, CHAIN_ID_TO_NETWORK_IMAGE_URL_MAP, and CHAIN_ID_TOKEN_IMAGE_MAP.

Out of scope: no entry in FEATURED_RPCS / the additional-network picker (same pattern as Somnia).

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

Wires 0G (16661/0x4115) into the general chain-ID lookup maps
(NETWORK_TO_NAME_MAP, CHAIN_ID_TO_CURRENCY_SYMBOL_MAP,
CHAIN_ID_TO_NETWORK_IMAGE_URL_MAP, CHAIN_ID_TOKEN_IMAGE_MAP) -- not
the FEATURED_RPCS/additional-network picker list, which stays out of
scope per the standing additional-network-is-optional ruling (same
treatment as Somnia).

Native currency 0G reuses the network icon (no separate native-token
asset), copied from this enablement's official branding assets.

Core package bump (@metamask/assets-controllers) deferred to a
follow-up commit once MetaMask/core#9760 merges and publishes.
@github-actions

github-actions Bot commented Aug 3, 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.

@metamask-ci metamask-ci Bot added the team-networks PRs from the Networks team label Aug 3, 2026
@github-actions github-actions Bot added the size-S label Aug 3, 2026
The previous commit pointed CHAIN_ID_TOKEN_IMAGE_MAP.ZERO_G at
ZERO_G_IMAGE_URL (the purple-background network logo), reasoning "0G
has no separate native-token asset" -- that was wrong. chain-input.yaml
tracks two distinct assets: branding.networkLogoSvgPath (purple
background, white mark -- the network icon) and nativeToken.logoSvgPath
(white background, purple mark -- the native-token icon). Same brand
mark, inverted colors, genuinely different files (confirmed via
checksum, not just visual inspection).

Adds app/images/0g-native.svg (from the enablement's own
branding/native/0g.svg) and ZERO_G_NATIVE_TOKEN_IMAGE_URL, and
repoints CHAIN_ID_TOKEN_IMAGE_MAP.ZERO_G at it.
CHAIN_ID_TO_NETWORK_IMAGE_URL_MAP.ZERO_G (the network map) is
unaffected and stays on the purple network logo.
@metamask-ci

metamask-ci Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor
Builds ready [ec03936]
⚡ Performance Benchmarks (Total: 🟢 13 pass · 🟡 10 warn · 🔴 1 fail)

Baseline (latest main): 171ed20 | Date: 7/28/2026 | Pipeline: 30826484965 | Baseline logs

Metricschrome-webpackfirefox-webpack
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🔴 [CI log]

Regressions (🔴 1 failure)

Interaction Benchmarks · Samples: 5
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 load_new_account
confirmTx
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
bridgeUserActions
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • loadNewAccount/fcp: -18%
  • loadNewAccount/lcp: -17%
  • confirmTx/longTaskTotalDuration: -21%
  • confirmTx/longTaskMaxDuration: -14%
  • confirmTx/tbt: -36%
  • confirmTx/inp: -17%
  • confirmTx/fcp: -17%
  • bridgeUserActions/bridge_load_page: -15%
  • bridgeUserActions/bridge_load_asset_picker: -29%
  • bridgeUserActions/longTaskCount: -44%
  • bridgeUserActions/longTaskTotalDuration: -44%
  • bridgeUserActions/longTaskMaxDuration: -14%
  • bridgeUserActions/tbt: -41%
  • bridgeUserActions/total: -12%
  • bridgeUserActions/inp: -15%
  • bridgeUserActions/fcp: -19%
  • bridgeUserActions/lcp: -17%
  • loadNewAccount/load_new_account: +22%
  • loadNewAccount/total: +22%
  • loadNewAccount/inp: -17%
  • loadNewAccount/fcp: -49%
  • loadNewAccount/lcp: +1182%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/inp: -24%
  • confirmTx/fcp: -44%
  • confirmTx/lcp: +1176%
  • bridgeUserActions/bridge_load_page: +342%
  • bridgeUserActions/bridge_load_asset_picker: +93%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +39%
  • bridgeUserActions/inp: -23%
  • bridgeUserActions/fcp: -44%
  • bridgeUserActions/lcp: +1209%
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/numNetworkReqs: -14%
  • startupStandardHome/numNetworkReqs: -13%
  • startupPowerUserHome/uiStartup: +19%
  • startupPowerUserHome/load: +19%
  • startupPowerUserHome/domContentLoaded: +19%
  • startupPowerUserHome/domInteractive: +35%
  • startupPowerUserHome/backgroundConnect: +53%
  • startupPowerUserHome/firstReactRender: +22%
  • startupPowerUserHome/initialActions: +11%
  • startupPowerUserHome/loadScripts: +18%
  • startupPowerUserHome/setupStore: +288%
  • startupPowerUserHome/inp: +10%
  • startupPowerUserHome/fcp: +31%
  • startupPowerUserHome/lcp: +20%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 startupPowerUserHome/INP: p75 208ms
  • 🟡 startupPowerUserHome/LCP: p75 3.4s
User Journey Benchmarks · Samples: 5 · mock API 🔴 1
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟡 [CI log]
🟡 total
🟢 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]
🔴 total
🔴 [CI log]
🔴 total
assetDetails
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
solanaAssetDetails
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
importSrpHome
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
sendTransactions
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
swap
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: +15%
  • onboardingImportWallet/confirmSrpToPwForm: +16%
  • onboardingImportWallet/pwFormToMetricsScreen: +14%
  • onboardingImportWallet/doneButtonToHomeScreen: -77%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -46%
  • onboardingImportWallet/longTaskCount: -86%
  • onboardingImportWallet/longTaskTotalDuration: -96%
  • onboardingImportWallet/longTaskMaxDuration: -93%
  • onboardingImportWallet/tbt: -100%
  • onboardingImportWallet/total: -80%
  • onboardingNewWallet/skipBackupToMetricsScreen: +80%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: -24%
  • onboardingNewWallet/doneButtonToAssetList: -20%
  • onboardingNewWallet/longTaskCount: -100%
  • onboardingNewWallet/longTaskTotalDuration: -100%
  • onboardingNewWallet/longTaskMaxDuration: -100%
  • onboardingNewWallet/tbt: -100%
  • onboardingNewWallet/total: -19%
  • solanaAssetDetails/assetClickToPriceChart: -71%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: -71%
  • importSrpHome/homeAfterImportWithNewWallet: -11%
  • importSrpHome/longTaskCount: -44%
  • importSrpHome/longTaskTotalDuration: -33%
  • importSrpHome/tbt: -25%
  • importSrpHome/total: -10%
  • importSrpHome/inp: -15%
  • importSrpHome/lcp: -12%
  • importSrpHome/cls: +497%
  • sendTransactions/openSendPageFromHome: -10%
  • sendTransactions/selectTokenToSendFormLoaded: -12%
  • sendTransactions/reviewTransactionToConfirmationPage: -97%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -95%
  • sendTransactions/inp: -15%
  • sendTransactions/lcp: -60%
  • sendTransactions/cls: +171%
  • swap/fetchAndDisplaySwapQuotes: +102%
  • swap/longTaskCount: +167%
  • swap/longTaskTotalDuration: +91%
  • swap/longTaskMaxDuration: +12%
  • swap/tbt: -26%
  • swap/total: +100%
  • swap/inp: +13%
  • swap/lcp: -71%
  • swap/cls: -92%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 importSrpHome/INP: p75 264ms
  • 🟡 swap/FCP: p75 1.8s
  • 🟡 assetDetails/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 2.0s
  • 🟡 importSrpHome/FCP: p75 2.0s
  • 🟡 sendTransactions/FCP: p75 1.8s
  • 🟡 swap/FCP: p75 2.0s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 316.76 KiB (2.23%)
  • ui: 38.14 KiB (0.21%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: -368 Bytes (-0.02%)
  • zip: 62.75 KiB (0.29%)

@maxime-oe
maxime-oe marked this pull request as ready for review August 6, 2026 10:30
ulissesferreira
ulissesferreira previously approved these changes Aug 6, 2026
@sonarqubecloud

Copy link
Copy Markdown

@metamask-ci

metamask-ci Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor
Builds ready [75f6253]
⚡ Performance Benchmarks (Total: 🟢 11 pass · 🟡 12 warn · 🔴 1 fail)

Baseline (latest main): 171ed20 | Date: 7/28/2026 | Pipeline: 31679260967 | Baseline logs

Metricschrome-webpackfirefox-webpack
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🔴 [CI log]

Regressions (🔴 1 failure)

Interaction Benchmarks · Samples: 5
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🟡 [CI log]
🟡 load_new_account
🟡 [CI log]
🟡 load_new_account
confirmTx
[Sentry log · main/release]
🟡 [CI log]🟢 [CI log]
bridgeUserActions
[Sentry log · main/release]
🟡 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • loadNewAccount/load_new_account: +18%
  • loadNewAccount/total: +18%
  • loadNewAccount/inp: +21%
  • confirmTx/longTaskTotalDuration: -11%
  • confirmTx/longTaskMaxDuration: +41%
  • confirmTx/tbt: -20%
  • bridgeUserActions/bridge_load_asset_picker: +63%
  • bridgeUserActions/longTaskCount: +11%
  • bridgeUserActions/longTaskTotalDuration: -20%
  • bridgeUserActions/longTaskMaxDuration: -26%
  • bridgeUserActions/tbt: -66%
  • loadNewAccount/load_new_account: +21%
  • loadNewAccount/total: +21%
  • loadNewAccount/inp: -24%
  • loadNewAccount/fcp: -48%
  • loadNewAccount/lcp: +1146%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/inp: -32%
  • confirmTx/lcp: +1111%
  • bridgeUserActions/bridge_load_page: +212%
  • bridgeUserActions/bridge_load_asset_picker: +68%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +19%
  • bridgeUserActions/inp: -23%
  • bridgeUserActions/fcp: -48%
  • bridgeUserActions/lcp: +1175%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 loadNewAccount/FCP: p75 1.8s
  • 🟡 confirmTx/FCP: p75 1.9s
  • 🟡 bridgeUserActions/FCP: p75 1.8s
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 loadScripts
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/firstPaint: +13%
  • startupStandardHome/backgroundConnect: +20%
  • startupStandardHome/firstReactRender: -99%
  • startupStandardHome/numNetworkReqs: -14%
  • startupStandardHome/lcp: +11%
  • startupStandardHome/domInteractive: +37%
  • startupStandardHome/backgroundConnect: +10%
  • startupStandardHome/firstReactRender: -98%
  • startupStandardHome/setupStore: +13%
  • startupStandardHome/numNetworkReqs: -13%
  • startupStandardHome/fcp: +39%
  • startupPowerUserHome/uiStartup: +41%
  • startupPowerUserHome/load: +29%
  • startupPowerUserHome/domContentLoaded: +29%
  • startupPowerUserHome/domInteractive: +48%
  • startupPowerUserHome/backgroundConnect: +683%
  • startupPowerUserHome/firstReactRender: -99%
  • startupPowerUserHome/initialActions: +11%
  • startupPowerUserHome/loadScripts: +25%
  • startupPowerUserHome/setupStore: -61%
  • startupPowerUserHome/numNetworkReqs: +34%
  • startupPowerUserHome/fcp: +40%
  • startupPowerUserHome/lcp: +53%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🔴 startupPowerUserHome/LCP: p75 4.4s
User Journey Benchmarks · Samples: 5 · mock API 🔴 1
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟡 [CI log]
🟡 total
🟢 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🔴 [CI log]
🔴 total
assetDetails
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
solanaAssetDetails
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 assetClickToPriceChart
importSrpHome
[Sentry log · main/release]
🟡 [CI log]🟢 [CI log]
sendTransactions
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
swap
[Sentry log · main/release]
🟡 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: +15%
  • onboardingImportWallet/confirmSrpToPwForm: +20%
  • onboardingImportWallet/pwFormToMetricsScreen: +22%
  • onboardingImportWallet/metricsToWalletReadyScreen: -16%
  • onboardingImportWallet/doneButtonToHomeScreen: -92%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -50%
  • onboardingImportWallet/longTaskCount: -86%
  • onboardingImportWallet/longTaskTotalDuration: -95%
  • onboardingImportWallet/longTaskMaxDuration: -90%
  • onboardingImportWallet/tbt: -99%
  • onboardingImportWallet/total: -81%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: -13%
  • onboardingNewWallet/doneButtonToAssetList: -75%
  • onboardingNewWallet/longTaskCount: -69%
  • onboardingNewWallet/longTaskTotalDuration: -73%
  • onboardingNewWallet/longTaskMaxDuration: -37%
  • onboardingNewWallet/tbt: -82%
  • onboardingNewWallet/total: -72%
  • solanaAssetDetails/assetClickToPriceChart: +237%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: +237%
  • solanaAssetDetails/lcp: -12%
  • importSrpHome/homeAfterImportWithNewWallet: -13%
  • importSrpHome/longTaskCount: -44%
  • importSrpHome/longTaskTotalDuration: -45%
  • importSrpHome/longTaskMaxDuration: -24%
  • importSrpHome/tbt: -44%
  • importSrpHome/total: -12%
  • importSrpHome/inp: -43%
  • importSrpHome/fcp: +11%
  • importSrpHome/lcp: -12%
  • importSrpHome/cls: +467%
  • sendTransactions/openSendPageFromHome: -14%
  • sendTransactions/selectTokenToSendFormLoaded: +11%
  • sendTransactions/reviewTransactionToConfirmationPage: -97%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -91%
  • sendTransactions/inp: -19%
  • sendTransactions/fcp: +18%
  • sendTransactions/lcp: -56%
  • sendTransactions/cls: +171%
  • swap/openSwapPageFromHome: +778%
  • swap/fetchAndDisplaySwapQuotes: +105%
  • swap/longTaskCount: +33%
  • swap/tbt: -53%
  • swap/total: +106%
  • swap/lcp: -72%
  • swap/cls: -92%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 importSrpHome/FCP: p75 1.9s
  • 🟡 sendTransactions/FCP: p75 1.9s
  • 🟡 swap/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 2.0s
  • 🟡 sendTransactions/INP: p75 496ms
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • dappPageLoad/pageLoadTime: -57%
  • dappPageLoad/firstPaint: -46%
  • dappPageLoad/firstContentfulPaint: -46%
Bundle size diffs
  • background: 215 Bytes (0%)
  • ui: 187 Bytes (0%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 0 Bytes (0%)
  • zip: 1.53 KiB (0.01%)

@arafetbenmakhlouf
arafetbenmakhlouf self-requested a review August 13, 2026 08:57
@maxime-oe
maxime-oe added this pull request to the merge queue Aug 13, 2026
Merged via the queue into main with commit eaac72d Aug 13, 2026
260 of 262 checks passed
@maxime-oe
maxime-oe deleted the feat/add-0g-support-p3_2 branch August 13, 2026 12:52
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 13, 2026
@metamaskbot metamaskbot added the release-13.45.0 Issue or pull request that will be included in release 13.45.0 label Aug 13, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-13.45.0 Issue or pull request that will be included in release 13.45.0 risk:low size-S team-networks PRs from the Networks team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants