@metamask-previews/assets-controller 6.0.0-preview-89121e086 → 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 (68) hide show
  1. package/CHANGELOG.md +1 -15
  2. package/dist/AssetsController.cjs +16 -57
  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 -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/package.json +2 -2
  61. package/dist/native-assets.cjs +0 -63
  62. package/dist/native-assets.cjs.map +0 -1
  63. package/dist/native-assets.d.cts +0 -24
  64. package/dist/native-assets.d.cts.map +0 -1
  65. package/dist/native-assets.d.mts +0 -24
  66. package/dist/native-assets.d.mts.map +0 -1
  67. package/dist/native-assets.mjs +0 -58
  68. package/dist/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");
@@ -33,10 +33,7 @@ const TokenDataSource_1 = require("./data-sources/TokenDataSource.cjs");
33
33
  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
- const native_assets_1 = require("./native-assets.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,8 +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
- `${chainId}/erc20:${constants_1.ZERO_ADDRESS}`,
308
299
  ...rpcConfig,
309
300
  isOnboarded: rpcConfig.isOnboarded ?? isOnboarded,
310
301
  }), "f");
@@ -316,7 +307,8 @@ class AssetsController extends base_controller_1.BaseController {
316
307
  __classPrivateFieldSet(this, _AssetsController_tokenDataSource, new TokenDataSource_1.TokenDataSource(this.messenger, {
317
308
  queryApiClient,
318
309
  getNativeAssetIds: () => {
319
- return __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getNativeAssetIdsForEnabledChains).call(this);
310
+ const { nativeAssetIdentifiers } = this.messenger.call('NetworkEnablementController:getState');
311
+ return Object.values(nativeAssetIdentifiers);
320
312
  },
321
313
  }), "f");
322
314
  __classPrivateFieldSet(this, _AssetsController_priceDataSource, new PriceDataSource_1.PriceDataSource({
@@ -504,12 +496,12 @@ class AssetsController extends base_controller_1.BaseController {
504
496
  * @returns Bridge-compatible exchange rate state derived from assetsPrice and selectedCurrency.
505
497
  */
506
498
  getExchangeRatesForBridge() {
499
+ const { nativeAssetIdentifiers } = this.messenger.call('NetworkEnablementController:getState');
507
500
  const { networkConfigurationsByChainId } = this.messenger.call('NetworkController:getState');
508
501
  return (0, utils_2.formatExchangeRatesForBridge)({
509
- assetsInfo: this.state.assetsInfo,
510
502
  assetsPrice: this.state.assetsPrice,
511
503
  selectedCurrency: this.state.selectedCurrency,
512
- nativeAssetIdentifiers: __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getNativeAssetMap).call(this),
504
+ nativeAssetIdentifiers,
513
505
  networkConfigurationsByChainId,
514
506
  });
515
507
  }
@@ -524,6 +516,7 @@ class AssetsController extends base_controller_1.BaseController {
524
516
  */
525
517
  getStateForTransactionPay() {
526
518
  const accounts = __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getSelectedAccounts).call(this);
519
+ const { nativeAssetIdentifiers } = this.messenger.call('NetworkEnablementController:getState');
527
520
  const { networkConfigurationsByChainId } = this.messenger.call('NetworkController:getState');
528
521
  return (0, utils_2.formatStateForTransactionPay)({
529
522
  assetsBalance: this.state.assetsBalance,
@@ -531,7 +524,7 @@ class AssetsController extends base_controller_1.BaseController {
531
524
  assetsPrice: this.state.assetsPrice,
532
525
  selectedCurrency: this.state.selectedCurrency,
533
526
  accounts: accounts.map((a) => ({ id: a.id, address: a.address })),
534
- nativeAssetIdentifiers: __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getNativeAssetMap).call(this),
527
+ nativeAssetIdentifiers,
535
528
  networkConfigurationsByChainId,
536
529
  });
537
530
  }
@@ -575,7 +568,7 @@ class AssetsController extends base_controller_1.BaseController {
575
568
  if (pendingMetadata) {
576
569
  const parsed = (0, utils_1.parseCaipAssetType)(normalizedAssetId);
577
570
  let tokenType = 'erc20';
578
- if (__classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_isNativeAsset).call(this, normalizedAssetId)) {
571
+ if (parsed.assetNamespace === 'slip44') {
579
572
  tokenType = 'native';
580
573
  }
581
574
  else if (parsed.assetNamespace === 'spl') {
@@ -851,7 +844,7 @@ class AssetsController extends base_controller_1.BaseController {
851
844
  }
852
845
  }
853
846
  exports.AssetsController = AssetsController;
854
- _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 = {
855
848
  controller: 'AssetsController',
856
849
  }) {
857
850
  if (!__classPrivateFieldGet(this, _AssetsController_trace, "f")) {
@@ -914,25 +907,6 @@ _AssetsController_isEnabled = new WeakMap(), _AssetsController_isBasicFunctional
914
907
  __classPrivateFieldGet(this, _AssetsController_snapDataSource, "f"),
915
908
  __classPrivateFieldGet(this, _AssetsController_rpcDataSource, "f"),
916
909
  ];
917
- }, _AssetsController_initializeNativeAssetsMap = function _AssetsController_initializeNativeAssetsMap(queryApiClient) {
918
- queryApiClient.queryClient
919
- .fetchQuery({
920
- queryKey: NATIVE_ASSETS_QUERY_KEY,
921
- queryFn: native_assets_1.buildNativeAssetsFromApi,
922
- staleTime: Infinity,
923
- gcTime: Infinity,
924
- })
925
- .catch((error) => {
926
- // Failure to populate native asset cache is non-fatal;
927
- // #isNativeAsset falls back to the seed data from buildNativeAssetsFromConstant.
928
- log('Failed to populate native asset cache, falling back to seed data', error);
929
- });
930
- // Seed the cache synchronously so that synchronous consumers (e.g.
931
- // #isNativeAsset, #resolveNativeAssetIds) have data available immediately.
932
- // When fetchQuery resolves (currently instant, future: API), it overwrites
933
- // this with potentially fresher data.
934
- const initialNativeAssetMap = (0, native_assets_1.buildNativeAssetsFromConstant)();
935
- queryApiClient.setCachedData(NATIVE_ASSETS_QUERY_KEY, initialNativeAssetMap);
936
910
  }, _AssetsController_initializeState = function _AssetsController_initializeState() {
937
911
  const { enabledNetworkMap } = this.messenger.call('NetworkEnablementController:getState');
938
912
  __classPrivateFieldSet(this, _AssetsController_enabledChains, __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_extractEnabledChains).call(this, enabledNetworkMap), "f");
@@ -1170,28 +1144,11 @@ async function _AssetsController_executeMiddlewares(sources, request, initialRes
1170
1144
  });
1171
1145
  }
1172
1146
  return { response: result.response, durationByDataSource };
1173
- }, _AssetsController_getNativeAssetMap = function _AssetsController_getNativeAssetMap() {
1174
- return (__classPrivateFieldGet(this, _AssetsController_queryApiClient, "f").getCachedData(NATIVE_ASSETS_QUERY_KEY) ?? {});
1175
- }, _AssetsController_isNativeAsset = function _AssetsController_isNativeAsset(assetId) {
1176
- const parsed = (0, utils_1.parseCaipAssetType)(assetId);
1177
- if (parsed.assetNamespace === 'slip44') {
1178
- return true;
1179
- }
1180
- const lower = assetId.toLowerCase();
1181
- const isInNativeAssetMap = Object.values(__classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getNativeAssetMap).call(this)).some((id) => id.toLowerCase() === lower);
1182
- if (isInNativeAssetMap) {
1183
- return true;
1184
- }
1185
- if (parsed.assetNamespace === 'erc20' &&
1186
- parsed.assetReference === constants_1.ZERO_ADDRESS) {
1187
- return true;
1188
- }
1189
- return false;
1190
1147
  }, _AssetsController_resolveNativeAssetIds = function _AssetsController_resolveNativeAssetIds(chains) {
1191
- const nativeAssetMap = __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getNativeAssetMap).call(this);
1148
+ const { nativeAssetIdentifiers } = this.messenger.call('NetworkEnablementController:getState');
1192
1149
  const ids = [];
1193
1150
  for (const chainId of chains) {
1194
- const nativeId = nativeAssetMap[chainId];
1151
+ const nativeId = nativeAssetIdentifiers?.[chainId];
1195
1152
  if (nativeId) {
1196
1153
  ids.push(nativeId);
1197
1154
  }
@@ -1409,7 +1366,7 @@ async function _AssetsController_executeMiddlewares(sources, request, initialRes
1409
1366
  }
1410
1367
  const assetChainId = extractChainId(typedAssetId);
1411
1368
  // Skip native tokens on Tempo networks
1412
- 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)) {
1413
1370
  continue;
1414
1371
  }
1415
1372
  if (!chainIdSet.has(assetChainId)) {
@@ -1445,12 +1402,14 @@ async function _AssetsController_executeMiddlewares(sources, request, initialRes
1445
1402
  }
1446
1403
  }
1447
1404
  return result;
1448
- }, _AssetsController_shouldHideNativeToken = function _AssetsController_shouldHideNativeToken(chainId, metadata) {
1405
+ }, _AssetsController_shouldHideNativeToken = function _AssetsController_shouldHideNativeToken(chainId, assetId, metadata) {
1449
1406
  // Check if it's a chain that should skip native tokens
1450
1407
  if (!controller_utils_1.CHAIN_IDS_WITH_NO_NATIVE_TOKEN.includes(chainId)) {
1451
1408
  return false;
1452
1409
  }
1453
- 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;
1454
1413
  }, _AssetsController_tokenStandardToAssetType = function _AssetsController_tokenStandardToAssetType(tokenStandard) {
1455
1414
  switch (tokenStandard) {
1456
1415
  case 'native':