@metamask-previews/assets-controller 6.0.0-preview-a45abf1e1 → 6.0.0-preview-92fa59a42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/CHANGELOG.md +0 -2
  2. package/dist/AssetsController.cjs +16 -67
  3. package/dist/AssetsController.cjs.map +1 -1
  4. package/dist/AssetsController.d.cts.map +1 -1
  5. package/dist/AssetsController.d.mts.map +1 -1
  6. package/dist/AssetsController.mjs +16 -67
  7. package/dist/AssetsController.mjs.map +1 -1
  8. package/dist/data-sources/BackendWebsocketDataSource.cjs +3 -5
  9. package/dist/data-sources/BackendWebsocketDataSource.cjs.map +1 -1
  10. package/dist/data-sources/BackendWebsocketDataSource.d.cts +1 -3
  11. package/dist/data-sources/BackendWebsocketDataSource.d.cts.map +1 -1
  12. package/dist/data-sources/BackendWebsocketDataSource.d.mts +1 -3
  13. package/dist/data-sources/BackendWebsocketDataSource.d.mts.map +1 -1
  14. package/dist/data-sources/BackendWebsocketDataSource.mjs +3 -5
  15. package/dist/data-sources/BackendWebsocketDataSource.mjs.map +1 -1
  16. package/dist/data-sources/RpcDataSource.cjs +6 -17
  17. package/dist/data-sources/RpcDataSource.cjs.map +1 -1
  18. package/dist/data-sources/RpcDataSource.d.cts +3 -4
  19. package/dist/data-sources/RpcDataSource.d.cts.map +1 -1
  20. package/dist/data-sources/RpcDataSource.d.mts +3 -4
  21. package/dist/data-sources/RpcDataSource.d.mts.map +1 -1
  22. package/dist/data-sources/RpcDataSource.mjs +6 -17
  23. package/dist/data-sources/RpcDataSource.mjs.map +1 -1
  24. package/dist/data-sources/TokenDataSource.cjs +9 -13
  25. package/dist/data-sources/TokenDataSource.cjs.map +1 -1
  26. package/dist/data-sources/TokenDataSource.d.cts.map +1 -1
  27. package/dist/data-sources/TokenDataSource.d.mts.map +1 -1
  28. package/dist/data-sources/TokenDataSource.mjs +9 -13
  29. package/dist/data-sources/TokenDataSource.mjs.map +1 -1
  30. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.cjs +6 -8
  31. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.cjs.map +1 -1
  32. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.cts +2 -4
  33. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.cts.map +1 -1
  34. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.mts +2 -4
  35. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.mts.map +1 -1
  36. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.mjs +6 -8
  37. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.mjs.map +1 -1
  38. package/dist/utils/formatExchangeRatesForBridge.cjs +8 -10
  39. package/dist/utils/formatExchangeRatesForBridge.cjs.map +1 -1
  40. package/dist/utils/formatExchangeRatesForBridge.d.cts +3 -5
  41. package/dist/utils/formatExchangeRatesForBridge.d.cts.map +1 -1
  42. package/dist/utils/formatExchangeRatesForBridge.d.mts +3 -5
  43. package/dist/utils/formatExchangeRatesForBridge.d.mts.map +1 -1
  44. package/dist/utils/formatExchangeRatesForBridge.mjs +9 -11
  45. package/dist/utils/formatExchangeRatesForBridge.mjs.map +1 -1
  46. package/dist/utils/formatStateForTransactionPay.cjs +6 -8
  47. package/dist/utils/formatStateForTransactionPay.cjs.map +1 -1
  48. package/dist/utils/formatStateForTransactionPay.d.cts +2 -2
  49. package/dist/utils/formatStateForTransactionPay.d.cts.map +1 -1
  50. package/dist/utils/formatStateForTransactionPay.d.mts +2 -2
  51. package/dist/utils/formatStateForTransactionPay.d.mts.map +1 -1
  52. package/dist/utils/formatStateForTransactionPay.mjs +6 -8
  53. package/dist/utils/formatStateForTransactionPay.mjs.map +1 -1
  54. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -25,8 +25,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
25
25
 
26
26
  ### Fixed
27
27
 
28
- - Native asset detection now correctly identifies native assets across all CAIP-19 representations, not just `slip44:` namespace checks ([#8483](https://github.com/MetaMask/core/pull/8483))
29
- - Previously, native assets represented as ERC-20 tokens were not recognized as native, causing incorrect token type classification.
30
28
  - Exempt mUSD token from EVM ERC-20 minimum-occurrence spam filter so it is no longer incorrectly hidden ([#8541](https://github.com/MetaMask/core/pull/8541))
31
29
 
32
30
  ## [6.0.0]
@@ -13,10 +13,9 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
13
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
15
  };
16
- var _AssetsController_instances, _AssetsController_isEnabled, _AssetsController_isBasicFunctionality, _AssetsController_defaultUpdateInterval, _AssetsController_trace, _AssetsController_firstInitFetchReported, _AssetsController_stateSizeReported, _AssetsController_emitTrace, _AssetsController_emitStateSizeTrace, _AssetsController_uiOpen, _AssetsController_keyringUnlocked, _AssetsController_controllerMutex, _AssetsController_activeSubscriptions, _AssetsController_enabledChains, _AssetsController_lastKnownAccountIds, _AssetsController_getSelectedAccounts, _AssetsController_backendWebsocketDataSource, _AssetsController_accountsApiDataSource, _AssetsController_snapDataSource, _AssetsController_rpcDataSource, _AssetsController_stakedBalanceDataSource, _AssetsController_allBalanceDataSources_get, _AssetsController_priceDataSource, _AssetsController_detectionMiddleware, _AssetsController_tokenDataSource, _AssetsController_unsubscribeBasicFunctionality, _AssetsController_queryApiClient, _AssetsController_onActiveChainsUpdated, _AssetsController_initializeNativeAssetsMap, _AssetsController_initializeState, _AssetsController_extractEnabledChains, _AssetsController_normalizeChainReference, _AssetsController_subscribeToEvents, _AssetsController_onUnapprovedTransactionAdded, _AssetsController_updateActive, _AssetsController_handleAccountTreeStateChange, _AssetsController_registerActionHandlers, _AssetsController_handleActiveChainsUpdate, _AssetsController_executeMiddlewares, _AssetsController_getNativeAssetMap, _AssetsController_isNativeAsset, _AssetsController_resolveNativeAssetIds, _AssetsController_getNativeAssetIdsForEnabledChains, _AssetsController_getNativeAssetIdsForAccount, _AssetsController_ensureNativeBalancesDefaultZero, _AssetsController_updateState, _AssetsController_getAssetsFromState, _AssetsController_shouldHideNativeToken, _AssetsController_tokenStandardToAssetType, _AssetsController_start, _AssetsController_stop, _AssetsController_subscribeAssets, _AssetsController_subscribeAssetsBalance, _AssetsController_subscribeStakedBalance, _AssetsController_buildChainToAccountsMap, _AssetsController_subscribeDataSource, _AssetsController_unsubscribeDataSource, _AssetsController_buildDataRequest, _AssetsController_getEnabledChainsForAccount, _AssetsController_handleAccountGroupChanged, _AssetsController_handleEnabledNetworksChanged;
16
+ var _AssetsController_instances, _AssetsController_isEnabled, _AssetsController_isBasicFunctionality, _AssetsController_defaultUpdateInterval, _AssetsController_trace, _AssetsController_firstInitFetchReported, _AssetsController_stateSizeReported, _AssetsController_emitTrace, _AssetsController_emitStateSizeTrace, _AssetsController_uiOpen, _AssetsController_keyringUnlocked, _AssetsController_controllerMutex, _AssetsController_activeSubscriptions, _AssetsController_enabledChains, _AssetsController_lastKnownAccountIds, _AssetsController_getSelectedAccounts, _AssetsController_backendWebsocketDataSource, _AssetsController_accountsApiDataSource, _AssetsController_snapDataSource, _AssetsController_rpcDataSource, _AssetsController_stakedBalanceDataSource, _AssetsController_allBalanceDataSources_get, _AssetsController_priceDataSource, _AssetsController_detectionMiddleware, _AssetsController_tokenDataSource, _AssetsController_unsubscribeBasicFunctionality, _AssetsController_onActiveChainsUpdated, _AssetsController_initializeState, _AssetsController_extractEnabledChains, _AssetsController_normalizeChainReference, _AssetsController_subscribeToEvents, _AssetsController_onUnapprovedTransactionAdded, _AssetsController_updateActive, _AssetsController_handleAccountTreeStateChange, _AssetsController_registerActionHandlers, _AssetsController_handleActiveChainsUpdate, _AssetsController_executeMiddlewares, _AssetsController_resolveNativeAssetIds, _AssetsController_getNativeAssetIdsForEnabledChains, _AssetsController_getNativeAssetIdsForAccount, _AssetsController_ensureNativeBalancesDefaultZero, _AssetsController_updateState, _AssetsController_getAssetsFromState, _AssetsController_shouldHideNativeToken, _AssetsController_tokenStandardToAssetType, _AssetsController_start, _AssetsController_stop, _AssetsController_subscribeAssets, _AssetsController_subscribeAssetsBalance, _AssetsController_subscribeStakedBalance, _AssetsController_buildChainToAccountsMap, _AssetsController_subscribeDataSource, _AssetsController_unsubscribeDataSource, _AssetsController_buildDataRequest, _AssetsController_getEnabledChainsForAccount, _AssetsController_handleAccountGroupChanged, _AssetsController_handleEnabledNetworksChanged;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.AssetsController = exports.getDefaultAssetsControllerState = void 0;
19
- const assets_controllers_1 = require("@metamask/assets-controllers");
20
19
  const base_controller_1 = require("@metamask/base-controller");
21
20
  const client_controller_1 = require("@metamask/client-controller");
22
21
  const controller_utils_1 = require("@metamask/controller-utils");
@@ -35,8 +34,6 @@ const logger_1 = require("./logger.cjs");
35
34
  const DetectionMiddleware_1 = require("./middlewares/DetectionMiddleware.cjs");
36
35
  const ParallelMiddleware_1 = require("./middlewares/ParallelMiddleware.cjs");
37
36
  const utils_2 = require("./utils/index.cjs");
38
- const constants_1 = require("./utils/constants.cjs");
39
- const NATIVE_ASSETS_QUERY_KEY = ['nativeAssets'];
40
37
  // ============================================================================
41
38
  // CONTROLLER CONSTANTS
42
39
  // ============================================================================
@@ -265,15 +262,12 @@ class AssetsController extends base_controller_1.BaseController {
265
262
  _AssetsController_detectionMiddleware.set(this, void 0);
266
263
  _AssetsController_tokenDataSource.set(this, void 0);
267
264
  _AssetsController_unsubscribeBasicFunctionality.set(this, null);
268
- _AssetsController_queryApiClient.set(this, void 0);
269
265
  _AssetsController_onActiveChainsUpdated.set(this, void 0);
270
266
  __classPrivateFieldSet(this, _AssetsController_isEnabled, isEnabled(), "f");
271
267
  __classPrivateFieldSet(this, _AssetsController_isBasicFunctionality, isBasicFunctionality ?? (() => true), "f");
272
268
  __classPrivateFieldSet(this, _AssetsController_defaultUpdateInterval, defaultUpdateInterval, "f");
273
269
  __classPrivateFieldSet(this, _AssetsController_trace, trace, "f");
274
- __classPrivateFieldSet(this, _AssetsController_queryApiClient, queryApiClient, "f");
275
270
  const rpcConfig = rpcDataSourceConfig ?? {};
276
- __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_initializeNativeAssetsMap).call(this, queryApiClient);
277
271
  __classPrivateFieldSet(this, _AssetsController_onActiveChainsUpdated, (dataSourceName, chains, previousChains) => {
278
272
  try {
279
273
  __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_handleActiveChainsUpdate).call(this, dataSourceName, chains, previousChains);
@@ -289,7 +283,6 @@ class AssetsController extends base_controller_1.BaseController {
289
283
  messenger: this.messenger,
290
284
  queryApiClient,
291
285
  onActiveChainsUpdated: __classPrivateFieldGet(this, _AssetsController_onActiveChainsUpdated, "f"),
292
- isNativeAsset: (assetId) => __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_isNativeAsset).call(this, assetId),
293
286
  }), "f");
294
287
  __classPrivateFieldSet(this, _AssetsController_accountsApiDataSource, new AccountsApiDataSource_1.AccountsApiDataSource({
295
288
  queryApiClient,
@@ -303,7 +296,6 @@ class AssetsController extends base_controller_1.BaseController {
303
296
  __classPrivateFieldSet(this, _AssetsController_rpcDataSource, new RpcDataSource_1.RpcDataSource({
304
297
  messenger: this.messenger,
305
298
  onActiveChainsUpdated: __classPrivateFieldGet(this, _AssetsController_onActiveChainsUpdated, "f"),
306
- getNativeAssetForChain: (chainId) => __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getNativeAssetMap).call(this)[chainId],
307
299
  ...rpcConfig,
308
300
  isOnboarded: rpcConfig.isOnboarded ?? isOnboarded,
309
301
  }), "f");
@@ -315,7 +307,8 @@ class AssetsController extends base_controller_1.BaseController {
315
307
  __classPrivateFieldSet(this, _AssetsController_tokenDataSource, new TokenDataSource_1.TokenDataSource(this.messenger, {
316
308
  queryApiClient,
317
309
  getNativeAssetIds: () => {
318
- return __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getNativeAssetIdsForEnabledChains).call(this);
310
+ const { nativeAssetIdentifiers } = this.messenger.call('NetworkEnablementController:getState');
311
+ return Object.values(nativeAssetIdentifiers);
319
312
  },
320
313
  }), "f");
321
314
  __classPrivateFieldSet(this, _AssetsController_priceDataSource, new PriceDataSource_1.PriceDataSource({
@@ -503,12 +496,12 @@ class AssetsController extends base_controller_1.BaseController {
503
496
  * @returns Bridge-compatible exchange rate state derived from assetsPrice and selectedCurrency.
504
497
  */
505
498
  getExchangeRatesForBridge() {
499
+ const { nativeAssetIdentifiers } = this.messenger.call('NetworkEnablementController:getState');
506
500
  const { networkConfigurationsByChainId } = this.messenger.call('NetworkController:getState');
507
501
  return (0, utils_2.formatExchangeRatesForBridge)({
508
- assetsInfo: this.state.assetsInfo,
509
502
  assetsPrice: this.state.assetsPrice,
510
503
  selectedCurrency: this.state.selectedCurrency,
511
- nativeAssetIdentifiers: __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getNativeAssetMap).call(this),
504
+ nativeAssetIdentifiers,
512
505
  networkConfigurationsByChainId,
513
506
  });
514
507
  }
@@ -523,6 +516,7 @@ class AssetsController extends base_controller_1.BaseController {
523
516
  */
524
517
  getStateForTransactionPay() {
525
518
  const accounts = __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getSelectedAccounts).call(this);
519
+ const { nativeAssetIdentifiers } = this.messenger.call('NetworkEnablementController:getState');
526
520
  const { networkConfigurationsByChainId } = this.messenger.call('NetworkController:getState');
527
521
  return (0, utils_2.formatStateForTransactionPay)({
528
522
  assetsBalance: this.state.assetsBalance,
@@ -530,7 +524,7 @@ class AssetsController extends base_controller_1.BaseController {
530
524
  assetsPrice: this.state.assetsPrice,
531
525
  selectedCurrency: this.state.selectedCurrency,
532
526
  accounts: accounts.map((a) => ({ id: a.id, address: a.address })),
533
- nativeAssetIdentifiers: __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getNativeAssetMap).call(this),
527
+ nativeAssetIdentifiers,
534
528
  networkConfigurationsByChainId,
535
529
  });
536
530
  }
@@ -574,7 +568,7 @@ class AssetsController extends base_controller_1.BaseController {
574
568
  if (pendingMetadata) {
575
569
  const parsed = (0, utils_1.parseCaipAssetType)(normalizedAssetId);
576
570
  let tokenType = 'erc20';
577
- if (__classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_isNativeAsset).call(this, normalizedAssetId)) {
571
+ if (parsed.assetNamespace === 'slip44') {
578
572
  tokenType = 'native';
579
573
  }
580
574
  else if (parsed.assetNamespace === 'spl') {
@@ -850,7 +844,7 @@ class AssetsController extends base_controller_1.BaseController {
850
844
  }
851
845
  }
852
846
  exports.AssetsController = AssetsController;
853
- _AssetsController_isEnabled = new WeakMap(), _AssetsController_isBasicFunctionality = new WeakMap(), _AssetsController_defaultUpdateInterval = new WeakMap(), _AssetsController_trace = new WeakMap(), _AssetsController_firstInitFetchReported = new WeakMap(), _AssetsController_stateSizeReported = new WeakMap(), _AssetsController_uiOpen = new WeakMap(), _AssetsController_keyringUnlocked = new WeakMap(), _AssetsController_controllerMutex = new WeakMap(), _AssetsController_activeSubscriptions = new WeakMap(), _AssetsController_enabledChains = new WeakMap(), _AssetsController_lastKnownAccountIds = new WeakMap(), _AssetsController_backendWebsocketDataSource = new WeakMap(), _AssetsController_accountsApiDataSource = new WeakMap(), _AssetsController_snapDataSource = new WeakMap(), _AssetsController_rpcDataSource = new WeakMap(), _AssetsController_stakedBalanceDataSource = new WeakMap(), _AssetsController_priceDataSource = new WeakMap(), _AssetsController_detectionMiddleware = new WeakMap(), _AssetsController_tokenDataSource = new WeakMap(), _AssetsController_unsubscribeBasicFunctionality = new WeakMap(), _AssetsController_queryApiClient = new WeakMap(), _AssetsController_onActiveChainsUpdated = new WeakMap(), _AssetsController_instances = new WeakSet(), _AssetsController_emitTrace = function _AssetsController_emitTrace(name, data, tags = {
847
+ _AssetsController_isEnabled = new WeakMap(), _AssetsController_isBasicFunctionality = new WeakMap(), _AssetsController_defaultUpdateInterval = new WeakMap(), _AssetsController_trace = new WeakMap(), _AssetsController_firstInitFetchReported = new WeakMap(), _AssetsController_stateSizeReported = new WeakMap(), _AssetsController_uiOpen = new WeakMap(), _AssetsController_keyringUnlocked = new WeakMap(), _AssetsController_controllerMutex = new WeakMap(), _AssetsController_activeSubscriptions = new WeakMap(), _AssetsController_enabledChains = new WeakMap(), _AssetsController_lastKnownAccountIds = new WeakMap(), _AssetsController_backendWebsocketDataSource = new WeakMap(), _AssetsController_accountsApiDataSource = new WeakMap(), _AssetsController_snapDataSource = new WeakMap(), _AssetsController_rpcDataSource = new WeakMap(), _AssetsController_stakedBalanceDataSource = new WeakMap(), _AssetsController_priceDataSource = new WeakMap(), _AssetsController_detectionMiddleware = new WeakMap(), _AssetsController_tokenDataSource = new WeakMap(), _AssetsController_unsubscribeBasicFunctionality = new WeakMap(), _AssetsController_onActiveChainsUpdated = new WeakMap(), _AssetsController_instances = new WeakSet(), _AssetsController_emitTrace = function _AssetsController_emitTrace(name, data, tags = {
854
848
  controller: 'AssetsController',
855
849
  }) {
856
850
  if (!__classPrivateFieldGet(this, _AssetsController_trace, "f")) {
@@ -913,36 +907,6 @@ _AssetsController_isEnabled = new WeakMap(), _AssetsController_isBasicFunctional
913
907
  __classPrivateFieldGet(this, _AssetsController_snapDataSource, "f"),
914
908
  __classPrivateFieldGet(this, _AssetsController_rpcDataSource, "f"),
915
909
  ];
916
- }, _AssetsController_initializeNativeAssetsMap = function _AssetsController_initializeNativeAssetsMap(queryApiClient) {
917
- const buildNativeAssetsFromConstant = () => {
918
- const nativeAssetsMap = {};
919
- for (const nativeAssetId of Object.values(assets_controllers_1.SPOT_PRICES_SUPPORT_INFO)) {
920
- const { chainId } = (0, utils_1.parseCaipAssetType)(nativeAssetId);
921
- nativeAssetsMap[chainId] = nativeAssetId;
922
- }
923
- return nativeAssetsMap;
924
- };
925
- queryApiClient.queryClient
926
- .fetchQuery({
927
- queryKey: NATIVE_ASSETS_QUERY_KEY,
928
- queryFn: async () => {
929
- // TODO: Build from backend API when it is available.
930
- return buildNativeAssetsFromConstant();
931
- },
932
- staleTime: Infinity,
933
- gcTime: Infinity,
934
- })
935
- .catch((error) => {
936
- // Failure to populate native asset cache is non-fatal;
937
- // #isNativeAsset falls back to the seed data from buildNativeAssetsFromConstant.
938
- log('Failed to populate native asset cache, falling back to seed data', error);
939
- });
940
- // Seed the cache synchronously so that synchronous consumers (e.g.
941
- // #isNativeAsset, #resolveNativeAssetIds) have data available immediately.
942
- // When fetchQuery resolves (currently instant, future: API), it overwrites
943
- // this with potentially fresher data.
944
- const initialNativeAssetMap = buildNativeAssetsFromConstant();
945
- queryApiClient.setCachedData(NATIVE_ASSETS_QUERY_KEY, initialNativeAssetMap);
946
910
  }, _AssetsController_initializeState = function _AssetsController_initializeState() {
947
911
  const { enabledNetworkMap } = this.messenger.call('NetworkEnablementController:getState');
948
912
  __classPrivateFieldSet(this, _AssetsController_enabledChains, __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_extractEnabledChains).call(this, enabledNetworkMap), "f");
@@ -1180,28 +1144,11 @@ async function _AssetsController_executeMiddlewares(sources, request, initialRes
1180
1144
  });
1181
1145
  }
1182
1146
  return { response: result.response, durationByDataSource };
1183
- }, _AssetsController_getNativeAssetMap = function _AssetsController_getNativeAssetMap() {
1184
- return (__classPrivateFieldGet(this, _AssetsController_queryApiClient, "f").getCachedData(NATIVE_ASSETS_QUERY_KEY) ?? {});
1185
- }, _AssetsController_isNativeAsset = function _AssetsController_isNativeAsset(assetId) {
1186
- const parsed = (0, utils_1.parseCaipAssetType)(assetId);
1187
- if (parsed.assetNamespace === 'slip44') {
1188
- return true;
1189
- }
1190
- const lower = assetId.toLowerCase();
1191
- const isInNativeAssetMap = Object.values(__classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getNativeAssetMap).call(this)).some((id) => id.toLowerCase() === lower);
1192
- if (isInNativeAssetMap) {
1193
- return true;
1194
- }
1195
- if (parsed.assetNamespace === 'erc20' &&
1196
- parsed.assetReference === constants_1.ZERO_ADDRESS) {
1197
- return true;
1198
- }
1199
- return false;
1200
1147
  }, _AssetsController_resolveNativeAssetIds = function _AssetsController_resolveNativeAssetIds(chains) {
1201
- const nativeAssetMap = __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getNativeAssetMap).call(this);
1148
+ const { nativeAssetIdentifiers } = this.messenger.call('NetworkEnablementController:getState');
1202
1149
  const ids = [];
1203
1150
  for (const chainId of chains) {
1204
- const nativeId = nativeAssetMap[chainId];
1151
+ const nativeId = nativeAssetIdentifiers?.[chainId];
1205
1152
  if (nativeId) {
1206
1153
  ids.push(nativeId);
1207
1154
  }
@@ -1419,7 +1366,7 @@ async function _AssetsController_executeMiddlewares(sources, request, initialRes
1419
1366
  }
1420
1367
  const assetChainId = extractChainId(typedAssetId);
1421
1368
  // Skip native tokens on Tempo networks
1422
- if (__classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_shouldHideNativeToken).call(this, assetChainId, metadata)) {
1369
+ if (__classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_shouldHideNativeToken).call(this, assetChainId, typedAssetId, metadata)) {
1423
1370
  continue;
1424
1371
  }
1425
1372
  if (!chainIdSet.has(assetChainId)) {
@@ -1455,12 +1402,14 @@ async function _AssetsController_executeMiddlewares(sources, request, initialRes
1455
1402
  }
1456
1403
  }
1457
1404
  return result;
1458
- }, _AssetsController_shouldHideNativeToken = function _AssetsController_shouldHideNativeToken(chainId, metadata) {
1405
+ }, _AssetsController_shouldHideNativeToken = function _AssetsController_shouldHideNativeToken(chainId, assetId, metadata) {
1459
1406
  // Check if it's a chain that should skip native tokens
1460
1407
  if (!controller_utils_1.CHAIN_IDS_WITH_NO_NATIVE_TOKEN.includes(chainId)) {
1461
1408
  return false;
1462
1409
  }
1463
- return metadata.type === 'native';
1410
+ // Check if it's a native token (either by metadata type or assetId format)
1411
+ const isNative = metadata.type === 'native' || assetId.includes('/slip44:');
1412
+ return isNative;
1464
1413
  }, _AssetsController_tokenStandardToAssetType = function _AssetsController_tokenStandardToAssetType(tokenStandard) {
1465
1414
  switch (tokenStandard) {
1466
1415
  case 'native':