diff --git a/packages/assets-controllers/CHANGELOG.md b/packages/assets-controllers/CHANGELOG.md index c26f47a307..8b5b1debc7 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 509057f10d..82d8f9d570 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'; @@ -273,6 +274,20 @@ describe('assetsUtil', () => { ).toBe(true); }); + it('returns true for DeFi Oracle Meta Mainnet (138)', () => { + expect( + assetsUtil.isTokenDetectionSupportedForNetwork( + assetsUtil.SupportedTokenDetectionNetworks.DefiOracleMeta, + ), + ).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, diff --git a/packages/assets-controllers/src/assetsUtil.ts b/packages/assets-controllers/src/assetsUtil.ts index 947968c07e..e35ce92553 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 d1cbbbdb03..b356dfe730 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. */