@metamask-previews/assets-controller 1.0.0-preview-d7935cb09 → 1.0.0-preview-ee8f1b28b

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 (114) hide show
  1. package/CHANGELOG.md +0 -1
  2. package/dist/AssetsController.cjs +13 -65
  3. package/dist/AssetsController.cjs.map +1 -1
  4. package/dist/AssetsController.d.cts +2 -31
  5. package/dist/AssetsController.d.cts.map +1 -1
  6. package/dist/AssetsController.d.mts +2 -31
  7. package/dist/AssetsController.d.mts.map +1 -1
  8. package/dist/AssetsController.mjs +14 -66
  9. package/dist/AssetsController.mjs.map +1 -1
  10. package/dist/data-sources/AccountsApiDataSource.cjs +8 -6
  11. package/dist/data-sources/AccountsApiDataSource.cjs.map +1 -1
  12. package/dist/data-sources/AccountsApiDataSource.d.cts.map +1 -1
  13. package/dist/data-sources/AccountsApiDataSource.d.mts.map +1 -1
  14. package/dist/data-sources/AccountsApiDataSource.mjs +6 -4
  15. package/dist/data-sources/AccountsApiDataSource.mjs.map +1 -1
  16. package/dist/data-sources/BackendWebsocketDataSource.cjs +2 -4
  17. package/dist/data-sources/BackendWebsocketDataSource.cjs.map +1 -1
  18. package/dist/data-sources/BackendWebsocketDataSource.d.cts.map +1 -1
  19. package/dist/data-sources/BackendWebsocketDataSource.d.mts.map +1 -1
  20. package/dist/data-sources/BackendWebsocketDataSource.mjs +2 -4
  21. package/dist/data-sources/BackendWebsocketDataSource.mjs.map +1 -1
  22. package/dist/data-sources/PriceDataSource.cjs +3 -13
  23. package/dist/data-sources/PriceDataSource.cjs.map +1 -1
  24. package/dist/data-sources/PriceDataSource.d.cts.map +1 -1
  25. package/dist/data-sources/PriceDataSource.d.mts.map +1 -1
  26. package/dist/data-sources/PriceDataSource.mjs +3 -13
  27. package/dist/data-sources/PriceDataSource.mjs.map +1 -1
  28. package/dist/data-sources/RpcDataSource.cjs +9 -79
  29. package/dist/data-sources/RpcDataSource.cjs.map +1 -1
  30. package/dist/data-sources/RpcDataSource.d.cts +1 -21
  31. package/dist/data-sources/RpcDataSource.d.cts.map +1 -1
  32. package/dist/data-sources/RpcDataSource.d.mts +1 -21
  33. package/dist/data-sources/RpcDataSource.d.mts.map +1 -1
  34. package/dist/data-sources/RpcDataSource.mjs +10 -80
  35. package/dist/data-sources/RpcDataSource.mjs.map +1 -1
  36. package/dist/data-sources/SnapDataSource.cjs +4 -16
  37. package/dist/data-sources/SnapDataSource.cjs.map +1 -1
  38. package/dist/data-sources/SnapDataSource.d.cts +1 -2
  39. package/dist/data-sources/SnapDataSource.d.cts.map +1 -1
  40. package/dist/data-sources/SnapDataSource.d.mts +1 -2
  41. package/dist/data-sources/SnapDataSource.d.mts.map +1 -1
  42. package/dist/data-sources/SnapDataSource.mjs +4 -16
  43. package/dist/data-sources/SnapDataSource.mjs.map +1 -1
  44. package/dist/data-sources/TokenDataSource.cjs +0 -5
  45. package/dist/data-sources/TokenDataSource.cjs.map +1 -1
  46. package/dist/data-sources/TokenDataSource.d.cts.map +1 -1
  47. package/dist/data-sources/TokenDataSource.d.mts.map +1 -1
  48. package/dist/data-sources/TokenDataSource.mjs +0 -5
  49. package/dist/data-sources/TokenDataSource.mjs.map +1 -1
  50. package/dist/data-sources/evm-rpc-services/index.cjs +1 -5
  51. package/dist/data-sources/evm-rpc-services/index.cjs.map +1 -1
  52. package/dist/data-sources/evm-rpc-services/index.d.cts +1 -1
  53. package/dist/data-sources/evm-rpc-services/index.d.cts.map +1 -1
  54. package/dist/data-sources/evm-rpc-services/index.d.mts +1 -1
  55. package/dist/data-sources/evm-rpc-services/index.d.mts.map +1 -1
  56. package/dist/data-sources/evm-rpc-services/index.mjs +1 -1
  57. package/dist/data-sources/evm-rpc-services/index.mjs.map +1 -1
  58. package/dist/data-sources/evm-rpc-services/services/index.cjs +1 -6
  59. package/dist/data-sources/evm-rpc-services/services/index.cjs.map +1 -1
  60. package/dist/data-sources/evm-rpc-services/services/index.d.cts +0 -1
  61. package/dist/data-sources/evm-rpc-services/services/index.d.cts.map +1 -1
  62. package/dist/data-sources/evm-rpc-services/services/index.d.mts +0 -1
  63. package/dist/data-sources/evm-rpc-services/services/index.d.mts.map +1 -1
  64. package/dist/data-sources/evm-rpc-services/services/index.mjs +0 -1
  65. package/dist/data-sources/evm-rpc-services/services/index.mjs.map +1 -1
  66. package/dist/data-sources/evm-rpc-services/utils/index.cjs +1 -9
  67. package/dist/data-sources/evm-rpc-services/utils/index.cjs.map +1 -1
  68. package/dist/data-sources/evm-rpc-services/utils/index.d.cts +0 -2
  69. package/dist/data-sources/evm-rpc-services/utils/index.d.cts.map +1 -1
  70. package/dist/data-sources/evm-rpc-services/utils/index.d.mts +0 -2
  71. package/dist/data-sources/evm-rpc-services/utils/index.d.mts.map +1 -1
  72. package/dist/data-sources/evm-rpc-services/utils/index.mjs +0 -2
  73. package/dist/data-sources/evm-rpc-services/utils/index.mjs.map +1 -1
  74. package/dist/data-sources/index.cjs +1 -3
  75. package/dist/data-sources/index.cjs.map +1 -1
  76. package/dist/data-sources/index.d.cts +0 -1
  77. package/dist/data-sources/index.d.cts.map +1 -1
  78. package/dist/data-sources/index.d.mts +0 -1
  79. package/dist/data-sources/index.d.mts.map +1 -1
  80. package/dist/data-sources/index.mjs +0 -1
  81. package/dist/data-sources/index.mjs.map +1 -1
  82. package/package.json +1 -1
  83. package/dist/data-sources/StakedBalanceDataSource.cjs +0 -613
  84. package/dist/data-sources/StakedBalanceDataSource.cjs.map +0 -1
  85. package/dist/data-sources/StakedBalanceDataSource.d.cts +0 -72
  86. package/dist/data-sources/StakedBalanceDataSource.d.cts.map +0 -1
  87. package/dist/data-sources/StakedBalanceDataSource.d.mts +0 -72
  88. package/dist/data-sources/StakedBalanceDataSource.d.mts.map +0 -1
  89. package/dist/data-sources/StakedBalanceDataSource.mjs +0 -609
  90. package/dist/data-sources/StakedBalanceDataSource.mjs.map +0 -1
  91. package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.cjs +0 -132
  92. package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.cjs.map +0 -1
  93. package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.d.cts +0 -78
  94. package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.d.cts.map +0 -1
  95. package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.d.mts +0 -78
  96. package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.d.mts.map +0 -1
  97. package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.mjs +0 -126
  98. package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.mjs.map +0 -1
  99. package/dist/data-sources/evm-rpc-services/utils/parsing.cjs +0 -39
  100. package/dist/data-sources/evm-rpc-services/utils/parsing.cjs.map +0 -1
  101. package/dist/data-sources/evm-rpc-services/utils/parsing.d.cts +0 -19
  102. package/dist/data-sources/evm-rpc-services/utils/parsing.d.cts.map +0 -1
  103. package/dist/data-sources/evm-rpc-services/utils/parsing.d.mts +0 -19
  104. package/dist/data-sources/evm-rpc-services/utils/parsing.d.mts.map +0 -1
  105. package/dist/data-sources/evm-rpc-services/utils/parsing.mjs +0 -34
  106. package/dist/data-sources/evm-rpc-services/utils/parsing.mjs.map +0 -1
  107. package/dist/data-sources/evm-rpc-services/utils/staking-contracts.cjs +0 -70
  108. package/dist/data-sources/evm-rpc-services/utils/staking-contracts.cjs.map +0 -1
  109. package/dist/data-sources/evm-rpc-services/utils/staking-contracts.d.cts +0 -25
  110. package/dist/data-sources/evm-rpc-services/utils/staking-contracts.d.cts.map +0 -1
  111. package/dist/data-sources/evm-rpc-services/utils/staking-contracts.d.mts +0 -25
  112. package/dist/data-sources/evm-rpc-services/utils/staking-contracts.d.mts.map +0 -1
  113. package/dist/data-sources/evm-rpc-services/utils/staking-contracts.mjs +0 -64
  114. package/dist/data-sources/evm-rpc-services/utils/staking-contracts.mjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -9,7 +9,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  ### Added
11
11
 
12
- - Add `StakedBalanceDataSource` that polls supported staking contracts on enabled chains and merges staked balances into `assetsBalance`. Configurable via `stakedBalanceDataSourceConfig` (`enabled`, `pollInterval`); the controller subscribes to it when enabled and cleans up on destroy ([#7936](https://github.com/MetaMask/core/pull/7936))
13
12
  - Add optional `trackMetaMetricsEvent` callback to measure and report first init/fetch historical time (duration in ms) to MetaMetrics when the initial asset fetch completes after unlock or app open ([#7871](https://github.com/MetaMask/core/pull/7871))
14
13
  - Add `AccountsApiDataSourceConfig` and `PriceDataSourceConfig` types; add `accountsApiDataSourceConfig` and `priceDataSourceConfig` options to `AssetsControllerOptions` for per-data-source configuration (pollInterval, tokenDetectionEnabled, etc.). When `tokenDetectionEnabled` is false, `AccountsApiDataSource` only returns balances for tokens already in state and does not add new tokens ([#7926](https://github.com/MetaMask/core/pull/7926))
15
14
  - Add `useExternalService` option to `TokenDetector`, `TokenDetectionOptions`, `RpcDataSourceConfig`, and `RpcDataSourceOptions`. Token detection runs only when both `tokenDetectionEnabled` and `useExternalService` are true and stops when either is false ([#7924](https://github.com/MetaMask/core/pull/7924))
@@ -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_trackMetaMetricsEvent, _AssetsController_firstInitFetchReported, _AssetsController_controllerMutex, _AssetsController_activeSubscriptions, _AssetsController_enabledChains, _AssetsController_selectedAccounts_get, _AssetsController_backendWebsocketDataSource, _AssetsController_accountsApiDataSource, _AssetsController_snapDataSource, _AssetsController_rpcDataSource, _AssetsController_stakedBalanceDataSource, _AssetsController_allBalanceDataSources_get, _AssetsController_priceDataSource, _AssetsController_detectionMiddleware, _AssetsController_tokenDataSource, _AssetsController_unsubscribeBasicFunctionality, _AssetsController_constructionState, _AssetsController_initializeState, _AssetsController_extractEnabledChains, _AssetsController_normalizeChainReference, _AssetsController_subscribeToEvents, _AssetsController_registerActionHandlers, _AssetsController_executeMiddlewares, _AssetsController_updateState, _AssetsController_getAssetsFromState, _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_trackMetaMetricsEvent, _AssetsController_firstInitFetchReported, _AssetsController_controllerMutex, _AssetsController_activeSubscriptions, _AssetsController_enabledChains, _AssetsController_selectedAccounts_get, _AssetsController_backendWebsocketDataSource, _AssetsController_accountsApiDataSource, _AssetsController_snapDataSource, _AssetsController_rpcDataSource, _AssetsController_allBalanceDataSources_get, _AssetsController_priceDataSource, _AssetsController_detectionMiddleware, _AssetsController_tokenDataSource, _AssetsController_unsubscribeBasicFunctionality, _AssetsController_initializeState, _AssetsController_extractEnabledChains, _AssetsController_normalizeChainReference, _AssetsController_subscribeToEvents, _AssetsController_registerActionHandlers, _AssetsController_executeMiddlewares, _AssetsController_updateState, _AssetsController_getAssetsFromState, _AssetsController_tokenStandardToAssetType, _AssetsController_start, _AssetsController_stop, _AssetsController_subscribeAssets, _AssetsController_subscribeAssetsBalance, _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");
@@ -26,7 +26,6 @@ const BackendWebsocketDataSource_1 = require("./data-sources/BackendWebsocketDat
26
26
  const PriceDataSource_1 = require("./data-sources/PriceDataSource.cjs");
27
27
  const RpcDataSource_1 = require("./data-sources/RpcDataSource.cjs");
28
28
  const SnapDataSource_1 = require("./data-sources/SnapDataSource.cjs");
29
- const StakedBalanceDataSource_1 = require("./data-sources/StakedBalanceDataSource.cjs");
30
29
  const TokenDataSource_1 = require("./data-sources/TokenDataSource.cjs");
31
30
  const logger_1 = require("./logger.cjs");
32
31
  const DetectionMiddleware_1 = require("./middlewares/DetectionMiddleware.cjs");
@@ -183,7 +182,7 @@ function normalizeResponse(response) {
183
182
  * - The controller does NOT manage polling - it simply receives pushed updates
184
183
  */
185
184
  class AssetsController extends base_controller_1.BaseController {
186
- constructor({ messenger, state = {}, defaultUpdateInterval = DEFAULT_POLLING_INTERVAL_MS, isEnabled = () => true, isBasicFunctionality, subscribeToBasicFunctionalityChange, queryApiClient, rpcDataSourceConfig, trackMetaMetricsEvent, accountsApiDataSourceConfig, priceDataSourceConfig, stakedBalanceDataSourceConfig, }) {
185
+ constructor({ messenger, state = {}, defaultUpdateInterval = DEFAULT_POLLING_INTERVAL_MS, isEnabled = () => true, isBasicFunctionality, subscribeToBasicFunctionalityChange, queryApiClient, rpcDataSourceConfig, trackMetaMetricsEvent, accountsApiDataSourceConfig, priceDataSourceConfig, }) {
187
186
  super({
188
187
  name: CONTROLLER_NAME,
189
188
  messenger,
@@ -218,23 +217,16 @@ class AssetsController extends base_controller_1.BaseController {
218
217
  _AssetsController_accountsApiDataSource.set(this, void 0);
219
218
  _AssetsController_snapDataSource.set(this, void 0);
220
219
  _AssetsController_rpcDataSource.set(this, void 0);
221
- _AssetsController_stakedBalanceDataSource.set(this, void 0);
222
220
  _AssetsController_priceDataSource.set(this, void 0);
223
221
  _AssetsController_detectionMiddleware.set(this, void 0);
224
222
  _AssetsController_tokenDataSource.set(this, void 0);
225
223
  _AssetsController_unsubscribeBasicFunctionality.set(this, null);
226
- _AssetsController_constructionState.set(this, { initialized: false });
227
224
  __classPrivateFieldSet(this, _AssetsController_isEnabled, isEnabled(), "f");
228
225
  __classPrivateFieldSet(this, _AssetsController_isBasicFunctionality, isBasicFunctionality ?? (() => true), "f");
229
226
  __classPrivateFieldSet(this, _AssetsController_defaultUpdateInterval, defaultUpdateInterval, "f");
230
227
  __classPrivateFieldSet(this, _AssetsController_trackMetaMetricsEvent, trackMetaMetricsEvent, "f");
231
228
  const rpcConfig = rpcDataSourceConfig ?? {};
232
- const onActiveChainsUpdated = (dataSourceName, chains, previousChains) => {
233
- if (!__classPrivateFieldGet(this, _AssetsController_constructionState, "f").initialized) {
234
- return;
235
- }
236
- this.handleActiveChainsUpdate(dataSourceName, chains, previousChains);
237
- };
229
+ const onActiveChainsUpdated = (dataSourceName, chains, previousChains) => this.handleActiveChainsUpdate(dataSourceName, chains, previousChains);
238
230
  __classPrivateFieldSet(this, _AssetsController_backendWebsocketDataSource, new BackendWebsocketDataSource_1.BackendWebsocketDataSource({
239
231
  messenger: this.messenger,
240
232
  queryApiClient,
@@ -254,11 +246,6 @@ class AssetsController extends base_controller_1.BaseController {
254
246
  onActiveChainsUpdated,
255
247
  ...rpcConfig,
256
248
  }), "f");
257
- __classPrivateFieldSet(this, _AssetsController_stakedBalanceDataSource, new StakedBalanceDataSource_1.StakedBalanceDataSource({
258
- messenger: this.messenger,
259
- onActiveChainsUpdated,
260
- ...stakedBalanceDataSourceConfig,
261
- }), "f");
262
249
  __classPrivateFieldSet(this, _AssetsController_tokenDataSource, new TokenDataSource_1.TokenDataSource({
263
250
  queryApiClient,
264
251
  }), "f");
@@ -277,8 +264,6 @@ class AssetsController extends base_controller_1.BaseController {
277
264
  __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_initializeState).call(this);
278
265
  __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_subscribeToEvents).call(this);
279
266
  __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_registerActionHandlers).call(this);
280
- __classPrivateFieldGet(this, _AssetsController_constructionState, "f").initialized = true;
281
- // Subscriptions start only on KeyringController:unlock -> #start(), not here.
282
267
  // Subscribe to basic-functionality changes after construction so a synchronous
283
268
  // onChange during subscribe cannot run before data sources are initialized.
284
269
  if (subscribeToBasicFunctionalityChange) {
@@ -305,9 +290,6 @@ class AssetsController extends base_controller_1.BaseController {
305
290
  * @param previousChains - Previous chains; used to compute added/removed.
306
291
  */
307
292
  handleActiveChainsUpdate(dataSourceId, activeChains, previousChains) {
308
- if (!__classPrivateFieldGet(this, _AssetsController_isEnabled, "f")) {
309
- return;
310
- }
311
293
  log('Data source active chains changed', {
312
294
  dataSourceId,
313
295
  chainCount: activeChains.length,
@@ -361,16 +343,11 @@ class AssetsController extends base_controller_1.BaseController {
361
343
  __classPrivateFieldGet(this, _AssetsController_accountsApiDataSource, "f"),
362
344
  __classPrivateFieldGet(this, _AssetsController_snapDataSource, "f"),
363
345
  __classPrivateFieldGet(this, _AssetsController_rpcDataSource, "f"),
364
- __classPrivateFieldGet(this, _AssetsController_stakedBalanceDataSource, "f"),
365
346
  __classPrivateFieldGet(this, _AssetsController_detectionMiddleware, "f"),
366
347
  __classPrivateFieldGet(this, _AssetsController_tokenDataSource, "f"),
367
348
  __classPrivateFieldGet(this, _AssetsController_priceDataSource, "f"),
368
349
  ]
369
- : [
370
- __classPrivateFieldGet(this, _AssetsController_rpcDataSource, "f"),
371
- __classPrivateFieldGet(this, _AssetsController_stakedBalanceDataSource, "f"),
372
- __classPrivateFieldGet(this, _AssetsController_detectionMiddleware, "f"),
373
- ];
350
+ : [__classPrivateFieldGet(this, _AssetsController_rpcDataSource, "f"), __classPrivateFieldGet(this, _AssetsController_detectionMiddleware, "f")];
374
351
  const { response, durationByDataSource } = await __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_executeMiddlewares).call(this, sources, request);
375
352
  await __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_updateState).call(this, response);
376
353
  if (__classPrivateFieldGet(this, _AssetsController_trackMetaMetricsEvent, "f") && !__classPrivateFieldGet(this, _AssetsController_firstInitFetchReported, "f")) {
@@ -638,7 +615,6 @@ class AssetsController extends base_controller_1.BaseController {
638
615
  __classPrivateFieldGet(this, _AssetsController_accountsApiDataSource, "f")?.destroy?.();
639
616
  __classPrivateFieldGet(this, _AssetsController_snapDataSource, "f")?.destroy?.();
640
617
  __classPrivateFieldGet(this, _AssetsController_rpcDataSource, "f")?.destroy?.();
641
- __classPrivateFieldGet(this, _AssetsController_stakedBalanceDataSource, "f")?.destroy?.();
642
618
  // Stop all active subscriptions
643
619
  __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_stop).call(this);
644
620
  if (__classPrivateFieldGet(this, _AssetsController_unsubscribeBasicFunctionality, "f")) {
@@ -658,7 +634,7 @@ class AssetsController extends base_controller_1.BaseController {
658
634
  }
659
635
  }
660
636
  exports.AssetsController = AssetsController;
661
- _AssetsController_isEnabled = new WeakMap(), _AssetsController_isBasicFunctionality = new WeakMap(), _AssetsController_defaultUpdateInterval = new WeakMap(), _AssetsController_trackMetaMetricsEvent = new WeakMap(), _AssetsController_firstInitFetchReported = new WeakMap(), _AssetsController_controllerMutex = new WeakMap(), _AssetsController_activeSubscriptions = new WeakMap(), _AssetsController_enabledChains = 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_constructionState = new WeakMap(), _AssetsController_instances = new WeakSet(), _AssetsController_selectedAccounts_get = function _AssetsController_selectedAccounts_get() {
637
+ _AssetsController_isEnabled = new WeakMap(), _AssetsController_isBasicFunctionality = new WeakMap(), _AssetsController_defaultUpdateInterval = new WeakMap(), _AssetsController_trackMetaMetricsEvent = new WeakMap(), _AssetsController_firstInitFetchReported = new WeakMap(), _AssetsController_controllerMutex = new WeakMap(), _AssetsController_activeSubscriptions = new WeakMap(), _AssetsController_enabledChains = new WeakMap(), _AssetsController_backendWebsocketDataSource = new WeakMap(), _AssetsController_accountsApiDataSource = new WeakMap(), _AssetsController_snapDataSource = new WeakMap(), _AssetsController_rpcDataSource = new WeakMap(), _AssetsController_priceDataSource = new WeakMap(), _AssetsController_detectionMiddleware = new WeakMap(), _AssetsController_tokenDataSource = new WeakMap(), _AssetsController_unsubscribeBasicFunctionality = new WeakMap(), _AssetsController_instances = new WeakSet(), _AssetsController_selectedAccounts_get = function _AssetsController_selectedAccounts_get() {
662
638
  return this.messenger.call('AccountTreeController:getAccountsFromSelectedAccountGroup');
663
639
  }, _AssetsController_allBalanceDataSources_get = function _AssetsController_allBalanceDataSources_get() {
664
640
  return [
@@ -694,7 +670,7 @@ _AssetsController_isEnabled = new WeakMap(), _AssetsController_isBasicFunctional
694
670
  }
695
671
  return chains;
696
672
  }, _AssetsController_normalizeChainReference = function _AssetsController_normalizeChainReference(namespace, reference) {
697
- if (namespace === 'eip155' && (0, utils_1.isStrictHexString)(reference)) {
673
+ if (namespace === 'eip155' && reference.startsWith('0x')) {
698
674
  // Convert hex to decimal for EIP155 chains
699
675
  return parseInt(reference, 16).toString();
700
676
  }
@@ -973,17 +949,13 @@ async function _AssetsController_updateState(response) {
973
949
  this.unsubscribeAssetsPrice();
974
950
  // Stop balance subscriptions by properly notifying data sources via messenger
975
951
  // This ensures data sources stop their polling timers.
976
- // Use #allBalanceDataSources + staked balance source so we unsubscribe from
977
- // every source that may have been subscribed.
978
- const allSources = [
979
- ...__classPrivateFieldGet(this, _AssetsController_instances, "a", _AssetsController_allBalanceDataSources_get),
980
- __classPrivateFieldGet(this, _AssetsController_stakedBalanceDataSource, "f"),
981
- ];
952
+ // Use #allBalanceDataSources so we unsubscribe from every source that may have
953
+ // been subscribed (e.g. when switching from full to basic functionality).
982
954
  const subscriptionKeys = [...__classPrivateFieldGet(this, _AssetsController_activeSubscriptions, "f").keys()];
983
955
  for (const subscriptionKey of subscriptionKeys) {
984
956
  if (subscriptionKey.startsWith('ds:')) {
985
957
  const sourceId = subscriptionKey.slice(3);
986
- const source = allSources.find((ds) => ds.getName() === sourceId);
958
+ const source = __classPrivateFieldGet(this, _AssetsController_instances, "a", _AssetsController_allBalanceDataSources_get).find((ds) => ds.getName() === sourceId);
987
959
  if (source) {
988
960
  __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_unsubscribeDataSource).call(this, source);
989
961
  }
@@ -998,10 +970,6 @@ async function _AssetsController_updateState(response) {
998
970
  __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_subscribeAssetsBalance).call(this, __classPrivateFieldGet(this, _AssetsController_instances, "a", _AssetsController_selectedAccounts_get), [
999
971
  ...__classPrivateFieldGet(this, _AssetsController_enabledChains, "f"),
1000
972
  ]);
1001
- // Subscribe to staked balance updates (separate from regular balance chain-claiming)
1002
- __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_subscribeStakedBalance).call(this, __classPrivateFieldGet(this, _AssetsController_instances, "a", _AssetsController_selectedAccounts_get), [
1003
- ...__classPrivateFieldGet(this, _AssetsController_enabledChains, "f"),
1004
- ]);
1005
973
  // Subscribe to price updates for all assets held by selected accounts
1006
974
  this.subscribeAssetsPrice(__classPrivateFieldGet(this, _AssetsController_instances, "a", _AssetsController_selectedAccounts_get), [...__classPrivateFieldGet(this, _AssetsController_enabledChains, "f")]);
1007
975
  }, _AssetsController_subscribeAssetsBalance = function _AssetsController_subscribeAssetsBalance(accounts, chainIds) {
@@ -1032,18 +1000,6 @@ async function _AssetsController_updateState(response) {
1032
1000
  __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_subscribeDataSource).call(this, source, accountsForSource, assignedChains);
1033
1001
  }
1034
1002
  }
1035
- }, _AssetsController_subscribeStakedBalance = function _AssetsController_subscribeStakedBalance(accounts, chainIds) {
1036
- const source = __classPrivateFieldGet(this, _AssetsController_stakedBalanceDataSource, "f");
1037
- if (!source) {
1038
- return;
1039
- }
1040
- const availableChains = new Set(source.getActiveChainsSync());
1041
- const assignedChains = chainIds.filter((chainId) => availableChains.has(chainId));
1042
- if (assignedChains.length === 0) {
1043
- __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_unsubscribeDataSource).call(this, source);
1044
- return;
1045
- }
1046
- __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_subscribeDataSource).call(this, source, accounts, assignedChains);
1047
1003
  }, _AssetsController_buildChainToAccountsMap = function _AssetsController_buildChainToAccountsMap(accounts, chainsToSubscribe) {
1048
1004
  const chainToAccounts = new Map();
1049
1005
  for (const account of accounts) {
@@ -1120,24 +1076,16 @@ async function _AssetsController_updateState(response) {
1120
1076
  const scopes = account.scopes ?? [];
1121
1077
  const result = [];
1122
1078
  for (const scope of scopes) {
1123
- const scopeStr = scope;
1124
- if (!(0, utils_1.isCaipChainId)(scopeStr)) {
1125
- result.push(scope);
1126
- continue;
1127
- }
1128
- const { namespace, reference } = (0, utils_1.parseCaipChainId)(scopeStr);
1079
+ const [namespace, reference] = scope.split(':');
1129
1080
  // Wildcard scope (e.g., "eip155:0" means all enabled chains in that namespace)
1130
1081
  if (reference === '0') {
1131
1082
  for (const chain of __classPrivateFieldGet(this, _AssetsController_enabledChains, "f")) {
1132
- if ((0, utils_1.isCaipChainId)(chain)) {
1133
- const chainParsed = (0, utils_1.parseCaipChainId)(chain);
1134
- if (chainParsed.namespace === namespace) {
1135
- result.push(chain);
1136
- }
1083
+ if (chain.startsWith(`${namespace}:`)) {
1084
+ result.push(chain);
1137
1085
  }
1138
1086
  }
1139
1087
  }
1140
- else if (namespace === 'eip155' && (0, utils_1.isStrictHexString)(reference)) {
1088
+ else if (namespace === 'eip155' && reference?.startsWith('0x')) {
1141
1089
  // Normalize hex to decimal for EIP155
1142
1090
  result.push(`eip155:${parseInt(reference, 16)}`);
1143
1091
  }