@metamask-previews/assets-controller 6.0.0-preview-5e99f980f → 6.0.0-preview-42c8fd288
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.
- package/CHANGELOG.md +10 -0
- package/dist/AssetsController.cjs +49 -12
- package/dist/AssetsController.cjs.map +1 -1
- package/dist/AssetsController.d.cts.map +1 -1
- package/dist/AssetsController.d.mts.map +1 -1
- package/dist/AssetsController.mjs +49 -12
- package/dist/AssetsController.mjs.map +1 -1
- package/dist/data-sources/BackendWebsocketDataSource.cjs +2 -1
- package/dist/data-sources/BackendWebsocketDataSource.cjs.map +1 -1
- package/dist/data-sources/BackendWebsocketDataSource.d.cts.map +1 -1
- package/dist/data-sources/BackendWebsocketDataSource.d.mts.map +1 -1
- package/dist/data-sources/BackendWebsocketDataSource.mjs +2 -1
- package/dist/data-sources/BackendWebsocketDataSource.mjs.map +1 -1
- package/dist/data-sources/RpcDataSource.cjs +8 -5
- package/dist/data-sources/RpcDataSource.cjs.map +1 -1
- package/dist/data-sources/RpcDataSource.d.cts +3 -2
- package/dist/data-sources/RpcDataSource.d.cts.map +1 -1
- package/dist/data-sources/RpcDataSource.d.mts +3 -2
- package/dist/data-sources/RpcDataSource.d.mts.map +1 -1
- package/dist/data-sources/RpcDataSource.mjs +8 -5
- package/dist/data-sources/RpcDataSource.mjs.map +1 -1
- package/dist/data-sources/TokenDataSource.cjs +8 -6
- package/dist/data-sources/TokenDataSource.cjs.map +1 -1
- package/dist/data-sources/TokenDataSource.d.cts.map +1 -1
- package/dist/data-sources/TokenDataSource.d.mts.map +1 -1
- package/dist/data-sources/TokenDataSource.mjs +8 -6
- package/dist/data-sources/TokenDataSource.mjs.map +1 -1
- package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.cjs +4 -3
- package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.cjs.map +1 -1
- package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.cts.map +1 -1
- package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.mts.map +1 -1
- package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.mjs +4 -3
- package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.mjs.map +1 -1
- package/dist/utils/formatExchangeRatesForBridge.cjs +9 -6
- package/dist/utils/formatExchangeRatesForBridge.cjs.map +1 -1
- package/dist/utils/formatExchangeRatesForBridge.d.cts.map +1 -1
- package/dist/utils/formatExchangeRatesForBridge.d.mts.map +1 -1
- package/dist/utils/formatExchangeRatesForBridge.mjs +10 -7
- package/dist/utils/formatExchangeRatesForBridge.mjs.map +1 -1
- package/dist/utils/formatStateForTransactionPay.cjs +7 -4
- package/dist/utils/formatStateForTransactionPay.cjs.map +1 -1
- package/dist/utils/formatStateForTransactionPay.d.cts.map +1 -1
- package/dist/utils/formatStateForTransactionPay.d.mts.map +1 -1
- package/dist/utils/formatStateForTransactionPay.mjs +7 -4
- package/dist/utils/formatStateForTransactionPay.mjs.map +1 -1
- package/dist/utils/isNativeAsset.cjs +39 -0
- package/dist/utils/isNativeAsset.cjs.map +1 -0
- package/dist/utils/isNativeAsset.d.cts +16 -0
- package/dist/utils/isNativeAsset.d.cts.map +1 -0
- package/dist/utils/isNativeAsset.d.mts +16 -0
- package/dist/utils/isNativeAsset.d.mts.map +1 -0
- package/dist/utils/isNativeAsset.mjs +35 -0
- package/dist/utils/isNativeAsset.mjs.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,10 @@ 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 `isNativeAsset` utility that centralizes native asset detection across all CAIP-19 representations (`slip44:` namespace, known native asset IDs from `SPOT_PRICES_SUPPORT_INFO`, and `erc20:` with zero address) ([#8483](https://github.com/MetaMask/core/pull/8483))
|
|
13
|
+
|
|
10
14
|
### Changed
|
|
11
15
|
|
|
12
16
|
- Bump `@metamask/assets-controllers` from `^104.0.0` to `^104.1.0` ([#8509](https://github.com/MetaMask/core/pull/8509))
|
|
@@ -15,6 +19,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
15
19
|
- Bump `@metamask/keyring-snap-client` from `^8.2.0` to `^9.0.1` ([#8464](https://github.com/MetaMask/core/pull/8464))
|
|
16
20
|
- Bump `@metamask/transaction-controller` from `^64.2.0` to `^64.3.0` ([#8482](https://github.com/MetaMask/core/pull/8482))
|
|
17
21
|
|
|
22
|
+
### Fixed
|
|
23
|
+
|
|
24
|
+
- Native asset detection now correctly identifies native assets across all CAIP-19 representations, not just `slip44:` namespace checks ([#TBD](https://github.com/MetaMask/core/pull/TBD))
|
|
25
|
+
- Previously, native assets represented as ERC-20 tokens (e.g., Polygon's POL at `0x…1010`) were not recognized as native, causing incorrect token type classification, balance handling, and missing entries in bridge exchange rates and transaction pay legacy formats.
|
|
26
|
+
- Legacy format conversions (bridge exchange rates and transaction pay) now use the correct chain-specific native token address via `getNativeTokenAddress()` instead of always using the zero address ([#TBD](https://github.com/MetaMask/core/pull/TBD))
|
|
27
|
+
|
|
18
28
|
## [6.0.0]
|
|
19
29
|
|
|
20
30
|
### Added
|
|
@@ -13,9 +13,10 @@ 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_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;
|
|
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_initializeState, _AssetsController_extractEnabledChains, _AssetsController_normalizeChainReference, _AssetsController_subscribeToEvents, _AssetsController_onUnapprovedTransactionAdded, _AssetsController_updateActive, _AssetsController_handleAccountTreeStateChange, _AssetsController_registerActionHandlers, _AssetsController_handleActiveChainsUpdate, _AssetsController_executeMiddlewares, _AssetsController_getNativeAssetMap, _AssetsController_getKnownNativeAssetIds, _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");
|
|
19
20
|
const base_controller_1 = require("@metamask/base-controller");
|
|
20
21
|
const client_controller_1 = require("@metamask/client-controller");
|
|
21
22
|
const controller_utils_1 = require("@metamask/controller-utils");
|
|
@@ -34,6 +35,8 @@ const logger_1 = require("./logger.cjs");
|
|
|
34
35
|
const DetectionMiddleware_1 = require("./middlewares/DetectionMiddleware.cjs");
|
|
35
36
|
const ParallelMiddleware_1 = require("./middlewares/ParallelMiddleware.cjs");
|
|
36
37
|
const utils_2 = require("./utils/index.cjs");
|
|
38
|
+
const isNativeAsset_1 = require("./utils/isNativeAsset.cjs");
|
|
39
|
+
const NATIVE_ASSETS_QUERY_KEY = ['nativeAssets'];
|
|
37
40
|
// ============================================================================
|
|
38
41
|
// CONTROLLER CONSTANTS
|
|
39
42
|
// ============================================================================
|
|
@@ -262,12 +265,43 @@ class AssetsController extends base_controller_1.BaseController {
|
|
|
262
265
|
_AssetsController_detectionMiddleware.set(this, void 0);
|
|
263
266
|
_AssetsController_tokenDataSource.set(this, void 0);
|
|
264
267
|
_AssetsController_unsubscribeBasicFunctionality.set(this, null);
|
|
268
|
+
_AssetsController_queryApiClient.set(this, void 0);
|
|
265
269
|
_AssetsController_onActiveChainsUpdated.set(this, void 0);
|
|
266
270
|
__classPrivateFieldSet(this, _AssetsController_isEnabled, isEnabled(), "f");
|
|
267
271
|
__classPrivateFieldSet(this, _AssetsController_isBasicFunctionality, isBasicFunctionality ?? (() => true), "f");
|
|
268
272
|
__classPrivateFieldSet(this, _AssetsController_defaultUpdateInterval, defaultUpdateInterval, "f");
|
|
269
273
|
__classPrivateFieldSet(this, _AssetsController_trace, trace, "f");
|
|
274
|
+
__classPrivateFieldSet(this, _AssetsController_queryApiClient, queryApiClient, "f");
|
|
270
275
|
const rpcConfig = rpcDataSourceConfig ?? {};
|
|
276
|
+
queryApiClient.queryClient
|
|
277
|
+
.fetchQuery({
|
|
278
|
+
queryKey: NATIVE_ASSETS_QUERY_KEY,
|
|
279
|
+
queryFn: async () => {
|
|
280
|
+
// Today: build from constant. Tomorrow: replace body with API call.
|
|
281
|
+
const map = {};
|
|
282
|
+
for (const nativeAssetId of Object.values(assets_controllers_1.SPOT_PRICES_SUPPORT_INFO)) {
|
|
283
|
+
const { chainId } = (0, utils_1.parseCaipAssetType)(nativeAssetId);
|
|
284
|
+
map[chainId] = nativeAssetId;
|
|
285
|
+
}
|
|
286
|
+
return map;
|
|
287
|
+
},
|
|
288
|
+
staleTime: Infinity,
|
|
289
|
+
gcTime: Infinity,
|
|
290
|
+
})
|
|
291
|
+
.catch(() => {
|
|
292
|
+
// Failure to populate native asset cache is non-fatal;
|
|
293
|
+
// isNativeAsset falls back to SPOT_PRICES_SUPPORT_INFO heuristics.
|
|
294
|
+
});
|
|
295
|
+
// Seed the cache synchronously so that synchronous consumers (e.g.
|
|
296
|
+
// isNativeAsset, #resolveNativeAssetIds) have data available immediately.
|
|
297
|
+
// When fetchQuery resolves (currently instant, future: API), it overwrites
|
|
298
|
+
// this with potentially fresher data.
|
|
299
|
+
const initialNativeAssetMap = {};
|
|
300
|
+
for (const nativeAssetId of Object.values(assets_controllers_1.SPOT_PRICES_SUPPORT_INFO)) {
|
|
301
|
+
const { chainId } = (0, utils_1.parseCaipAssetType)(nativeAssetId);
|
|
302
|
+
initialNativeAssetMap[chainId] = nativeAssetId;
|
|
303
|
+
}
|
|
304
|
+
queryApiClient.setCachedData(NATIVE_ASSETS_QUERY_KEY, initialNativeAssetMap);
|
|
271
305
|
__classPrivateFieldSet(this, _AssetsController_onActiveChainsUpdated, (dataSourceName, chains, previousChains) => {
|
|
272
306
|
try {
|
|
273
307
|
__classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_handleActiveChainsUpdate).call(this, dataSourceName, chains, previousChains);
|
|
@@ -296,6 +330,7 @@ class AssetsController extends base_controller_1.BaseController {
|
|
|
296
330
|
__classPrivateFieldSet(this, _AssetsController_rpcDataSource, new RpcDataSource_1.RpcDataSource({
|
|
297
331
|
messenger: this.messenger,
|
|
298
332
|
onActiveChainsUpdated: __classPrivateFieldGet(this, _AssetsController_onActiveChainsUpdated, "f"),
|
|
333
|
+
getNativeAssetForChain: (chainId) => __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getNativeAssetMap).call(this)[chainId],
|
|
299
334
|
...rpcConfig,
|
|
300
335
|
isOnboarded: rpcConfig.isOnboarded ?? isOnboarded,
|
|
301
336
|
}), "f");
|
|
@@ -307,8 +342,7 @@ class AssetsController extends base_controller_1.BaseController {
|
|
|
307
342
|
__classPrivateFieldSet(this, _AssetsController_tokenDataSource, new TokenDataSource_1.TokenDataSource(this.messenger, {
|
|
308
343
|
queryApiClient,
|
|
309
344
|
getNativeAssetIds: () => {
|
|
310
|
-
|
|
311
|
-
return Object.values(nativeAssetIdentifiers);
|
|
345
|
+
return Object.values(__classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getNativeAssetMap).call(this));
|
|
312
346
|
},
|
|
313
347
|
}), "f");
|
|
314
348
|
__classPrivateFieldSet(this, _AssetsController_priceDataSource, new PriceDataSource_1.PriceDataSource({
|
|
@@ -496,12 +530,11 @@ class AssetsController extends base_controller_1.BaseController {
|
|
|
496
530
|
* @returns Bridge-compatible exchange rate state derived from assetsPrice and selectedCurrency.
|
|
497
531
|
*/
|
|
498
532
|
getExchangeRatesForBridge() {
|
|
499
|
-
const { nativeAssetIdentifiers } = this.messenger.call('NetworkEnablementController:getState');
|
|
500
533
|
const { networkConfigurationsByChainId } = this.messenger.call('NetworkController:getState');
|
|
501
534
|
return (0, utils_2.formatExchangeRatesForBridge)({
|
|
502
535
|
assetsPrice: this.state.assetsPrice,
|
|
503
536
|
selectedCurrency: this.state.selectedCurrency,
|
|
504
|
-
nativeAssetIdentifiers,
|
|
537
|
+
nativeAssetIdentifiers: __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getNativeAssetMap).call(this),
|
|
505
538
|
networkConfigurationsByChainId,
|
|
506
539
|
});
|
|
507
540
|
}
|
|
@@ -516,7 +549,6 @@ class AssetsController extends base_controller_1.BaseController {
|
|
|
516
549
|
*/
|
|
517
550
|
getStateForTransactionPay() {
|
|
518
551
|
const accounts = __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getSelectedAccounts).call(this);
|
|
519
|
-
const { nativeAssetIdentifiers } = this.messenger.call('NetworkEnablementController:getState');
|
|
520
552
|
const { networkConfigurationsByChainId } = this.messenger.call('NetworkController:getState');
|
|
521
553
|
return (0, utils_2.formatStateForTransactionPay)({
|
|
522
554
|
assetsBalance: this.state.assetsBalance,
|
|
@@ -524,7 +556,7 @@ class AssetsController extends base_controller_1.BaseController {
|
|
|
524
556
|
assetsPrice: this.state.assetsPrice,
|
|
525
557
|
selectedCurrency: this.state.selectedCurrency,
|
|
526
558
|
accounts: accounts.map((a) => ({ id: a.id, address: a.address })),
|
|
527
|
-
nativeAssetIdentifiers,
|
|
559
|
+
nativeAssetIdentifiers: __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getNativeAssetMap).call(this),
|
|
528
560
|
networkConfigurationsByChainId,
|
|
529
561
|
});
|
|
530
562
|
}
|
|
@@ -568,7 +600,7 @@ class AssetsController extends base_controller_1.BaseController {
|
|
|
568
600
|
if (pendingMetadata) {
|
|
569
601
|
const parsed = (0, utils_1.parseCaipAssetType)(normalizedAssetId);
|
|
570
602
|
let tokenType = 'erc20';
|
|
571
|
-
if (
|
|
603
|
+
if ((0, isNativeAsset_1.isNativeAsset)(normalizedAssetId, __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getKnownNativeAssetIds).call(this))) {
|
|
572
604
|
tokenType = 'native';
|
|
573
605
|
}
|
|
574
606
|
else if (parsed.assetNamespace === 'spl') {
|
|
@@ -844,7 +876,7 @@ class AssetsController extends base_controller_1.BaseController {
|
|
|
844
876
|
}
|
|
845
877
|
}
|
|
846
878
|
exports.AssetsController = AssetsController;
|
|
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 = {
|
|
879
|
+
_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 = {
|
|
848
880
|
controller: 'AssetsController',
|
|
849
881
|
}) {
|
|
850
882
|
if (!__classPrivateFieldGet(this, _AssetsController_trace, "f")) {
|
|
@@ -1144,11 +1176,15 @@ async function _AssetsController_executeMiddlewares(sources, request, initialRes
|
|
|
1144
1176
|
});
|
|
1145
1177
|
}
|
|
1146
1178
|
return { response: result.response, durationByDataSource };
|
|
1179
|
+
}, _AssetsController_getNativeAssetMap = function _AssetsController_getNativeAssetMap() {
|
|
1180
|
+
return (__classPrivateFieldGet(this, _AssetsController_queryApiClient, "f").getCachedData(NATIVE_ASSETS_QUERY_KEY) ?? {});
|
|
1181
|
+
}, _AssetsController_getKnownNativeAssetIds = function _AssetsController_getKnownNativeAssetIds() {
|
|
1182
|
+
return new Set(Object.values(__classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getNativeAssetMap).call(this)).map((id) => id.toLowerCase()));
|
|
1147
1183
|
}, _AssetsController_resolveNativeAssetIds = function _AssetsController_resolveNativeAssetIds(chains) {
|
|
1148
|
-
const
|
|
1184
|
+
const nativeAssetMap = __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getNativeAssetMap).call(this);
|
|
1149
1185
|
const ids = [];
|
|
1150
1186
|
for (const chainId of chains) {
|
|
1151
|
-
const nativeId =
|
|
1187
|
+
const nativeId = nativeAssetMap[chainId];
|
|
1152
1188
|
if (nativeId) {
|
|
1153
1189
|
ids.push(nativeId);
|
|
1154
1190
|
}
|
|
@@ -1408,7 +1444,8 @@ async function _AssetsController_executeMiddlewares(sources, request, initialRes
|
|
|
1408
1444
|
return false;
|
|
1409
1445
|
}
|
|
1410
1446
|
// Check if it's a native token (either by metadata type or assetId format)
|
|
1411
|
-
const isNative = metadata.type === 'native' ||
|
|
1447
|
+
const isNative = metadata.type === 'native' ||
|
|
1448
|
+
(0, isNativeAsset_1.isNativeAsset)(assetId, __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getKnownNativeAssetIds).call(this));
|
|
1412
1449
|
return isNative;
|
|
1413
1450
|
}, _AssetsController_tokenStandardToAssetType = function _AssetsController_tokenStandardToAssetType(tokenStandard) {
|
|
1414
1451
|
switch (tokenStandard) {
|