From e72b6c6818e27032ca6712c3c30b12056a241102 Mon Sep 17 00:00:00 2001 From: defiQUG Date: Sat, 27 Jun 2026 17:53:14 -0700 Subject: [PATCH 1/2] feat(assets-controllers): enable token detection for DeFi Oracle Meta (138) Add chain 0x8a to SupportedTokenDetectionNetworks and SUPPORTED_NETWORKS_ACCOUNTS_API_V4 so MetaMask extension and mobile can autodetect tokens on DeFi Oracle Meta Mainnet. Mirrors recent ARC and HyperEVM network additions. Co-authored-by: Cursor --- packages/assets-controllers/src/assetsUtil.test.ts | 8 ++++++++ packages/assets-controllers/src/assetsUtil.ts | 1 + packages/assets-controllers/src/constants.ts | 1 + 3 files changed, 10 insertions(+) diff --git a/packages/assets-controllers/src/assetsUtil.test.ts b/packages/assets-controllers/src/assetsUtil.test.ts index 509057f10d9..710db37fd7d 100644 --- a/packages/assets-controllers/src/assetsUtil.test.ts +++ b/packages/assets-controllers/src/assetsUtil.test.ts @@ -273,6 +273,14 @@ describe('assetsUtil', () => { ).toBe(true); }); + it('returns true for DeFi Oracle Meta Mainnet (138)', () => { + expect( + assetsUtil.isTokenDetectionSupportedForNetwork( + assetsUtil.SupportedTokenDetectionNetworks.DefiOracleMeta, + ), + ).toBe(true); + }); + it('returns false for testnets such as Goerli', () => { expect(assetsUtil.isTokenDetectionSupportedForNetwork(toHex(5))).toBe( false, diff --git a/packages/assets-controllers/src/assetsUtil.ts b/packages/assets-controllers/src/assetsUtil.ts index 947968c07e0..e35ce92553b 100644 --- a/packages/assets-controllers/src/assetsUtil.ts +++ b/packages/assets-controllers/src/assetsUtil.ts @@ -165,6 +165,7 @@ export enum SupportedTokenDetectionNetworks { Hyperevm = '0x3e7', // decimal: 999 Arc = '0x13b2', // decimal: 5042 Robinhood = '0x1237', // decimal: 4663 + DefiOracleMeta = '0x8a', // decimal: 138 — DeFi Oracle Meta Mainnet } /** diff --git a/packages/assets-controllers/src/constants.ts b/packages/assets-controllers/src/constants.ts index d1cbbbdb03f..b356dfe7303 100644 --- a/packages/assets-controllers/src/constants.ts +++ b/packages/assets-controllers/src/constants.ts @@ -22,6 +22,7 @@ export const SUPPORTED_NETWORKS_ACCOUNTS_API_V4 = [ '0x3e7', // 999 HyperEVM '0x13b2', // 5042 Arc '0x1237', // 4663 Robinhood + '0x8a', // 138 DeFi Oracle Meta Mainnet ]; /** Lowercase ERC-20 address for MetaMask USD (mUSD), same contract on listed chains. */ From d43c27946bd103b08ad9cbb4d2aadeef9ef693a9 Mon Sep 17 00:00:00 2001 From: defiQUG Date: Mon, 6 Jul 2026 01:50:37 -0700 Subject: [PATCH 2/2] test(assets-controllers): cover chain 138 token detection allowlists --- packages/assets-controllers/CHANGELOG.md | 4 ++++ packages/assets-controllers/src/assetsUtil.test.ts | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/packages/assets-controllers/CHANGELOG.md b/packages/assets-controllers/CHANGELOG.md index c26f47a3074..8b5b1debc7e 100644 --- a/packages/assets-controllers/CHANGELOG.md +++ b/packages/assets-controllers/CHANGELOG.md @@ -66,6 +66,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [109.3.1] +### Added + +- Add DeFi Oracle Meta Mainnet (`138`/`0x8a`) to token autodetection allowlists for `SupportedTokenDetectionNetworks` and `SUPPORTED_NETWORKS_ACCOUNTS_API_V4` ([#9297](https://github.com/MetaMask/core/pull/9297)) + ### Changed - Bump `@metamask/messenger` from `^1.2.0` to `^2.0.0` ([#9392](https://github.com/MetaMask/core/pull/9392)) diff --git a/packages/assets-controllers/src/assetsUtil.test.ts b/packages/assets-controllers/src/assetsUtil.test.ts index 710db37fd7d..82d8f9d570b 100644 --- a/packages/assets-controllers/src/assetsUtil.test.ts +++ b/packages/assets-controllers/src/assetsUtil.test.ts @@ -10,6 +10,7 @@ import type { Hex } from '@metamask/utils'; import * as assetsUtil from './assetsUtil.js'; import { TOKEN_PRICES_BATCH_SIZE } from './assetsUtil.js'; +import { SUPPORTED_NETWORKS_ACCOUNTS_API_V4 } from './constants.js'; import type { Nft, NftMetadata } from './NftController.js'; import { EvmAssetWithMarketData } from './token-prices-service/abstract-token-prices-service.js'; import { getNativeTokenAddress } from './token-prices-service/index.js'; @@ -281,6 +282,12 @@ describe('assetsUtil', () => { ).toBe(true); }); + it('includes DeFi Oracle Meta Mainnet in the Accounts API v4 allowlist', () => { + expect(SUPPORTED_NETWORKS_ACCOUNTS_API_V4).toContain( + assetsUtil.SupportedTokenDetectionNetworks.DefiOracleMeta, + ); + }); + it('returns false for testnets such as Goerli', () => { expect(assetsUtil.isTokenDetectionSupportedForNetwork(toHex(5))).toBe( false,