@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.
- package/CHANGELOG.md +0 -1
- package/dist/AssetsController.cjs +13 -65
- package/dist/AssetsController.cjs.map +1 -1
- package/dist/AssetsController.d.cts +2 -31
- package/dist/AssetsController.d.cts.map +1 -1
- package/dist/AssetsController.d.mts +2 -31
- package/dist/AssetsController.d.mts.map +1 -1
- package/dist/AssetsController.mjs +14 -66
- package/dist/AssetsController.mjs.map +1 -1
- package/dist/data-sources/AccountsApiDataSource.cjs +8 -6
- package/dist/data-sources/AccountsApiDataSource.cjs.map +1 -1
- package/dist/data-sources/AccountsApiDataSource.d.cts.map +1 -1
- package/dist/data-sources/AccountsApiDataSource.d.mts.map +1 -1
- package/dist/data-sources/AccountsApiDataSource.mjs +6 -4
- package/dist/data-sources/AccountsApiDataSource.mjs.map +1 -1
- package/dist/data-sources/BackendWebsocketDataSource.cjs +2 -4
- 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 -4
- package/dist/data-sources/BackendWebsocketDataSource.mjs.map +1 -1
- package/dist/data-sources/PriceDataSource.cjs +3 -13
- package/dist/data-sources/PriceDataSource.cjs.map +1 -1
- package/dist/data-sources/PriceDataSource.d.cts.map +1 -1
- package/dist/data-sources/PriceDataSource.d.mts.map +1 -1
- package/dist/data-sources/PriceDataSource.mjs +3 -13
- package/dist/data-sources/PriceDataSource.mjs.map +1 -1
- package/dist/data-sources/RpcDataSource.cjs +9 -79
- package/dist/data-sources/RpcDataSource.cjs.map +1 -1
- package/dist/data-sources/RpcDataSource.d.cts +1 -21
- package/dist/data-sources/RpcDataSource.d.cts.map +1 -1
- package/dist/data-sources/RpcDataSource.d.mts +1 -21
- package/dist/data-sources/RpcDataSource.d.mts.map +1 -1
- package/dist/data-sources/RpcDataSource.mjs +10 -80
- package/dist/data-sources/RpcDataSource.mjs.map +1 -1
- package/dist/data-sources/SnapDataSource.cjs +4 -16
- package/dist/data-sources/SnapDataSource.cjs.map +1 -1
- package/dist/data-sources/SnapDataSource.d.cts +1 -2
- package/dist/data-sources/SnapDataSource.d.cts.map +1 -1
- package/dist/data-sources/SnapDataSource.d.mts +1 -2
- package/dist/data-sources/SnapDataSource.d.mts.map +1 -1
- package/dist/data-sources/SnapDataSource.mjs +4 -16
- package/dist/data-sources/SnapDataSource.mjs.map +1 -1
- package/dist/data-sources/TokenDataSource.cjs +0 -5
- 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 +0 -5
- package/dist/data-sources/TokenDataSource.mjs.map +1 -1
- package/dist/data-sources/evm-rpc-services/index.cjs +1 -5
- package/dist/data-sources/evm-rpc-services/index.cjs.map +1 -1
- package/dist/data-sources/evm-rpc-services/index.d.cts +1 -1
- package/dist/data-sources/evm-rpc-services/index.d.cts.map +1 -1
- package/dist/data-sources/evm-rpc-services/index.d.mts +1 -1
- package/dist/data-sources/evm-rpc-services/index.d.mts.map +1 -1
- package/dist/data-sources/evm-rpc-services/index.mjs +1 -1
- package/dist/data-sources/evm-rpc-services/index.mjs.map +1 -1
- package/dist/data-sources/evm-rpc-services/services/index.cjs +1 -6
- package/dist/data-sources/evm-rpc-services/services/index.cjs.map +1 -1
- package/dist/data-sources/evm-rpc-services/services/index.d.cts +0 -1
- package/dist/data-sources/evm-rpc-services/services/index.d.cts.map +1 -1
- package/dist/data-sources/evm-rpc-services/services/index.d.mts +0 -1
- package/dist/data-sources/evm-rpc-services/services/index.d.mts.map +1 -1
- package/dist/data-sources/evm-rpc-services/services/index.mjs +0 -1
- package/dist/data-sources/evm-rpc-services/services/index.mjs.map +1 -1
- package/dist/data-sources/evm-rpc-services/utils/index.cjs +1 -9
- package/dist/data-sources/evm-rpc-services/utils/index.cjs.map +1 -1
- package/dist/data-sources/evm-rpc-services/utils/index.d.cts +0 -2
- package/dist/data-sources/evm-rpc-services/utils/index.d.cts.map +1 -1
- package/dist/data-sources/evm-rpc-services/utils/index.d.mts +0 -2
- package/dist/data-sources/evm-rpc-services/utils/index.d.mts.map +1 -1
- package/dist/data-sources/evm-rpc-services/utils/index.mjs +0 -2
- package/dist/data-sources/evm-rpc-services/utils/index.mjs.map +1 -1
- package/dist/data-sources/index.cjs +1 -3
- package/dist/data-sources/index.cjs.map +1 -1
- package/dist/data-sources/index.d.cts +0 -1
- package/dist/data-sources/index.d.cts.map +1 -1
- package/dist/data-sources/index.d.mts +0 -1
- package/dist/data-sources/index.d.mts.map +1 -1
- package/dist/data-sources/index.mjs +0 -1
- package/dist/data-sources/index.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/data-sources/StakedBalanceDataSource.cjs +0 -613
- package/dist/data-sources/StakedBalanceDataSource.cjs.map +0 -1
- package/dist/data-sources/StakedBalanceDataSource.d.cts +0 -72
- package/dist/data-sources/StakedBalanceDataSource.d.cts.map +0 -1
- package/dist/data-sources/StakedBalanceDataSource.d.mts +0 -72
- package/dist/data-sources/StakedBalanceDataSource.d.mts.map +0 -1
- package/dist/data-sources/StakedBalanceDataSource.mjs +0 -609
- package/dist/data-sources/StakedBalanceDataSource.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.cjs +0 -132
- package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.d.cts +0 -78
- package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.d.mts +0 -78
- package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.mjs +0 -126
- package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/parsing.cjs +0 -39
- package/dist/data-sources/evm-rpc-services/utils/parsing.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/parsing.d.cts +0 -19
- package/dist/data-sources/evm-rpc-services/utils/parsing.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/parsing.d.mts +0 -19
- package/dist/data-sources/evm-rpc-services/utils/parsing.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/parsing.mjs +0 -34
- package/dist/data-sources/evm-rpc-services/utils/parsing.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/staking-contracts.cjs +0 -70
- package/dist/data-sources/evm-rpc-services/utils/staking-contracts.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/staking-contracts.d.cts +0 -25
- package/dist/data-sources/evm-rpc-services/utils/staking-contracts.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/staking-contracts.d.mts +0 -25
- package/dist/data-sources/evm-rpc-services/utils/staking-contracts.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/staking-contracts.mjs +0 -64
- 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,
|
|
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,
|
|
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(),
|
|
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' &&
|
|
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
|
|
977
|
-
//
|
|
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 =
|
|
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
|
|
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 (
|
|
1133
|
-
|
|
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' && (
|
|
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
|
}
|