@metamask-previews/assets-controller 6.0.0-preview-af2c9f6c3 → 6.0.0-preview-02f91c63c

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 (76) hide show
  1. package/CHANGELOG.md +1 -15
  2. package/dist/AssetsController.cjs +16 -56
  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 +17 -57
  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 +8 -16
  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 +8 -16
  23. package/dist/data-sources/RpcDataSource.mjs.map +1 -1
  24. package/dist/data-sources/TokenDataSource.cjs +10 -16
  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 +10 -16
  29. package/dist/data-sources/TokenDataSource.mjs.map +1 -1
  30. package/dist/data-sources/evm-rpc-services/clients/MulticallClient.cjs +0 -8
  31. package/dist/data-sources/evm-rpc-services/clients/MulticallClient.cjs.map +1 -1
  32. package/dist/data-sources/evm-rpc-services/clients/MulticallClient.d.cts.map +1 -1
  33. package/dist/data-sources/evm-rpc-services/clients/MulticallClient.d.mts.map +1 -1
  34. package/dist/data-sources/evm-rpc-services/clients/MulticallClient.mjs +0 -8
  35. package/dist/data-sources/evm-rpc-services/clients/MulticallClient.mjs.map +1 -1
  36. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.cjs +6 -8
  37. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.cjs.map +1 -1
  38. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.cts +2 -4
  39. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.cts.map +1 -1
  40. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.mts +2 -4
  41. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.mts.map +1 -1
  42. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.mjs +6 -8
  43. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.mjs.map +1 -1
  44. package/dist/utils/formatExchangeRatesForBridge.cjs +8 -10
  45. package/dist/utils/formatExchangeRatesForBridge.cjs.map +1 -1
  46. package/dist/utils/formatExchangeRatesForBridge.d.cts +3 -5
  47. package/dist/utils/formatExchangeRatesForBridge.d.cts.map +1 -1
  48. package/dist/utils/formatExchangeRatesForBridge.d.mts +3 -5
  49. package/dist/utils/formatExchangeRatesForBridge.d.mts.map +1 -1
  50. package/dist/utils/formatExchangeRatesForBridge.mjs +9 -11
  51. package/dist/utils/formatExchangeRatesForBridge.mjs.map +1 -1
  52. package/dist/utils/formatStateForTransactionPay.cjs +6 -8
  53. package/dist/utils/formatStateForTransactionPay.cjs.map +1 -1
  54. package/dist/utils/formatStateForTransactionPay.d.cts +2 -2
  55. package/dist/utils/formatStateForTransactionPay.d.cts.map +1 -1
  56. package/dist/utils/formatStateForTransactionPay.d.mts +2 -2
  57. package/dist/utils/formatStateForTransactionPay.d.mts.map +1 -1
  58. package/dist/utils/formatStateForTransactionPay.mjs +6 -8
  59. package/dist/utils/formatStateForTransactionPay.mjs.map +1 -1
  60. package/dist/utils/index.cjs +1 -4
  61. package/dist/utils/index.cjs.map +1 -1
  62. package/dist/utils/index.d.cts +0 -1
  63. package/dist/utils/index.d.cts.map +1 -1
  64. package/dist/utils/index.d.mts +0 -1
  65. package/dist/utils/index.d.mts.map +1 -1
  66. package/dist/utils/index.mjs +0 -1
  67. package/dist/utils/index.mjs.map +1 -1
  68. package/package.json +2 -2
  69. package/dist/utils/native-assets.cjs +0 -63
  70. package/dist/utils/native-assets.cjs.map +0 -1
  71. package/dist/utils/native-assets.d.cts +0 -19
  72. package/dist/utils/native-assets.d.cts.map +0 -1
  73. package/dist/utils/native-assets.d.mts +0 -19
  74. package/dist/utils/native-assets.d.mts.map +0 -1
  75. package/dist/utils/native-assets.mjs +0 -58
  76. package/dist/utils/native-assets.mjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -7,28 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
- ### Added
11
-
12
- - Add newly supported chains to multicall contract support in `MulticallClient` ([#8346](https://github.com/MetaMask/core/pull/8346))
13
- - Tempo Mainnet (`4217`/`0x1079`)
14
- - Tempo Testnet Moderato (`42431`/`0xa5bf`)
15
- - Ink Mainnet (`57073`/`0xdef1`)
16
- - Stable mainnet (`988`/`0x3dc`)
17
-
18
10
  ### Changed
19
11
 
20
- - Bump `@metamask/assets-controllers` from `^104.0.0` to `^104.2.0` ([#8509](https://github.com/MetaMask/core/pull/8509),[#8544](https://github.com/MetaMask/core/pull/8544))
12
+ - Bump `@metamask/assets-controllers` from `^104.0.0` to `^104.1.0` ([#8509](https://github.com/MetaMask/core/pull/8509))
21
13
  - Bump `@metamask/keyring-api` from `^21.6.0` to `^23.0.1` ([#8464](https://github.com/MetaMask/core/pull/8464))
22
14
  - Bump `@metamask/keyring-internal-api` from `^10.0.0` to `^10.1.1` ([#8464](https://github.com/MetaMask/core/pull/8464))
23
15
  - Bump `@metamask/keyring-snap-client` from `^8.2.0` to `^9.0.1` ([#8464](https://github.com/MetaMask/core/pull/8464))
24
16
  - Bump `@metamask/transaction-controller` from `^64.2.0` to `^64.3.0` ([#8482](https://github.com/MetaMask/core/pull/8482))
25
17
 
26
- ### Fixed
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
- - 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
-
32
18
  ## [6.0.0]
33
19
 
34
20
  ### Added
@@ -13,7 +13,7 @@ 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
19
  const base_controller_1 = require("@metamask/base-controller");
@@ -34,8 +34,6 @@ const logger_1 = require("./logger.cjs");
34
34
  const DetectionMiddleware_1 = require("./middlewares/DetectionMiddleware.cjs");
35
35
  const ParallelMiddleware_1 = require("./middlewares/ParallelMiddleware.cjs");
36
36
  const utils_2 = require("./utils/index.cjs");
37
- const constants_1 = require("./utils/constants.cjs");
38
- const NATIVE_ASSETS_QUERY_KEY = ['nativeAssets'];
39
37
  // ============================================================================
40
38
  // CONTROLLER CONSTANTS
41
39
  // ============================================================================
@@ -264,15 +262,12 @@ class AssetsController extends base_controller_1.BaseController {
264
262
  _AssetsController_detectionMiddleware.set(this, void 0);
265
263
  _AssetsController_tokenDataSource.set(this, void 0);
266
264
  _AssetsController_unsubscribeBasicFunctionality.set(this, null);
267
- _AssetsController_queryApiClient.set(this, void 0);
268
265
  _AssetsController_onActiveChainsUpdated.set(this, void 0);
269
266
  __classPrivateFieldSet(this, _AssetsController_isEnabled, isEnabled(), "f");
270
267
  __classPrivateFieldSet(this, _AssetsController_isBasicFunctionality, isBasicFunctionality ?? (() => true), "f");
271
268
  __classPrivateFieldSet(this, _AssetsController_defaultUpdateInterval, defaultUpdateInterval, "f");
272
269
  __classPrivateFieldSet(this, _AssetsController_trace, trace, "f");
273
- __classPrivateFieldSet(this, _AssetsController_queryApiClient, queryApiClient, "f");
274
270
  const rpcConfig = rpcDataSourceConfig ?? {};
275
- __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_initializeNativeAssetsMap).call(this, queryApiClient);
276
271
  __classPrivateFieldSet(this, _AssetsController_onActiveChainsUpdated, (dataSourceName, chains, previousChains) => {
277
272
  try {
278
273
  __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_handleActiveChainsUpdate).call(this, dataSourceName, chains, previousChains);
@@ -288,7 +283,6 @@ class AssetsController extends base_controller_1.BaseController {
288
283
  messenger: this.messenger,
289
284
  queryApiClient,
290
285
  onActiveChainsUpdated: __classPrivateFieldGet(this, _AssetsController_onActiveChainsUpdated, "f"),
291
- isNativeAsset: (assetId) => __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_isNativeAsset).call(this, assetId),
292
286
  }), "f");
293
287
  __classPrivateFieldSet(this, _AssetsController_accountsApiDataSource, new AccountsApiDataSource_1.AccountsApiDataSource({
294
288
  queryApiClient,
@@ -302,8 +296,6 @@ class AssetsController extends base_controller_1.BaseController {
302
296
  __classPrivateFieldSet(this, _AssetsController_rpcDataSource, new RpcDataSource_1.RpcDataSource({
303
297
  messenger: this.messenger,
304
298
  onActiveChainsUpdated: __classPrivateFieldGet(this, _AssetsController_onActiveChainsUpdated, "f"),
305
- getNativeAssetForChain: (chainId) => __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getNativeAssetMap).call(this)[chainId] ??
306
- `${chainId}/erc20:${constants_1.ZERO_ADDRESS}`,
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,25 +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
- queryApiClient.queryClient
918
- .fetchQuery({
919
- queryKey: NATIVE_ASSETS_QUERY_KEY,
920
- queryFn: utils_2.buildNativeAssetsFromApi,
921
- staleTime: Infinity,
922
- gcTime: Infinity,
923
- })
924
- .catch((error) => {
925
- // Failure to populate native asset cache is non-fatal;
926
- // #isNativeAsset falls back to the seed data from buildNativeAssetsFromConstant.
927
- log('Failed to populate native asset cache, falling back to seed data', error);
928
- });
929
- // Seed the cache synchronously so that synchronous consumers (e.g.
930
- // #isNativeAsset, #resolveNativeAssetIds) have data available immediately.
931
- // When fetchQuery resolves (currently instant, future: API), it overwrites
932
- // this with potentially fresher data.
933
- const initialNativeAssetMap = (0, utils_2.buildNativeAssetsFromConstant)();
934
- queryApiClient.setCachedData(NATIVE_ASSETS_QUERY_KEY, initialNativeAssetMap);
935
910
  }, _AssetsController_initializeState = function _AssetsController_initializeState() {
936
911
  const { enabledNetworkMap } = this.messenger.call('NetworkEnablementController:getState');
937
912
  __classPrivateFieldSet(this, _AssetsController_enabledChains, __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_extractEnabledChains).call(this, enabledNetworkMap), "f");
@@ -1169,28 +1144,11 @@ async function _AssetsController_executeMiddlewares(sources, request, initialRes
1169
1144
  });
1170
1145
  }
1171
1146
  return { response: result.response, durationByDataSource };
1172
- }, _AssetsController_getNativeAssetMap = function _AssetsController_getNativeAssetMap() {
1173
- return (__classPrivateFieldGet(this, _AssetsController_queryApiClient, "f").getCachedData(NATIVE_ASSETS_QUERY_KEY) ?? {});
1174
- }, _AssetsController_isNativeAsset = function _AssetsController_isNativeAsset(assetId) {
1175
- const parsed = (0, utils_1.parseCaipAssetType)(assetId);
1176
- if (parsed.assetNamespace === 'slip44') {
1177
- return true;
1178
- }
1179
- const lower = assetId.toLowerCase();
1180
- const isInNativeAssetMap = Object.values(__classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getNativeAssetMap).call(this)).some((id) => id.toLowerCase() === lower);
1181
- if (isInNativeAssetMap) {
1182
- return true;
1183
- }
1184
- if (parsed.assetNamespace === 'erc20' &&
1185
- parsed.assetReference === constants_1.ZERO_ADDRESS) {
1186
- return true;
1187
- }
1188
- return false;
1189
1147
  }, _AssetsController_resolveNativeAssetIds = function _AssetsController_resolveNativeAssetIds(chains) {
1190
- const nativeAssetMap = __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getNativeAssetMap).call(this);
1148
+ const { nativeAssetIdentifiers } = this.messenger.call('NetworkEnablementController:getState');
1191
1149
  const ids = [];
1192
1150
  for (const chainId of chains) {
1193
- const nativeId = nativeAssetMap[chainId];
1151
+ const nativeId = nativeAssetIdentifiers?.[chainId];
1194
1152
  if (nativeId) {
1195
1153
  ids.push(nativeId);
1196
1154
  }
@@ -1408,7 +1366,7 @@ async function _AssetsController_executeMiddlewares(sources, request, initialRes
1408
1366
  }
1409
1367
  const assetChainId = extractChainId(typedAssetId);
1410
1368
  // Skip native tokens on Tempo networks
1411
- 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)) {
1412
1370
  continue;
1413
1371
  }
1414
1372
  if (!chainIdSet.has(assetChainId)) {
@@ -1444,12 +1402,14 @@ async function _AssetsController_executeMiddlewares(sources, request, initialRes
1444
1402
  }
1445
1403
  }
1446
1404
  return result;
1447
- }, _AssetsController_shouldHideNativeToken = function _AssetsController_shouldHideNativeToken(chainId, metadata) {
1405
+ }, _AssetsController_shouldHideNativeToken = function _AssetsController_shouldHideNativeToken(chainId, assetId, metadata) {
1448
1406
  // Check if it's a chain that should skip native tokens
1449
1407
  if (!controller_utils_1.CHAIN_IDS_WITH_NO_NATIVE_TOKEN.includes(chainId)) {
1450
1408
  return false;
1451
1409
  }
1452
- 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;
1453
1413
  }, _AssetsController_tokenStandardToAssetType = function _AssetsController_tokenStandardToAssetType(tokenStandard) {
1454
1414
  switch (tokenStandard) {
1455
1415
  case 'native':