From 72dec2b7971453506e10596b72e463acb3425fd5 Mon Sep 17 00:00:00 2001 From: salimtb Date: Mon, 27 Oct 2025 22:47:25 +0100 Subject: [PATCH 01/16] feat: add infura supported networks --- packages/controller-utils/src/constants.ts | 35 ++ packages/controller-utils/src/types.ts | 31 ++ .../tests/NetworkController.test.ts | 375 ++++++++++++++++++ 3 files changed, 441 insertions(+) diff --git a/packages/controller-utils/src/constants.ts b/packages/controller-utils/src/constants.ts index 4d352555527..62b97feaf7f 100644 --- a/packages/controller-utils/src/constants.ts +++ b/packages/controller-utils/src/constants.ts @@ -131,6 +131,41 @@ export const BUILT_IN_NETWORKS = { blockExplorerUrl: BlockExplorerUrl['base-mainnet'], }, }, + [NetworkType['arbitrum-one']]: { + chainId: ChainId['arbitrum-one'], + ticker: NetworksTicker['arbitrum-one'], + rpcPrefs: { + blockExplorerUrl: BlockExplorerUrl['arbitrum-one'], + }, + }, + [NetworkType['bsc-mainnet']]: { + chainId: ChainId['bsc-mainnet'], + ticker: NetworksTicker['bsc-mainnet'], + rpcPrefs: { + blockExplorerUrl: BlockExplorerUrl['bsc-mainnet'], + }, + }, + [NetworkType['optimism-mainnet']]: { + chainId: ChainId['optimism-mainnet'], + ticker: NetworksTicker['optimism-mainnet'], + rpcPrefs: { + blockExplorerUrl: BlockExplorerUrl['optimism-mainnet'], + }, + }, + [NetworkType['polygon-mainnet']]: { + chainId: ChainId['polygon-mainnet'], + ticker: NetworksTicker['polygon-mainnet'], + rpcPrefs: { + blockExplorerUrl: BlockExplorerUrl['polygon-mainnet'], + }, + }, + [NetworkType['sei-mainnet']]: { + chainId: ChainId['sei-mainnet'], + ticker: NetworksTicker['sei-mainnet'], + rpcPrefs: { + blockExplorerUrl: BlockExplorerUrl['sei-mainnet'], + }, + }, [NetworkType.rpc]: { chainId: undefined, blockExplorerUrl: undefined, diff --git a/packages/controller-utils/src/types.ts b/packages/controller-utils/src/types.ts index b0f66676a6e..646f3728a07 100644 --- a/packages/controller-utils/src/types.ts +++ b/packages/controller-utils/src/types.ts @@ -9,6 +9,11 @@ export const InfuraNetworkType = { 'linea-sepolia': 'linea-sepolia', 'linea-mainnet': 'linea-mainnet', 'base-mainnet': 'base-mainnet', + 'arbitrum-one': 'arbitrum-one', + 'bsc-mainnet': 'bsc-mainnet', + 'optimism-mainnet': 'optimism-mainnet', + 'polygon-mainnet': 'polygon-mainnet', + 'sei-mainnet': 'sei-mainnet', } as const; export type InfuraNetworkType = @@ -80,6 +85,11 @@ export enum BuiltInNetworkName { MegaETHTestnet = 'megaeth-testnet', MonadTestnet = 'monad-testnet', BaseMainnet = 'base-mainnet', + ArbitrumOne = 'arbitrum-one', + BscMainnet = 'bsc-mainnet', + OptimismMainnet = 'optimism-mainnet', + PolygonMainnet = 'polygon-mainnet', + SeiMainnet = 'sei-mainnet', } /** @@ -98,6 +108,12 @@ export const ChainId = { [BuiltInNetworkName.MegaETHTestnet]: '0x18c6', // toHex(6342) [BuiltInNetworkName.MonadTestnet]: '0x279f', // toHex(10143) [BuiltInNetworkName.BaseMainnet]: '0x2105', // toHex(8453) + [BuiltInNetworkName.ArbitrumOne]: '0xa4b1', // toHex(42161) + [BuiltInNetworkName.BscMainnet]: '0x38', // toHex(56) + [BuiltInNetworkName.OptimismMainnet]: '0xa', // toHex(10) + [BuiltInNetworkName.PolygonMainnet]: '0x89', // toHex(137) + [BuiltInNetworkName.SeiMainnet]: '0x531', // toHex(1329) + } as const; export type ChainId = (typeof ChainId)[keyof typeof ChainId]; @@ -114,6 +130,11 @@ export enum NetworksTicker { 'monad-testnet' = 'MON', // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values 'base-mainnet' = 'ETH', + 'arbitrum-one' = 'ETG', + 'bsc-mainnet' = 'BNB', + 'optimism-mainnet' = 'ETH', + 'polygon-mainnet' = 'POL', + 'sei-mainnet' = 'SEI', rpc = '', } @@ -127,6 +148,11 @@ export const BlockExplorerUrl = { [BuiltInNetworkName.MegaETHTestnet]: 'https://megaexplorer.xyz', [BuiltInNetworkName.MonadTestnet]: 'https://testnet.monadexplorer.com', [BuiltInNetworkName.BaseMainnet]: 'https://basescan.org', + [BuiltInNetworkName.ArbitrumOne]: 'https://arbiscan.io', + [BuiltInNetworkName.BscMainnet]: 'https://bscscan.com', + [BuiltInNetworkName.OptimismMainnet]: 'https://optimistic.etherscan.io', + [BuiltInNetworkName.PolygonMainnet]: 'https://polygonscan.com', + [BuiltInNetworkName.SeiMainnet]: 'https://seitrace.com', } as const satisfies Record; export type BlockExplorerUrl = (typeof BlockExplorerUrl)[keyof typeof BlockExplorerUrl]; @@ -141,6 +167,11 @@ export const NetworkNickname = { [BuiltInNetworkName.MegaETHTestnet]: 'Mega Testnet', [BuiltInNetworkName.MonadTestnet]: 'Monad Testnet', [BuiltInNetworkName.BaseMainnet]: 'Base Mainnet', + [BuiltInNetworkName.ArbitrumOne]: 'Arbitrum One', + [BuiltInNetworkName.BscMainnet]: 'BSC Mainnet', + [BuiltInNetworkName.OptimismMainnet]: 'Optimism Mainnet', + [BuiltInNetworkName.PolygonMainnet]: 'Polygon Mainnet', + [BuiltInNetworkName.SeiMainnet]: 'Sei Mainnet', } as const satisfies Record; export type NetworkNickname = (typeof NetworkNickname)[keyof typeof NetworkNickname]; diff --git a/packages/network-controller/tests/NetworkController.test.ts b/packages/network-controller/tests/NetworkController.test.ts index f30adcdaf15..8864f7bf8f3 100644 --- a/packages/network-controller/tests/NetworkController.test.ts +++ b/packages/network-controller/tests/NetworkController.test.ts @@ -490,6 +490,81 @@ describe('NetworkController', () => { }, ], }, + "0x38": Object { + "blockExplorerUrls": Array [], + "chainId": "0x38", + "defaultRpcEndpointIndex": 0, + "name": "BSC Mainnet", + "nativeCurrency": "BNB", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "bsc-mainnet", + "type": "infura", + "url": "https://bsc-mainnet.infura.io/v3/{infuraProjectId}", + }, + ], + }, + "0x531": Object { + "blockExplorerUrls": Array [], + "chainId": "0x531", + "defaultRpcEndpointIndex": 0, + "name": "Sei Mainnet", + "nativeCurrency": "SEI", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "sei-mainnet", + "type": "infura", + "url": "https://sei-mainnet.infura.io/v3/{infuraProjectId}", + }, + ], + }, + "0x89": Object { + "blockExplorerUrls": Array [], + "chainId": "0x89", + "defaultRpcEndpointIndex": 0, + "name": "Polygon Mainnet", + "nativeCurrency": "POL", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "polygon-mainnet", + "type": "infura", + "url": "https://polygon-mainnet.infura.io/v3/{infuraProjectId}", + }, + ], + }, + "0xa": Object { + "blockExplorerUrls": Array [], + "chainId": "0xa", + "defaultRpcEndpointIndex": 0, + "name": "Optimism Mainnet", + "nativeCurrency": "ETH", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "optimism-mainnet", + "type": "infura", + "url": "https://optimism-mainnet.infura.io/v3/{infuraProjectId}", + }, + ], + }, + "0xa4b1": Object { + "blockExplorerUrls": Array [], + "chainId": "0xa4b1", + "defaultRpcEndpointIndex": 0, + "name": "Arbitrum One", + "nativeCurrency": "ETG", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "arbitrum-one", + "type": "infura", + "url": "https://arbitrum-one.infura.io/v3/{infuraProjectId}", + }, + ], + }, "0xaa36a7": Object { "blockExplorerUrls": Array [], "chainId": "0xaa36a7", @@ -602,6 +677,81 @@ describe('NetworkController', () => { }, ], }, + "0x38": Object { + "blockExplorerUrls": Array [], + "chainId": "0x38", + "defaultRpcEndpointIndex": 0, + "name": "BSC Mainnet", + "nativeCurrency": "BNB", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "bsc-mainnet", + "type": "infura", + "url": "https://bsc-mainnet.infura.io/v3/{infuraProjectId}", + }, + ], + }, + "0x531": Object { + "blockExplorerUrls": Array [], + "chainId": "0x531", + "defaultRpcEndpointIndex": 0, + "name": "Sei Mainnet", + "nativeCurrency": "SEI", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "sei-mainnet", + "type": "infura", + "url": "https://sei-mainnet.infura.io/v3/{infuraProjectId}", + }, + ], + }, + "0x89": Object { + "blockExplorerUrls": Array [], + "chainId": "0x89", + "defaultRpcEndpointIndex": 0, + "name": "Polygon Mainnet", + "nativeCurrency": "POL", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "polygon-mainnet", + "type": "infura", + "url": "https://polygon-mainnet.infura.io/v3/{infuraProjectId}", + }, + ], + }, + "0xa": Object { + "blockExplorerUrls": Array [], + "chainId": "0xa", + "defaultRpcEndpointIndex": 0, + "name": "Optimism Mainnet", + "nativeCurrency": "ETH", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "optimism-mainnet", + "type": "infura", + "url": "https://optimism-mainnet.infura.io/v3/{infuraProjectId}", + }, + ], + }, + "0xa4b1": Object { + "blockExplorerUrls": Array [], + "chainId": "0xa4b1", + "defaultRpcEndpointIndex": 0, + "name": "Arbitrum One", + "nativeCurrency": "ETG", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "arbitrum-one", + "type": "infura", + "url": "https://arbitrum-one.infura.io/v3/{infuraProjectId}", + }, + ], + }, "0xaa36a7": Object { "blockExplorerUrls": Array [], "chainId": "0xaa36a7", @@ -14554,6 +14704,81 @@ describe('NetworkController', () => { }, ], }, + "0x38": Object { + "blockExplorerUrls": Array [], + "chainId": "0x38", + "defaultRpcEndpointIndex": 0, + "name": "BSC Mainnet", + "nativeCurrency": "BNB", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "bsc-mainnet", + "type": "infura", + "url": "https://bsc-mainnet.infura.io/v3/{infuraProjectId}", + }, + ], + }, + "0x531": Object { + "blockExplorerUrls": Array [], + "chainId": "0x531", + "defaultRpcEndpointIndex": 0, + "name": "Sei Mainnet", + "nativeCurrency": "SEI", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "sei-mainnet", + "type": "infura", + "url": "https://sei-mainnet.infura.io/v3/{infuraProjectId}", + }, + ], + }, + "0x89": Object { + "blockExplorerUrls": Array [], + "chainId": "0x89", + "defaultRpcEndpointIndex": 0, + "name": "Polygon Mainnet", + "nativeCurrency": "POL", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "polygon-mainnet", + "type": "infura", + "url": "https://polygon-mainnet.infura.io/v3/{infuraProjectId}", + }, + ], + }, + "0xa": Object { + "blockExplorerUrls": Array [], + "chainId": "0xa", + "defaultRpcEndpointIndex": 0, + "name": "Optimism Mainnet", + "nativeCurrency": "ETH", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "optimism-mainnet", + "type": "infura", + "url": "https://optimism-mainnet.infura.io/v3/{infuraProjectId}", + }, + ], + }, + "0xa4b1": Object { + "blockExplorerUrls": Array [], + "chainId": "0xa4b1", + "defaultRpcEndpointIndex": 0, + "name": "Arbitrum One", + "nativeCurrency": "ETG", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "arbitrum-one", + "type": "infura", + "url": "https://arbitrum-one.infura.io/v3/{infuraProjectId}", + }, + ], + }, "0xaa36a7": Object { "blockExplorerUrls": Array [], "chainId": "0xaa36a7", @@ -14648,6 +14873,81 @@ describe('NetworkController', () => { }, ], }, + "0x38": Object { + "blockExplorerUrls": Array [], + "chainId": "0x38", + "defaultRpcEndpointIndex": 0, + "name": "BSC Mainnet", + "nativeCurrency": "BNB", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "bsc-mainnet", + "type": "infura", + "url": "https://bsc-mainnet.infura.io/v3/{infuraProjectId}", + }, + ], + }, + "0x531": Object { + "blockExplorerUrls": Array [], + "chainId": "0x531", + "defaultRpcEndpointIndex": 0, + "name": "Sei Mainnet", + "nativeCurrency": "SEI", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "sei-mainnet", + "type": "infura", + "url": "https://sei-mainnet.infura.io/v3/{infuraProjectId}", + }, + ], + }, + "0x89": Object { + "blockExplorerUrls": Array [], + "chainId": "0x89", + "defaultRpcEndpointIndex": 0, + "name": "Polygon Mainnet", + "nativeCurrency": "POL", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "polygon-mainnet", + "type": "infura", + "url": "https://polygon-mainnet.infura.io/v3/{infuraProjectId}", + }, + ], + }, + "0xa": Object { + "blockExplorerUrls": Array [], + "chainId": "0xa", + "defaultRpcEndpointIndex": 0, + "name": "Optimism Mainnet", + "nativeCurrency": "ETH", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "optimism-mainnet", + "type": "infura", + "url": "https://optimism-mainnet.infura.io/v3/{infuraProjectId}", + }, + ], + }, + "0xa4b1": Object { + "blockExplorerUrls": Array [], + "chainId": "0xa4b1", + "defaultRpcEndpointIndex": 0, + "name": "Arbitrum One", + "nativeCurrency": "ETG", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "arbitrum-one", + "type": "infura", + "url": "https://arbitrum-one.infura.io/v3/{infuraProjectId}", + }, + ], + }, "0xaa36a7": Object { "blockExplorerUrls": Array [], "chainId": "0xaa36a7", @@ -14742,6 +15042,81 @@ describe('NetworkController', () => { }, ], }, + "0x38": Object { + "blockExplorerUrls": Array [], + "chainId": "0x38", + "defaultRpcEndpointIndex": 0, + "name": "BSC Mainnet", + "nativeCurrency": "BNB", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "bsc-mainnet", + "type": "infura", + "url": "https://bsc-mainnet.infura.io/v3/{infuraProjectId}", + }, + ], + }, + "0x531": Object { + "blockExplorerUrls": Array [], + "chainId": "0x531", + "defaultRpcEndpointIndex": 0, + "name": "Sei Mainnet", + "nativeCurrency": "SEI", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "sei-mainnet", + "type": "infura", + "url": "https://sei-mainnet.infura.io/v3/{infuraProjectId}", + }, + ], + }, + "0x89": Object { + "blockExplorerUrls": Array [], + "chainId": "0x89", + "defaultRpcEndpointIndex": 0, + "name": "Polygon Mainnet", + "nativeCurrency": "POL", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "polygon-mainnet", + "type": "infura", + "url": "https://polygon-mainnet.infura.io/v3/{infuraProjectId}", + }, + ], + }, + "0xa": Object { + "blockExplorerUrls": Array [], + "chainId": "0xa", + "defaultRpcEndpointIndex": 0, + "name": "Optimism Mainnet", + "nativeCurrency": "ETH", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "optimism-mainnet", + "type": "infura", + "url": "https://optimism-mainnet.infura.io/v3/{infuraProjectId}", + }, + ], + }, + "0xa4b1": Object { + "blockExplorerUrls": Array [], + "chainId": "0xa4b1", + "defaultRpcEndpointIndex": 0, + "name": "Arbitrum One", + "nativeCurrency": "ETG", + "rpcEndpoints": Array [ + Object { + "failoverUrls": Array [], + "networkClientId": "arbitrum-one", + "type": "infura", + "url": "https://arbitrum-one.infura.io/v3/{infuraProjectId}", + }, + ], + }, "0xaa36a7": Object { "blockExplorerUrls": Array [], "chainId": "0xaa36a7", From e644624a8b239aab42bb91e76d5145a0b5e3b479 Mon Sep 17 00:00:00 2001 From: salimtb Date: Mon, 27 Oct 2025 22:53:56 +0100 Subject: [PATCH 02/16] fix: add changelog --- packages/assets-controllers/CHANGELOG.md | 3 +++ .../src/TokenDetectionController.test.ts | 13 ++++++++++++- packages/controller-utils/CHANGELOG.md | 10 ++++++++++ packages/network-controller/CHANGELOG.md | 3 +++ 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/packages/assets-controllers/CHANGELOG.md b/packages/assets-controllers/CHANGELOG.md index 77505cfd041..73b4d6bee91 100644 --- a/packages/assets-controllers/CHANGELOG.md +++ b/packages/assets-controllers/CHANGELOG.md @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +- Added Arbitrum, bsc, optimism, polygon, sei Network for networks to track in `TokenDetectionController` ([#5902](https://github.com/MetaMask/core/pull/5902)) + - Network changes were added in `@metamask/controller-utils` + ## [84.0.0] ### Added diff --git a/packages/assets-controllers/src/TokenDetectionController.test.ts b/packages/assets-controllers/src/TokenDetectionController.test.ts index b94d1da4ffa..1db2d4e6e37 100644 --- a/packages/assets-controllers/src/TokenDetectionController.test.ts +++ b/packages/assets-controllers/src/TokenDetectionController.test.ts @@ -1181,7 +1181,18 @@ describe('TokenDetectionController', () => { await advanceTime({ clock, duration: 1 }); expect(mockTokens).toHaveBeenNthCalledWith(1, { - chainIds: ['0x1', '0xaa36a7', '0xe705', '0xe708', '0x2105'], + chainIds: [ + '0x1', + '0xaa36a7', + '0xe705', + '0xe708', + '0x2105', + '0xa4b1', + '0x38', + '0xa', + '0x89', + '0x531', + ], selectedAddress: secondSelectedAccount.address, }); }, diff --git a/packages/controller-utils/CHANGELOG.md b/packages/controller-utils/CHANGELOG.md index 10631aea328..17af89d7ddb 100644 --- a/packages/controller-utils/CHANGELOG.md +++ b/packages/controller-utils/CHANGELOG.md @@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +- Add `TransactionBatch` in approval types enum ([#5902](https://github.com/MetaMask/core/pull/5902)) +- Add Arbitrum, BSC, Optimism, Polygon, and Sei networks to Infura networks ([#5902](https://github.com/MetaMask/core/pull/5902)) + - Add `arbitrum-mainnet`, `bsc-mainnet`, `optimism-mainnet`, `polygon-mainnet`, `sei-mainnet` to `BUILT_IN_NETWORKS` + - Add `arbitrum-mainnet`, `bsc-mainnet`, `optimism-mainnet`, `polygon-mainnet`, `sei-mainnet` to `InfuraNetworkType` + - Add corresponding entries to `BuiltInNetworkName` enum + - Add corresponding entries to `ChainId` type + - Add corresponding entries to `NetworksTicker` enum + - Add corresponding entries to `BlockExplorerUrl` quasi-enum + - Add corresponding entries to `NetworkNickname` quasi-enum + ## [11.14.1] ### Changed diff --git a/packages/network-controller/CHANGELOG.md b/packages/network-controller/CHANGELOG.md index 3409f0011c2..abfab8b9ce4 100644 --- a/packages/network-controller/CHANGELOG.md +++ b/packages/network-controller/CHANGELOG.md @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +- Add Arbitrum, BSC, Optimism, Polygon, and Sei networks to default infura networks ([#5902](https://github.com/MetaMask/core/pull/5902)) + - Network changes were added in `@metamask/controller-utils` + ## [25.0.0] ### Changed From 589fd9068042312c7aa14c17c9175ae001f16b80 Mon Sep 17 00:00:00 2001 From: salimtb Date: Mon, 27 Oct 2025 22:57:12 +0100 Subject: [PATCH 03/16] fix: add changelog --- packages/assets-controllers/CHANGELOG.md | 5 +++-- packages/controller-utils/CHANGELOG.md | 18 +++++++++--------- packages/network-controller/CHANGELOG.md | 2 +- .../network-enablement-controller/CHANGELOG.md | 4 ++++ 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/packages/assets-controllers/CHANGELOG.md b/packages/assets-controllers/CHANGELOG.md index 73b4d6bee91..4ab062adf30 100644 --- a/packages/assets-controllers/CHANGELOG.md +++ b/packages/assets-controllers/CHANGELOG.md @@ -7,8 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -- Added Arbitrum, bsc, optimism, polygon, sei Network for networks to track in `TokenDetectionController` ([#5902](https://github.com/MetaMask/core/pull/5902)) - - Network changes were added in `@metamask/controller-utils` +- Added Arbitrum, BSC, Optimism, Polygon, and Sei networks for token detection support in `TokenDetectionController` ([#6972](https://github.com/MetaMask/core/pull/6972)) + - Added support for tracking tokens on Arbitrum (0xa4b1), BSC (0x38), Optimism (0xa), Polygon (0x89), and Sei (0x531) networks + - Network type definitions and constants were added in `@metamask/controller-utils` ## [84.0.0] diff --git a/packages/controller-utils/CHANGELOG.md b/packages/controller-utils/CHANGELOG.md index 17af89d7ddb..962e3a0e2a4 100644 --- a/packages/controller-utils/CHANGELOG.md +++ b/packages/controller-utils/CHANGELOG.md @@ -7,15 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -- Add `TransactionBatch` in approval types enum ([#5902](https://github.com/MetaMask/core/pull/5902)) -- Add Arbitrum, BSC, Optimism, Polygon, and Sei networks to Infura networks ([#5902](https://github.com/MetaMask/core/pull/5902)) - - Add `arbitrum-mainnet`, `bsc-mainnet`, `optimism-mainnet`, `polygon-mainnet`, `sei-mainnet` to `BUILT_IN_NETWORKS` - - Add `arbitrum-mainnet`, `bsc-mainnet`, `optimism-mainnet`, `polygon-mainnet`, `sei-mainnet` to `InfuraNetworkType` - - Add corresponding entries to `BuiltInNetworkName` enum - - Add corresponding entries to `ChainId` type - - Add corresponding entries to `NetworksTicker` enum - - Add corresponding entries to `BlockExplorerUrl` quasi-enum - - Add corresponding entries to `NetworkNickname` quasi-enum +- Add `TransactionBatch` in approval types enum ([#5793](https://github.com/MetaMask/core/pull/6972)) +- Add Arbitrum, BSC, Optimism, Polygon, and Sei networks to Infura networks ([#5902](https://github.com/MetaMask/core/pull/6972)) + - Add `arbitrum-one`, `bsc-mainnet`, `optimism-mainnet`, `polygon-mainnet`, `sei-mainnet` to `BUILT_IN_NETWORKS` + - Add `arbitrum-one`, `bsc-mainnet`, `optimism-mainnet`, `polygon-mainnet`, `sei-mainnet` to `InfuraNetworkType` + - Add `ArbitrumOne`, `BscMainnet`, `OptimismMainnet`, `PolygonMainnet`, `SeiMainnet` to `BuiltInNetworkName` enum + - Add corresponding chain IDs to `ChainId` type (0xa4b1, 0x38, 0xa, 0x89, 0x531) + - Add `ETG`, `BNB`, `ETH`, `POL`, `SEI` tickers to `NetworksTicker` enum + - Add block explorer URLs to `BlockExplorerUrl` quasi-enum + - Add network nicknames to `NetworkNickname` quasi-enum ## [11.14.1] diff --git a/packages/network-controller/CHANGELOG.md b/packages/network-controller/CHANGELOG.md index abfab8b9ce4..2131858eb92 100644 --- a/packages/network-controller/CHANGELOG.md +++ b/packages/network-controller/CHANGELOG.md @@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -- Add Arbitrum, BSC, Optimism, Polygon, and Sei networks to default infura networks ([#5902](https://github.com/MetaMask/core/pull/5902)) +- Add Arbitrum, BSC, Optimism, Polygon, and Sei networks to default infura networks ([#6972](https://github.com/MetaMask/core/pull/6972)) - Network changes were added in `@metamask/controller-utils` ## [25.0.0] diff --git a/packages/network-enablement-controller/CHANGELOG.md b/packages/network-enablement-controller/CHANGELOG.md index cb17902fdb8..4eb265f4fc0 100644 --- a/packages/network-enablement-controller/CHANGELOG.md +++ b/packages/network-enablement-controller/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +- Add support for Arbitrum, BSC, Optimism, Polygon, and Sei networks as popular networks ([#6972](https://github.com/MetaMask/core/pull/6972)) + - These networks will now be included when calling `enableAllPopularNetworks()` + - Network definitions added in `@metamask/controller-utils` + ## [3.0.0] ### Changed From 618764df7bff8bf1e8af37df970fc5e20947f5b8 Mon Sep 17 00:00:00 2001 From: salimtb Date: Mon, 27 Oct 2025 23:00:17 +0100 Subject: [PATCH 04/16] fix: add changelog --- packages/controller-utils/CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/controller-utils/CHANGELOG.md b/packages/controller-utils/CHANGELOG.md index 962e3a0e2a4..fb78e16f75e 100644 --- a/packages/controller-utils/CHANGELOG.md +++ b/packages/controller-utils/CHANGELOG.md @@ -7,8 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -- Add `TransactionBatch` in approval types enum ([#5793](https://github.com/MetaMask/core/pull/6972)) -- Add Arbitrum, BSC, Optimism, Polygon, and Sei networks to Infura networks ([#5902](https://github.com/MetaMask/core/pull/6972)) +- Add `TransactionBatch` in approval types enum ([#6972](https://github.com/MetaMask/core/pull/6972)) +- Add Arbitrum, BSC, Optimism, Polygon, and Sei networks to Infura networks ([#6972](https://github.com/MetaMask/core/pull/6972)) - Add `arbitrum-one`, `bsc-mainnet`, `optimism-mainnet`, `polygon-mainnet`, `sei-mainnet` to `BUILT_IN_NETWORKS` - Add `arbitrum-one`, `bsc-mainnet`, `optimism-mainnet`, `polygon-mainnet`, `sei-mainnet` to `InfuraNetworkType` - Add `ArbitrumOne`, `BscMainnet`, `OptimismMainnet`, `PolygonMainnet`, `SeiMainnet` to `BuiltInNetworkName` enum From 60f872eb59e946ffcaf78824d78e6c636500897b Mon Sep 17 00:00:00 2001 From: salimtb Date: Mon, 27 Oct 2025 23:31:28 +0100 Subject: [PATCH 05/16] fix: fix unit tests --- packages/controller-utils/src/types.ts | 2 +- .../tests/NetworkController.test.ts | 91 +++++++++++++++++-- 2 files changed, 84 insertions(+), 9 deletions(-) diff --git a/packages/controller-utils/src/types.ts b/packages/controller-utils/src/types.ts index 646f3728a07..9fbcd910c17 100644 --- a/packages/controller-utils/src/types.ts +++ b/packages/controller-utils/src/types.ts @@ -113,7 +113,6 @@ export const ChainId = { [BuiltInNetworkName.OptimismMainnet]: '0xa', // toHex(10) [BuiltInNetworkName.PolygonMainnet]: '0x89', // toHex(137) [BuiltInNetworkName.SeiMainnet]: '0x531', // toHex(1329) - } as const; export type ChainId = (typeof ChainId)[keyof typeof ChainId]; @@ -132,6 +131,7 @@ export enum NetworksTicker { 'base-mainnet' = 'ETH', 'arbitrum-one' = 'ETG', 'bsc-mainnet' = 'BNB', + // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values 'optimism-mainnet' = 'ETH', 'polygon-mainnet' = 'POL', 'sei-mainnet' = 'SEI', diff --git a/packages/network-controller/tests/NetworkController.test.ts b/packages/network-controller/tests/NetworkController.test.ts index 8864f7bf8f3..a23bf280fab 100644 --- a/packages/network-controller/tests/NetworkController.test.ts +++ b/packages/network-controller/tests/NetworkController.test.ts @@ -1897,6 +1897,51 @@ describe('NetworkController', () => { mockCreateNetworkClient().mockReturnValue(buildFakeClient()); expect(controller.getNetworkClientRegistry()).toStrictEqual({ + 'arbitrum-one': { + blockTracker: expect.anything(), + configuration: { + type: NetworkClientType.Infura, + failoverRpcUrls: [], + infuraProjectId, + chainId: '0xa4b1', + ticker: 'ETG', + network: InfuraNetworkType['arbitrum-one'], + }, + provider: expect.anything(), + destroy: expect.any(Function), + enableRpcFailover: expect.any(Function), + disableRpcFailover: expect.any(Function), + }, + 'base-mainnet': { + blockTracker: expect.anything(), + configuration: { + type: NetworkClientType.Infura, + failoverRpcUrls: [], + infuraProjectId, + chainId: '0x2105', + ticker: 'ETH', + network: InfuraNetworkType['base-mainnet'], + }, + provider: expect.anything(), + destroy: expect.any(Function), + enableRpcFailover: expect.any(Function), + disableRpcFailover: expect.any(Function), + }, + 'bsc-mainnet': { + blockTracker: expect.anything(), + configuration: { + type: NetworkClientType.Infura, + failoverRpcUrls: [], + infuraProjectId, + chainId: '0x38', + ticker: 'BNB', + network: InfuraNetworkType['bsc-mainnet'], + }, + provider: expect.anything(), + destroy: expect.any(Function), + enableRpcFailover: expect.any(Function), + disableRpcFailover: expect.any(Function), + }, 'linea-mainnet': { blockTracker: expect.anything(), configuration: { @@ -1942,30 +1987,60 @@ describe('NetworkController', () => { enableRpcFailover: expect.any(Function), disableRpcFailover: expect.any(Function), }, - sepolia: { + 'optimism-mainnet': { blockTracker: expect.anything(), configuration: { type: NetworkClientType.Infura, failoverRpcUrls: [], infuraProjectId, - chainId: '0xaa36a7', - ticker: 'SepoliaETH', - network: InfuraNetworkType.sepolia, + chainId: '0xa', + ticker: 'ETH', + network: InfuraNetworkType['optimism-mainnet'], }, provider: expect.anything(), destroy: expect.any(Function), enableRpcFailover: expect.any(Function), disableRpcFailover: expect.any(Function), }, - 'base-mainnet': { + 'polygon-mainnet': { blockTracker: expect.anything(), configuration: { type: NetworkClientType.Infura, failoverRpcUrls: [], infuraProjectId, - chainId: '0x2105', - ticker: 'ETH', - network: InfuraNetworkType['base-mainnet'], + chainId: '0x89', + ticker: 'POL', + network: InfuraNetworkType['polygon-mainnet'], + }, + provider: expect.anything(), + destroy: expect.any(Function), + enableRpcFailover: expect.any(Function), + disableRpcFailover: expect.any(Function), + }, + 'sei-mainnet': { + blockTracker: expect.anything(), + configuration: { + type: NetworkClientType.Infura, + failoverRpcUrls: [], + infuraProjectId, + chainId: '0x531', + ticker: 'SEI', + network: InfuraNetworkType['sei-mainnet'], + }, + provider: expect.anything(), + destroy: expect.any(Function), + enableRpcFailover: expect.any(Function), + disableRpcFailover: expect.any(Function), + }, + sepolia: { + blockTracker: expect.anything(), + configuration: { + type: NetworkClientType.Infura, + failoverRpcUrls: [], + infuraProjectId, + chainId: '0xaa36a7', + ticker: 'SepoliaETH', + network: InfuraNetworkType.sepolia, }, provider: expect.anything(), destroy: expect.any(Function), From d4dd6a3ff021d7c99a7b4e7e621dc54bedcfd482 Mon Sep 17 00:00:00 2001 From: salimtb Date: Mon, 27 Oct 2025 23:34:28 +0100 Subject: [PATCH 06/16] fix: fix changelog --- packages/network-enablement-controller/CHANGELOG.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/network-enablement-controller/CHANGELOG.md b/packages/network-enablement-controller/CHANGELOG.md index 4eb265f4fc0..cb17902fdb8 100644 --- a/packages/network-enablement-controller/CHANGELOG.md +++ b/packages/network-enablement-controller/CHANGELOG.md @@ -7,10 +7,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -- Add support for Arbitrum, BSC, Optimism, Polygon, and Sei networks as popular networks ([#6972](https://github.com/MetaMask/core/pull/6972)) - - These networks will now be included when calling `enableAllPopularNetworks()` - - Network definitions added in `@metamask/controller-utils` - ## [3.0.0] ### Changed From 72188d821a8c2e68480cee28a504c5f0f35d3bf1 Mon Sep 17 00:00:00 2001 From: salimtb Date: Mon, 27 Oct 2025 23:36:00 +0100 Subject: [PATCH 07/16] fix: fix changelog --- packages/controller-utils/CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/controller-utils/CHANGELOG.md b/packages/controller-utils/CHANGELOG.md index fb78e16f75e..63dfee0b54b 100644 --- a/packages/controller-utils/CHANGELOG.md +++ b/packages/controller-utils/CHANGELOG.md @@ -7,7 +7,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -- Add `TransactionBatch` in approval types enum ([#6972](https://github.com/MetaMask/core/pull/6972)) - Add Arbitrum, BSC, Optimism, Polygon, and Sei networks to Infura networks ([#6972](https://github.com/MetaMask/core/pull/6972)) - Add `arbitrum-one`, `bsc-mainnet`, `optimism-mainnet`, `polygon-mainnet`, `sei-mainnet` to `BUILT_IN_NETWORKS` - Add `arbitrum-one`, `bsc-mainnet`, `optimism-mainnet`, `polygon-mainnet`, `sei-mainnet` to `InfuraNetworkType` From 25e3ef55113e1b199bd8e8a2bfdebfcb43e26d85 Mon Sep 17 00:00:00 2001 From: salimtb Date: Mon, 27 Oct 2025 23:42:56 +0100 Subject: [PATCH 08/16] fix: fix changelog --- packages/assets-controllers/CHANGELOG.md | 4 +++- packages/controller-utils/CHANGELOG.md | 4 +++- packages/network-controller/CHANGELOG.md | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/assets-controllers/CHANGELOG.md b/packages/assets-controllers/CHANGELOG.md index 4ab062adf30..67f10ee3e1c 100644 --- a/packages/assets-controllers/CHANGELOG.md +++ b/packages/assets-controllers/CHANGELOG.md @@ -7,7 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -- Added Arbitrum, BSC, Optimism, Polygon, and Sei networks for token detection support in `TokenDetectionController` ([#6972](https://github.com/MetaMask/core/pull/6972)) +### Added + +- Arbitrum, BSC, Optimism, Polygon, and Sei networks for token detection support in `TokenDetectionController` ([#6972](https://github.com/MetaMask/core/pull/6972)) - Added support for tracking tokens on Arbitrum (0xa4b1), BSC (0x38), Optimism (0xa), Polygon (0x89), and Sei (0x531) networks - Network type definitions and constants were added in `@metamask/controller-utils` diff --git a/packages/controller-utils/CHANGELOG.md b/packages/controller-utils/CHANGELOG.md index 63dfee0b54b..880f045e1a3 100644 --- a/packages/controller-utils/CHANGELOG.md +++ b/packages/controller-utils/CHANGELOG.md @@ -7,7 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -- Add Arbitrum, BSC, Optimism, Polygon, and Sei networks to Infura networks ([#6972](https://github.com/MetaMask/core/pull/6972)) +### Added + +- Arbitrum, BSC, Optimism, Polygon, and Sei networks to Infura networks ([#6972](https://github.com/MetaMask/core/pull/6972)) - Add `arbitrum-one`, `bsc-mainnet`, `optimism-mainnet`, `polygon-mainnet`, `sei-mainnet` to `BUILT_IN_NETWORKS` - Add `arbitrum-one`, `bsc-mainnet`, `optimism-mainnet`, `polygon-mainnet`, `sei-mainnet` to `InfuraNetworkType` - Add `ArbitrumOne`, `BscMainnet`, `OptimismMainnet`, `PolygonMainnet`, `SeiMainnet` to `BuiltInNetworkName` enum diff --git a/packages/network-controller/CHANGELOG.md b/packages/network-controller/CHANGELOG.md index 2131858eb92..529ad98872e 100644 --- a/packages/network-controller/CHANGELOG.md +++ b/packages/network-controller/CHANGELOG.md @@ -7,7 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -- Add Arbitrum, BSC, Optimism, Polygon, and Sei networks to default infura networks ([#6972](https://github.com/MetaMask/core/pull/6972)) +### Added + +- Arbitrum, BSC, Optimism, Polygon, and Sei networks to default infura networks ([#6972](https://github.com/MetaMask/core/pull/6972)) - Network changes were added in `@metamask/controller-utils` ## [25.0.0] From 00bf53437e69aff57158e043fd5a2b158dd80509 Mon Sep 17 00:00:00 2001 From: salimtb Date: Mon, 27 Oct 2025 23:51:53 +0100 Subject: [PATCH 09/16] fix: fix cursor comment --- packages/controller-utils/src/types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/controller-utils/src/types.ts b/packages/controller-utils/src/types.ts index 9fbcd910c17..7858ea621a2 100644 --- a/packages/controller-utils/src/types.ts +++ b/packages/controller-utils/src/types.ts @@ -129,7 +129,7 @@ export enum NetworksTicker { 'monad-testnet' = 'MON', // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values 'base-mainnet' = 'ETH', - 'arbitrum-one' = 'ETG', + 'arbitrum-one' = 'ETH', 'bsc-mainnet' = 'BNB', // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values 'optimism-mainnet' = 'ETH', From eea603cd63515718bb983073d2cf78b58db26ea4 Mon Sep 17 00:00:00 2001 From: salimtb Date: Mon, 27 Oct 2025 23:55:34 +0100 Subject: [PATCH 10/16] fix: fix test --- packages/network-controller/tests/NetworkController.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/network-controller/tests/NetworkController.test.ts b/packages/network-controller/tests/NetworkController.test.ts index a23bf280fab..0433ce906fd 100644 --- a/packages/network-controller/tests/NetworkController.test.ts +++ b/packages/network-controller/tests/NetworkController.test.ts @@ -1904,7 +1904,7 @@ describe('NetworkController', () => { failoverRpcUrls: [], infuraProjectId, chainId: '0xa4b1', - ticker: 'ETG', + ticker: 'ETH', network: InfuraNetworkType['arbitrum-one'], }, provider: expect.anything(), From f26c3c40362e979080da77970b9d22ca2cdafcb7 Mon Sep 17 00:00:00 2001 From: salimtb Date: Tue, 28 Oct 2025 12:51:09 +0100 Subject: [PATCH 11/16] fix: clean up --- packages/controller-utils/src/types.ts | 6 +++--- packages/network-controller/tests/NetworkController.test.ts | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/controller-utils/src/types.ts b/packages/controller-utils/src/types.ts index 7858ea621a2..f5efacbaebc 100644 --- a/packages/controller-utils/src/types.ts +++ b/packages/controller-utils/src/types.ts @@ -9,7 +9,7 @@ export const InfuraNetworkType = { 'linea-sepolia': 'linea-sepolia', 'linea-mainnet': 'linea-mainnet', 'base-mainnet': 'base-mainnet', - 'arbitrum-one': 'arbitrum-one', + 'arbitrum-mainnet': 'arbitrum-mainnet', 'bsc-mainnet': 'bsc-mainnet', 'optimism-mainnet': 'optimism-mainnet', 'polygon-mainnet': 'polygon-mainnet', @@ -85,7 +85,7 @@ export enum BuiltInNetworkName { MegaETHTestnet = 'megaeth-testnet', MonadTestnet = 'monad-testnet', BaseMainnet = 'base-mainnet', - ArbitrumOne = 'arbitrum-one', + ArbitrumOne = 'arbitrum-mainnet', BscMainnet = 'bsc-mainnet', OptimismMainnet = 'optimism-mainnet', PolygonMainnet = 'polygon-mainnet', @@ -129,7 +129,7 @@ export enum NetworksTicker { 'monad-testnet' = 'MON', // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values 'base-mainnet' = 'ETH', - 'arbitrum-one' = 'ETH', + 'arbitrum-mainnet' = 'ETH', 'bsc-mainnet' = 'BNB', // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values 'optimism-mainnet' = 'ETH', diff --git a/packages/network-controller/tests/NetworkController.test.ts b/packages/network-controller/tests/NetworkController.test.ts index 0433ce906fd..6e821ead974 100644 --- a/packages/network-controller/tests/NetworkController.test.ts +++ b/packages/network-controller/tests/NetworkController.test.ts @@ -1897,7 +1897,7 @@ describe('NetworkController', () => { mockCreateNetworkClient().mockReturnValue(buildFakeClient()); expect(controller.getNetworkClientRegistry()).toStrictEqual({ - 'arbitrum-one': { + 'arbitrum-mainnet': { blockTracker: expect.anything(), configuration: { type: NetworkClientType.Infura, @@ -1905,7 +1905,7 @@ describe('NetworkController', () => { infuraProjectId, chainId: '0xa4b1', ticker: 'ETH', - network: InfuraNetworkType['arbitrum-one'], + network: InfuraNetworkType['arbitrum-mainnet'], }, provider: expect.anything(), destroy: expect.any(Function), From ff8f1519f3b8e772ac88510ef808b0b793965855 Mon Sep 17 00:00:00 2001 From: salimtb Date: Tue, 28 Oct 2025 13:14:50 +0100 Subject: [PATCH 12/16] fix: clean up --- packages/controller-utils/src/constants.ts | 8 ++++---- .../tests/NetworkController.test.ts | 20 +++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/packages/controller-utils/src/constants.ts b/packages/controller-utils/src/constants.ts index 62b97feaf7f..a7a2b5e80bc 100644 --- a/packages/controller-utils/src/constants.ts +++ b/packages/controller-utils/src/constants.ts @@ -131,11 +131,11 @@ export const BUILT_IN_NETWORKS = { blockExplorerUrl: BlockExplorerUrl['base-mainnet'], }, }, - [NetworkType['arbitrum-one']]: { - chainId: ChainId['arbitrum-one'], - ticker: NetworksTicker['arbitrum-one'], + [NetworkType['arbitrum-mainnet']]: { + chainId: ChainId['arbitrum-mainnet'], + ticker: NetworksTicker['arbitrum-mainnet'], rpcPrefs: { - blockExplorerUrl: BlockExplorerUrl['arbitrum-one'], + blockExplorerUrl: BlockExplorerUrl['arbitrum-mainnet'], }, }, [NetworkType['bsc-mainnet']]: { diff --git a/packages/network-controller/tests/NetworkController.test.ts b/packages/network-controller/tests/NetworkController.test.ts index 6e821ead974..7bf1149ffb7 100644 --- a/packages/network-controller/tests/NetworkController.test.ts +++ b/packages/network-controller/tests/NetworkController.test.ts @@ -555,13 +555,13 @@ describe('NetworkController', () => { "chainId": "0xa4b1", "defaultRpcEndpointIndex": 0, "name": "Arbitrum One", - "nativeCurrency": "ETG", + "nativeCurrency": "ETH", "rpcEndpoints": Array [ Object { "failoverUrls": Array [], "networkClientId": "arbitrum-one", "type": "infura", - "url": "https://arbitrum-one.infura.io/v3/{infuraProjectId}", + "url": "https://arbitrum-mainnet.infura.io/v3/{infuraProjectId}", }, ], }, @@ -742,13 +742,13 @@ describe('NetworkController', () => { "chainId": "0xa4b1", "defaultRpcEndpointIndex": 0, "name": "Arbitrum One", - "nativeCurrency": "ETG", + "nativeCurrency": "ETH", "rpcEndpoints": Array [ Object { "failoverUrls": Array [], "networkClientId": "arbitrum-one", "type": "infura", - "url": "https://arbitrum-one.infura.io/v3/{infuraProjectId}", + "url": "https://arbitrum-mainnet.infura.io/v3/{infuraProjectId}", }, ], }, @@ -14844,13 +14844,13 @@ describe('NetworkController', () => { "chainId": "0xa4b1", "defaultRpcEndpointIndex": 0, "name": "Arbitrum One", - "nativeCurrency": "ETG", + "nativeCurrency": "ETH", "rpcEndpoints": Array [ Object { "failoverUrls": Array [], "networkClientId": "arbitrum-one", "type": "infura", - "url": "https://arbitrum-one.infura.io/v3/{infuraProjectId}", + "url": "https://arbitrum-mainnet.infura.io/v3/{infuraProjectId}", }, ], }, @@ -15013,13 +15013,13 @@ describe('NetworkController', () => { "chainId": "0xa4b1", "defaultRpcEndpointIndex": 0, "name": "Arbitrum One", - "nativeCurrency": "ETG", + "nativeCurrency": "ETH", "rpcEndpoints": Array [ Object { "failoverUrls": Array [], "networkClientId": "arbitrum-one", "type": "infura", - "url": "https://arbitrum-one.infura.io/v3/{infuraProjectId}", + "url": "https://arbitrum-mainnet.infura.io/v3/{infuraProjectId}", }, ], }, @@ -15182,13 +15182,13 @@ describe('NetworkController', () => { "chainId": "0xa4b1", "defaultRpcEndpointIndex": 0, "name": "Arbitrum One", - "nativeCurrency": "ETG", + "nativeCurrency": "ETH", "rpcEndpoints": Array [ Object { "failoverUrls": Array [], "networkClientId": "arbitrum-one", "type": "infura", - "url": "https://arbitrum-one.infura.io/v3/{infuraProjectId}", + "url": "https://arbitrum-mainnet.infura.io/v3/{infuraProjectId}", }, ], }, From 4e8cdc72e349f93d4f4222e82e4a7897ae2e9cc4 Mon Sep 17 00:00:00 2001 From: salimtb Date: Wed, 29 Oct 2025 10:16:37 +0100 Subject: [PATCH 13/16] fix: fix linter --- packages/controller-utils/src/types.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/controller-utils/src/types.ts b/packages/controller-utils/src/types.ts index f5efacbaebc..bb7c2e3d1bf 100644 --- a/packages/controller-utils/src/types.ts +++ b/packages/controller-utils/src/types.ts @@ -129,6 +129,7 @@ export enum NetworksTicker { 'monad-testnet' = 'MON', // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values 'base-mainnet' = 'ETH', + // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values 'arbitrum-mainnet' = 'ETH', 'bsc-mainnet' = 'BNB', // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values From 6dc62438b36d802e30b0a3d539bac3df0106495e Mon Sep 17 00:00:00 2001 From: salimtb Date: Wed, 29 Oct 2025 10:25:25 +0100 Subject: [PATCH 14/16] fix: fix tests --- .../network-controller/tests/NetworkController.test.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/network-controller/tests/NetworkController.test.ts b/packages/network-controller/tests/NetworkController.test.ts index 7bf1149ffb7..1da2cffcbce 100644 --- a/packages/network-controller/tests/NetworkController.test.ts +++ b/packages/network-controller/tests/NetworkController.test.ts @@ -559,7 +559,7 @@ describe('NetworkController', () => { "rpcEndpoints": Array [ Object { "failoverUrls": Array [], - "networkClientId": "arbitrum-one", + "networkClientId": "arbitrum-mainnet", "type": "infura", "url": "https://arbitrum-mainnet.infura.io/v3/{infuraProjectId}", }, @@ -746,7 +746,7 @@ describe('NetworkController', () => { "rpcEndpoints": Array [ Object { "failoverUrls": Array [], - "networkClientId": "arbitrum-one", + "networkClientId": "arbitrum-mainnet", "type": "infura", "url": "https://arbitrum-mainnet.infura.io/v3/{infuraProjectId}", }, @@ -14848,7 +14848,7 @@ describe('NetworkController', () => { "rpcEndpoints": Array [ Object { "failoverUrls": Array [], - "networkClientId": "arbitrum-one", + "networkClientId": "arbitrum-mainnet", "type": "infura", "url": "https://arbitrum-mainnet.infura.io/v3/{infuraProjectId}", }, @@ -15017,7 +15017,7 @@ describe('NetworkController', () => { "rpcEndpoints": Array [ Object { "failoverUrls": Array [], - "networkClientId": "arbitrum-one", + "networkClientId": "arbitrum-mainnet", "type": "infura", "url": "https://arbitrum-mainnet.infura.io/v3/{infuraProjectId}", }, @@ -15186,7 +15186,7 @@ describe('NetworkController', () => { "rpcEndpoints": Array [ Object { "failoverUrls": Array [], - "networkClientId": "arbitrum-one", + "networkClientId": "arbitrum-mainnet", "type": "infura", "url": "https://arbitrum-mainnet.infura.io/v3/{infuraProjectId}", }, From 624a9ca250f7cd4840d5ba7439b34891b4ee0af5 Mon Sep 17 00:00:00 2001 From: salimtb Date: Wed, 29 Oct 2025 10:48:04 +0100 Subject: [PATCH 15/16] fix: fix PR comments --- packages/assets-controllers/CHANGELOG.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/packages/assets-controllers/CHANGELOG.md b/packages/assets-controllers/CHANGELOG.md index fa20c56c4fe..f66623a6f08 100644 --- a/packages/assets-controllers/CHANGELOG.md +++ b/packages/assets-controllers/CHANGELOG.md @@ -9,12 +9,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added -- Arbitrum, BSC, Optimism, Polygon, and Sei networks for token detection support in `TokenDetectionController` ([#6972](https://github.com/MetaMask/core/pull/6972)) - - - Added support for tracking tokens on Arbitrum (0xa4b1), BSC (0x38), Optimism (0xa), Polygon (0x89), and Sei (0x531) networks - - - Network type definitions and constants were added in `@metamask/controller-utils` - - **BREAKING:** Added constructor argument `tokenPricesService` in `currencyRateController` ([#6863](https://github.com/MetaMask/core/pull/6863)) - Added `fetchExchangeRates` function to fetch exchange rates from price-api ([#6863](https://github.com/MetaMask/core/pull/6863)) From e0bbdc74dc1bf135f36626ac6cec31e41294b922 Mon Sep 17 00:00:00 2001 From: salimtb Date: Wed, 29 Oct 2025 10:53:47 +0100 Subject: [PATCH 16/16] fix: clean changelog --- packages/network-controller/CHANGELOG.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/packages/network-controller/CHANGELOG.md b/packages/network-controller/CHANGELOG.md index 529ad98872e..3409f0011c2 100644 --- a/packages/network-controller/CHANGELOG.md +++ b/packages/network-controller/CHANGELOG.md @@ -7,11 +7,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -### Added - -- Arbitrum, BSC, Optimism, Polygon, and Sei networks to default infura networks ([#6972](https://github.com/MetaMask/core/pull/6972)) - - Network changes were added in `@metamask/controller-utils` - ## [25.0.0] ### Changed