@metamask-previews/assets-controller 11.2.1-preview-764a19ce8 → 11.2.1-preview-2dc3d26a4
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 +20 -5
- package/dist/AssetsController.cjs +24 -51
- package/dist/AssetsController.cjs.map +1 -1
- package/dist/AssetsController.d.cts +3 -3
- package/dist/AssetsController.d.cts.map +1 -1
- package/dist/AssetsController.d.mts +3 -3
- package/dist/AssetsController.d.mts.map +1 -1
- package/dist/AssetsController.mjs +24 -51
- package/dist/AssetsController.mjs.map +1 -1
- package/dist/data-sources/AccountActivityDataSource.cjs +262 -0
- package/dist/data-sources/AccountActivityDataSource.cjs.map +1 -0
- package/dist/data-sources/AccountActivityDataSource.d.cts +80 -0
- package/dist/data-sources/AccountActivityDataSource.d.cts.map +1 -0
- package/dist/data-sources/AccountActivityDataSource.d.mts +80 -0
- package/dist/data-sources/AccountActivityDataSource.d.mts.map +1 -0
- package/dist/data-sources/AccountActivityDataSource.mjs +254 -0
- package/dist/data-sources/AccountActivityDataSource.mjs.map +1 -0
- package/dist/data-sources/SnapDataSource.cjs +10 -49
- package/dist/data-sources/SnapDataSource.cjs.map +1 -1
- package/dist/data-sources/SnapDataSource.d.cts +8 -0
- package/dist/data-sources/SnapDataSource.d.cts.map +1 -1
- package/dist/data-sources/SnapDataSource.d.mts +8 -0
- package/dist/data-sources/SnapDataSource.d.mts.map +1 -1
- package/dist/data-sources/SnapDataSource.mjs +10 -49
- package/dist/data-sources/SnapDataSource.mjs.map +1 -1
- package/dist/data-sources/index.cjs +4 -4
- package/dist/data-sources/index.cjs.map +1 -1
- package/dist/data-sources/index.d.cts +1 -1
- package/dist/data-sources/index.d.cts.map +1 -1
- package/dist/data-sources/index.d.mts +1 -1
- package/dist/data-sources/index.d.mts.map +1 -1
- package/dist/data-sources/index.mjs +1 -1
- package/dist/data-sources/index.mjs.map +1 -1
- package/dist/index.cjs +22 -26
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +0 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +0 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +0 -2
- package/dist/index.mjs.map +1 -1
- package/dist/middlewares/CustomAssetGraduationMiddleware.cjs +1 -1
- package/dist/middlewares/CustomAssetGraduationMiddleware.cjs.map +1 -1
- package/dist/middlewares/CustomAssetGraduationMiddleware.mjs +1 -1
- package/dist/middlewares/CustomAssetGraduationMiddleware.mjs.map +1 -1
- package/package.json +4 -4
- package/dist/data-sources/BackendWebsocketDataSource.cjs +0 -597
- package/dist/data-sources/BackendWebsocketDataSource.cjs.map +0 -1
- package/dist/data-sources/BackendWebsocketDataSource.d.cts +0 -65
- package/dist/data-sources/BackendWebsocketDataSource.d.cts.map +0 -1
- package/dist/data-sources/BackendWebsocketDataSource.d.mts +0 -65
- package/dist/data-sources/BackendWebsocketDataSource.d.mts.map +0 -1
- package/dist/data-sources/BackendWebsocketDataSource.mjs +0 -592
- package/dist/data-sources/BackendWebsocketDataSource.mjs.map +0 -1
- package/dist/utils/processAccountActivityBalanceUpdates.cjs +0 -54
- package/dist/utils/processAccountActivityBalanceUpdates.cjs.map +0 -1
- package/dist/utils/processAccountActivityBalanceUpdates.d.cts +0 -13
- package/dist/utils/processAccountActivityBalanceUpdates.d.cts.map +0 -1
- package/dist/utils/processAccountActivityBalanceUpdates.d.mts +0 -13
- package/dist/utils/processAccountActivityBalanceUpdates.d.mts.map +0 -1
- package/dist/utils/processAccountActivityBalanceUpdates.mjs +0 -47
- package/dist/utils/processAccountActivityBalanceUpdates.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,26 @@ 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
|
+
- `SnapDataSource` now preserves optional balance `metadata` from snap keyrings into `assetsBalance` when handling `AccountsController:accountBalancesUpdated` and `getAccountBalances` results ([#9564](https://github.com/MetaMask/core/pull/9564))
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- Bump `@metamask/keyring-api` from `^23.5.0` to `^23.7.0` ([#9676](https://github.com/MetaMask/core/pull/9676))
|
|
17
|
+
- Bump `@metamask/keyring-internal-api` from `^11.0.1` to `^11.0.2` ([#9676](https://github.com/MetaMask/core/pull/9676))
|
|
18
|
+
- Bump `@metamask/keyring-snap-client` from `^9.2.0` to `^9.2.1` ([#9676](https://github.com/MetaMask/core/pull/9676))
|
|
19
|
+
- `AccountActivityDataSource` is now the highest-priority balance data source and participates in chain-claiming: chains it reports as "up" (from `AccountActivityService:statusChanged`) are claimed first so the polling data sources (`AccountsApiDataSource`/`RpcDataSource`) do not also poll them ([#9517](https://github.com/MetaMask/core/pull/9517))
|
|
20
|
+
- `AssetsController` no longer references `BackendWebSocketService` actions/events; real-time balances and chain status are consumed exclusively from `AccountActivityService`
|
|
21
|
+
|
|
22
|
+
### Removed
|
|
23
|
+
|
|
24
|
+
- **BREAKING:** Remove `BackendWebsocketDataSource` and its factory/types (`BackendWebsocketDataSource`, `createBackendWebsocketDataSource`, `BackendWebsocketDataSourceOptions`, `BackendWebsocketDataSourceState`). Real-time balance updates and per-chain status are now consumed from `AccountActivityService` via `AccountActivityDataSource`, which manages the WebSocket connection and subscriptions. Consumers no longer need to delegate `BackendWebSocketService` actions/events to the `AssetsController` messenger ([#9517](https://github.com/MetaMask/core/pull/9517))
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
|
|
28
|
+
- `SnapDataSource` now delivers snap-sourced balance updates directly to `AssetsController` via a constructor-supplied `onAssetsUpdate` callback instead of fanning out to `activeSubscriptions`, so updates (e.g. Tron energy/bandwidth) are no longer dropped when no active subscription is tracked for the chain in the SnapDataSource ([#9656](https://github.com/MetaMask/core/pull/9656))
|
|
29
|
+
|
|
10
30
|
## [11.2.1]
|
|
11
31
|
|
|
12
32
|
### Fixed
|
|
@@ -55,11 +75,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
55
75
|
- `TokensApiClient` (used by `RpcDataSource` / `TokenDetector`) now sets the token-list `occurrenceFloor` query param from the same Token API `GET /v1/suggestedOccurrenceFloors` endpoint (cached 1h), replacing the hardcoded Linea/MegaETH/Tempo special cases. Missing chains or failed fetches fall back to 3 ([#9537](https://github.com/MetaMask/core/pull/9537))
|
|
56
76
|
- Bump `@metamask/network-enablement-controller` from `^5.5.0` to `^5.6.0` ([#9520](https://github.com/MetaMask/core/pull/9520))
|
|
57
77
|
- Bump `@metamask/phishing-controller` from `^17.2.1` to `^17.3.0` ([#9532](https://github.com/MetaMask/core/pull/9532))
|
|
58
|
-
- Bump `@metamask/transaction-controller` from `^69.0.0` to `^69.1.0` ([#9568](https://github.com/MetaMask/core/pull/9568))
|
|
59
|
-
|
|
60
|
-
### Fixed
|
|
61
|
-
|
|
62
|
-
- `TokenDataSource` now also fetches token metadata for assets present in `assetsBalance` that are missing `assetsInfo` (previously only detected assets without metadata were enriched) ([#9547](https://github.com/MetaMask/core/pull/9547))
|
|
63
78
|
|
|
64
79
|
## [11.0.0]
|
|
65
80
|
|
|
@@ -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_captureException, _AssetsController_firstInitFetchReported, _AssetsController_stateSizeReported, _AssetsController_emitTrace, _AssetsController_emitStateSizeTrace, _AssetsController_uiOpen, _AssetsController_keyringUnlocked, _AssetsController_controllerMutex, _AssetsController_accountRefreshMutex, _AssetsController_activeSubscriptions, _AssetsController_enabledChains, _AssetsController_lastKnownAccountIds, _AssetsController_getSelectedAccounts,
|
|
16
|
+
var _AssetsController_instances, _AssetsController_isEnabled, _AssetsController_isBasicFunctionality, _AssetsController_defaultUpdateInterval, _AssetsController_trace, _AssetsController_captureException, _AssetsController_firstInitFetchReported, _AssetsController_stateSizeReported, _AssetsController_emitTrace, _AssetsController_emitStateSizeTrace, _AssetsController_uiOpen, _AssetsController_keyringUnlocked, _AssetsController_controllerMutex, _AssetsController_accountRefreshMutex, _AssetsController_activeSubscriptions, _AssetsController_enabledChains, _AssetsController_lastKnownAccountIds, _AssetsController_getSelectedAccounts, _AssetsController_accountActivityDataSource, _AssetsController_accountsApiDataSource, _AssetsController_snapDataSource, _AssetsController_rpcDataSource, _AssetsController_stakedBalanceDataSource, _AssetsController_allBalanceDataSources_get, _AssetsController_priceDataSource, _AssetsController_detectionMiddleware, _AssetsController_customAssetGraduationMiddleware, _AssetsController_rpcFallbackMiddleware, _AssetsController_tokenDataSource, _AssetsController_unsubscribeBasicFunctionality, _AssetsController_queryApiClient, _AssetsController_onActiveChainsUpdated, _AssetsController_initializeNativeAssetsMap, _AssetsController_initializeState, _AssetsController_extractEnabledChains, _AssetsController_normalizeChainReference, _AssetsController_subscribeToEvents, _AssetsController_onUnapprovedTransactionAdded, _AssetsController_onTransactionConfirmed, _AssetsController_updateActive, _AssetsController_handleAccountTreeStateChange, _AssetsController_runAccountTreeRefresh, _AssetsController_runStartupRefresh, _AssetsController_registerActionHandlers, _AssetsController_handleActiveChainsUpdate, _AssetsController_executeMiddlewares, _AssetsController_fetchMissingPricesWithoutCache, _AssetsController_getNativeAssetMap, _AssetsController_isNativeAsset, _AssetsController_getAssetType, _AssetsController_resolveNativeAssetIds, _AssetsController_getNativeAssetIdsForEnabledChains, _AssetsController_getNativeAssetIdsForAccount, _AssetsController_getSlowPipelineChainIds, _AssetsController_ensureNativeBalancesDefaultZero, _AssetsController_ensureDefaultTrackedAssetsSeeded, _AssetsController_updateState, _AssetsController_getAssetsFromState, _AssetsController_getAssetFromState, _AssetsController_shouldHideNativeToken, _AssetsController_tokenStandardToAssetType, _AssetsController_start, _AssetsController_stop, _AssetsController_subscribeAssets, _AssetsController_subscribeAssetsBalance, _AssetsController_subscribeRpcCustomAssetsSupplement, _AssetsController_unsubscribeBySubscriptionKey, _AssetsController_subscribeStakedBalance, _AssetsController_buildChainToAccountsMap, _AssetsController_subscribeDataSource, _AssetsController_unsubscribeDataSource, _AssetsController_buildDataRequest, _AssetsController_getEnabledChainsForAccount, _AssetsController_handleAccountGroupChanged, _AssetsController_handleEnabledNetworksChanged, _AssetsController_handleNetworkAdded, _AssetsController_refreshActiveChainsOnNetworkSwitch, _AssetsController_getSelectedEvmChainIdFromNetworkState, _AssetsController_handleNetworkDidChange, _AssetsController_refreshAssetsAfterNetworkChange, _AssetsController_refreshAssetsAfterNetworkAdded;
|
|
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");
|
|
@@ -22,8 +22,8 @@ const utils_1 = require("@metamask/utils");
|
|
|
22
22
|
const async_mutex_1 = require("async-mutex");
|
|
23
23
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
24
24
|
const lodash_1 = require("lodash");
|
|
25
|
+
const AccountActivityDataSource_js_1 = require("./data-sources/AccountActivityDataSource.cjs");
|
|
25
26
|
const AccountsApiDataSource_js_1 = require("./data-sources/AccountsApiDataSource.cjs");
|
|
26
|
-
const BackendWebsocketDataSource_js_1 = require("./data-sources/BackendWebsocketDataSource.cjs");
|
|
27
27
|
const assets_js_1 = require("./data-sources/evm-rpc-services/utils/assets.cjs");
|
|
28
28
|
const PriceDataSource_js_1 = require("./data-sources/PriceDataSource.cjs");
|
|
29
29
|
const RpcDataSource_js_1 = require("./data-sources/RpcDataSource.cjs");
|
|
@@ -41,7 +41,6 @@ const healAssetsInfoMetadata_js_1 = require("./migrations/healAssetsInfoMetadata
|
|
|
41
41
|
const constants_js_1 = require("./utils/constants.cjs");
|
|
42
42
|
const customAssetsRpcSupplement_js_1 = require("./utils/customAssetsRpcSupplement.cjs");
|
|
43
43
|
const index_js_1 = require("./utils/index.cjs");
|
|
44
|
-
const processAccountActivityBalanceUpdates_js_1 = require("./utils/processAccountActivityBalanceUpdates.cjs");
|
|
45
44
|
const NATIVE_ASSETS_QUERY_KEY = ['nativeAssets'];
|
|
46
45
|
/** Stable empty map so memoized formatters are not busted by `?? {}` identity churn. */
|
|
47
46
|
const EMPTY_NATIVE_ASSET_MAP = {};
|
|
@@ -310,7 +309,7 @@ class AssetsController extends base_controller_1.BaseController {
|
|
|
310
309
|
* re-subscriptions when the account set hasn't actually changed.
|
|
311
310
|
*/
|
|
312
311
|
_AssetsController_lastKnownAccountIds.set(this, new Set());
|
|
313
|
-
|
|
312
|
+
_AssetsController_accountActivityDataSource.set(this, void 0);
|
|
314
313
|
_AssetsController_accountsApiDataSource.set(this, void 0);
|
|
315
314
|
_AssetsController_snapDataSource.set(this, void 0);
|
|
316
315
|
_AssetsController_rpcDataSource.set(this, void 0);
|
|
@@ -351,11 +350,11 @@ class AssetsController extends base_controller_1.BaseController {
|
|
|
351
350
|
});
|
|
352
351
|
}
|
|
353
352
|
}, "f");
|
|
354
|
-
__classPrivateFieldSet(this,
|
|
353
|
+
__classPrivateFieldSet(this, _AssetsController_accountActivityDataSource, new AccountActivityDataSource_js_1.AccountActivityDataSource({
|
|
355
354
|
messenger: this.messenger,
|
|
356
|
-
queryApiClient,
|
|
357
355
|
onActiveChainsUpdated: __classPrivateFieldGet(this, _AssetsController_onActiveChainsUpdated, "f"),
|
|
358
356
|
getAssetType: (assetId) => __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getAssetType).call(this, assetId),
|
|
357
|
+
onAssetsUpdate: (response, request) => this.handleAssetsUpdate(response, __classPrivateFieldGet(this, _AssetsController_accountActivityDataSource, "f").getName(), request),
|
|
359
358
|
}), "f");
|
|
360
359
|
__classPrivateFieldSet(this, _AssetsController_accountsApiDataSource, new AccountsApiDataSource_js_1.AccountsApiDataSource({
|
|
361
360
|
messenger: this.messenger,
|
|
@@ -366,6 +365,7 @@ class AssetsController extends base_controller_1.BaseController {
|
|
|
366
365
|
__classPrivateFieldSet(this, _AssetsController_snapDataSource, new SnapDataSource_js_1.SnapDataSource({
|
|
367
366
|
messenger: this.messenger,
|
|
368
367
|
onActiveChainsUpdated: __classPrivateFieldGet(this, _AssetsController_onActiveChainsUpdated, "f"),
|
|
368
|
+
onAssetsUpdate: (response) => this.handleAssetsUpdate(response, 'SnapDataSource'),
|
|
369
369
|
}), "f");
|
|
370
370
|
__classPrivateFieldSet(this, _AssetsController_rpcDataSource, new RpcDataSource_js_1.RpcDataSource({
|
|
371
371
|
messenger: this.messenger,
|
|
@@ -940,12 +940,12 @@ class AssetsController extends base_controller_1.BaseController {
|
|
|
940
940
|
...resolvedRequest,
|
|
941
941
|
dataTypes: resolvedRequest.dataTypes.filter((dt) => dt !== 'metadata' && dt !== 'price'),
|
|
942
942
|
};
|
|
943
|
-
// Graduate custom assets only when AccountsAPI /
|
|
944
|
-
// RPC already fetches custom assets on purpose, and Snap handles
|
|
945
|
-
// chains the rule does not apply to, so skip the middleware for
|
|
943
|
+
// Graduate custom assets only when AccountsAPI / AccountActivity reports
|
|
944
|
+
// them. RPC already fetches custom assets on purpose, and Snap handles
|
|
945
|
+
// non-EVM chains the rule does not apply to, so skip the middleware for
|
|
946
|
+
// those.
|
|
946
947
|
const shouldGraduateCustomAssets = sourceId === 'AccountsApiDataSource' ||
|
|
947
|
-
sourceId === '
|
|
948
|
-
sourceId === 'AccountActivityService';
|
|
948
|
+
sourceId === 'AccountActivityDataSource';
|
|
949
949
|
const enrichmentSources = [
|
|
950
950
|
...(shouldGraduateCustomAssets
|
|
951
951
|
? [__classPrivateFieldGet(this, _AssetsController_customAssetGraduationMiddleware, "f")]
|
|
@@ -983,7 +983,7 @@ class AssetsController extends base_controller_1.BaseController {
|
|
|
983
983
|
subscriptionCount: __classPrivateFieldGet(this, _AssetsController_activeSubscriptions, "f").size,
|
|
984
984
|
});
|
|
985
985
|
// Destroy instantiated data sources
|
|
986
|
-
__classPrivateFieldGet(this,
|
|
986
|
+
__classPrivateFieldGet(this, _AssetsController_accountActivityDataSource, "f")?.destroy?.();
|
|
987
987
|
__classPrivateFieldGet(this, _AssetsController_accountsApiDataSource, "f")?.destroy?.();
|
|
988
988
|
__classPrivateFieldGet(this, _AssetsController_snapDataSource, "f")?.destroy?.();
|
|
989
989
|
__classPrivateFieldGet(this, _AssetsController_rpcDataSource, "f")?.destroy?.();
|
|
@@ -1011,7 +1011,7 @@ class AssetsController extends base_controller_1.BaseController {
|
|
|
1011
1011
|
}
|
|
1012
1012
|
}
|
|
1013
1013
|
exports.AssetsController = AssetsController;
|
|
1014
|
-
_AssetsController_isEnabled = new WeakMap(), _AssetsController_isBasicFunctionality = new WeakMap(), _AssetsController_defaultUpdateInterval = new WeakMap(), _AssetsController_trace = new WeakMap(), _AssetsController_captureException = new WeakMap(), _AssetsController_firstInitFetchReported = new WeakMap(), _AssetsController_stateSizeReported = new WeakMap(), _AssetsController_uiOpen = new WeakMap(), _AssetsController_keyringUnlocked = new WeakMap(), _AssetsController_controllerMutex = new WeakMap(), _AssetsController_accountRefreshMutex = new WeakMap(), _AssetsController_activeSubscriptions = new WeakMap(), _AssetsController_enabledChains = new WeakMap(), _AssetsController_lastKnownAccountIds = new WeakMap(),
|
|
1014
|
+
_AssetsController_isEnabled = new WeakMap(), _AssetsController_isBasicFunctionality = new WeakMap(), _AssetsController_defaultUpdateInterval = new WeakMap(), _AssetsController_trace = new WeakMap(), _AssetsController_captureException = new WeakMap(), _AssetsController_firstInitFetchReported = new WeakMap(), _AssetsController_stateSizeReported = new WeakMap(), _AssetsController_uiOpen = new WeakMap(), _AssetsController_keyringUnlocked = new WeakMap(), _AssetsController_controllerMutex = new WeakMap(), _AssetsController_accountRefreshMutex = new WeakMap(), _AssetsController_activeSubscriptions = new WeakMap(), _AssetsController_enabledChains = new WeakMap(), _AssetsController_lastKnownAccountIds = new WeakMap(), _AssetsController_accountActivityDataSource = 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_customAssetGraduationMiddleware = new WeakMap(), _AssetsController_rpcFallbackMiddleware = 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 = {
|
|
1015
1015
|
controller: 'AssetsController',
|
|
1016
1016
|
}) {
|
|
1017
1017
|
if (!__classPrivateFieldGet(this, _AssetsController_trace, "f")) {
|
|
@@ -1069,7 +1069,7 @@ _AssetsController_isEnabled = new WeakMap(), _AssetsController_isBasicFunctional
|
|
|
1069
1069
|
return [];
|
|
1070
1070
|
}, _AssetsController_allBalanceDataSources_get = function _AssetsController_allBalanceDataSources_get() {
|
|
1071
1071
|
return [
|
|
1072
|
-
__classPrivateFieldGet(this,
|
|
1072
|
+
__classPrivateFieldGet(this, _AssetsController_accountActivityDataSource, "f"),
|
|
1073
1073
|
__classPrivateFieldGet(this, _AssetsController_accountsApiDataSource, "f"),
|
|
1074
1074
|
__classPrivateFieldGet(this, _AssetsController_snapDataSource, "f"),
|
|
1075
1075
|
__classPrivateFieldGet(this, _AssetsController_rpcDataSource, "f"),
|
|
@@ -1188,12 +1188,6 @@ _AssetsController_isEnabled = new WeakMap(), _AssetsController_isBasicFunctional
|
|
|
1188
1188
|
this.messenger.subscribe('TransactionController:transactionConfirmed', (transactionMeta) => {
|
|
1189
1189
|
__classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_onTransactionConfirmed).call(this, transactionMeta);
|
|
1190
1190
|
});
|
|
1191
|
-
// Real-time post-tx balances from AccountActivityService (same WS payload as
|
|
1192
|
-
// TokenBalancesController; BackendWebsocketDataSource may not receive the
|
|
1193
|
-
// callback when AccountActivityService owns the server subscription).
|
|
1194
|
-
this.messenger.subscribe('AccountActivityService:balanceUpdated', (event) => {
|
|
1195
|
-
__classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_onAccountActivityBalanceUpdated).call(this, event);
|
|
1196
|
-
});
|
|
1197
1191
|
}, _AssetsController_onUnapprovedTransactionAdded = function _AssetsController_onUnapprovedTransactionAdded(transactionMeta) {
|
|
1198
1192
|
const hexChainId = transactionMeta.chainId;
|
|
1199
1193
|
if (!hexChainId) {
|
|
@@ -1236,26 +1230,6 @@ _AssetsController_isEnabled = new WeakMap(), _AssetsController_isBasicFunctional
|
|
|
1236
1230
|
}).catch((error) => {
|
|
1237
1231
|
log('Failed to refresh assets after transaction confirmed', { error });
|
|
1238
1232
|
});
|
|
1239
|
-
}, _AssetsController_onAccountActivityBalanceUpdated = function _AssetsController_onAccountActivityBalanceUpdated({ address, chain, updates, }) {
|
|
1240
|
-
const account = __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getSelectedAccounts).call(this).find((a) => a.address.startsWith('0x')
|
|
1241
|
-
? a.address.toLowerCase() === address.toLowerCase()
|
|
1242
|
-
: a.address === address);
|
|
1243
|
-
if (!account) {
|
|
1244
|
-
return;
|
|
1245
|
-
}
|
|
1246
|
-
const chainId = chain;
|
|
1247
|
-
const response = (0, processAccountActivityBalanceUpdates_js_1.processAccountActivityBalanceUpdates)(updates, account.id, (assetId) => __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getAssetType).call(this, assetId));
|
|
1248
|
-
if (!response.assetsBalance) {
|
|
1249
|
-
return;
|
|
1250
|
-
}
|
|
1251
|
-
const request = {
|
|
1252
|
-
accountsWithSupportedChains: [{ account, supportedChains: [chainId] }],
|
|
1253
|
-
chainIds: [chainId],
|
|
1254
|
-
dataTypes: ['balance', 'metadata'],
|
|
1255
|
-
};
|
|
1256
|
-
this.handleAssetsUpdate(response, 'AccountActivityService', request).catch((error) => {
|
|
1257
|
-
log('Failed to apply AccountActivityService balance update', { error });
|
|
1258
|
-
});
|
|
1259
1233
|
}, _AssetsController_updateActive = function _AssetsController_updateActive() {
|
|
1260
1234
|
const shouldRun = __classPrivateFieldGet(this, _AssetsController_uiOpen, "f") && __classPrivateFieldGet(this, _AssetsController_keyringUnlocked, "f");
|
|
1261
1235
|
if (shouldRun) {
|
|
@@ -1365,11 +1339,11 @@ async function _AssetsController_runStartupRefresh(accounts) {
|
|
|
1365
1339
|
const previousSet = new Set(previous);
|
|
1366
1340
|
const addedChains = activeChains.filter((ch) => !previousSet.has(ch));
|
|
1367
1341
|
const removedChains = previous.filter((ch) => !activeChains.includes(ch));
|
|
1342
|
+
// Refresh subscriptions to use updated data source availability.
|
|
1343
|
+
// No one-time fetch needed here — #handleEnabledNetworksChanged
|
|
1344
|
+
// handles fetches when the user enables a network, and
|
|
1345
|
+
// #subscribeAssets re-subscribes with the correct chain assignment.
|
|
1368
1346
|
if (addedChains.length > 0 || removedChains.length > 0) {
|
|
1369
|
-
// Refresh subscriptions to use updated data source availability.
|
|
1370
|
-
// No one-time fetch needed here — #handleEnabledNetworksChanged
|
|
1371
|
-
// handles fetches when the user enables a network, and
|
|
1372
|
-
// #subscribeAssets re-subscribes with the correct chain assignment.
|
|
1373
1347
|
__classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_subscribeAssets).call(this);
|
|
1374
1348
|
}
|
|
1375
1349
|
}, _AssetsController_executeMiddlewares =
|
|
@@ -1953,8 +1927,10 @@ async function _AssetsController_executeMiddlewares(sources, request, initialRes
|
|
|
1953
1927
|
}, _AssetsController_subscribeAssetsBalance = function _AssetsController_subscribeAssetsBalance(accounts, chainIds) {
|
|
1954
1928
|
const chainToAccounts = __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_buildChainToAccountsMap).call(this, accounts, new Set(chainIds));
|
|
1955
1929
|
const remainingChains = new Set(chainToAccounts.keys());
|
|
1956
|
-
// When basic functionality is on, use all balance data sources; when off,
|
|
1957
|
-
|
|
1930
|
+
// When basic functionality is on, use all balance data sources; when off,
|
|
1931
|
+
// RPC only.
|
|
1932
|
+
const isBasicFunctionality = __classPrivateFieldGet(this, _AssetsController_isBasicFunctionality, "f").call(this);
|
|
1933
|
+
const balanceDataSources = isBasicFunctionality
|
|
1958
1934
|
? __classPrivateFieldGet(this, _AssetsController_instances, "a", _AssetsController_allBalanceDataSources_get)
|
|
1959
1935
|
: [__classPrivateFieldGet(this, _AssetsController_rpcDataSource, "f")];
|
|
1960
1936
|
let rpcAssignedChains = new Set();
|
|
@@ -2252,14 +2228,11 @@ async function _AssetsController_handleAccountGroupChanged() {
|
|
|
2252
2228
|
__classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_fetchMissingPricesWithoutCache).call(this, accounts, [caipChainId]);
|
|
2253
2229
|
}, _AssetsController_refreshActiveChainsOnNetworkSwitch =
|
|
2254
2230
|
/**
|
|
2255
|
-
* Refresh data-source `activeChains` after an EVM network switch so API/
|
|
2231
|
+
* Refresh data-source `activeChains` after an EVM network switch so API/Rpc
|
|
2256
2232
|
* chain claiming is not stuck on an empty or stale init-time list.
|
|
2257
2233
|
*/
|
|
2258
2234
|
async function _AssetsController_refreshActiveChainsOnNetworkSwitch() {
|
|
2259
|
-
await
|
|
2260
|
-
__classPrivateFieldGet(this, _AssetsController_accountsApiDataSource, "f").refreshActiveChains(),
|
|
2261
|
-
__classPrivateFieldGet(this, _AssetsController_backendWebsocketDataSource, "f").refreshActiveChains(),
|
|
2262
|
-
]);
|
|
2235
|
+
await __classPrivateFieldGet(this, _AssetsController_accountsApiDataSource, "f").refreshActiveChains();
|
|
2263
2236
|
__classPrivateFieldGet(this, _AssetsController_rpcDataSource, "f").refreshActiveChainsFromNetworkState();
|
|
2264
2237
|
}, _AssetsController_getSelectedEvmChainIdFromNetworkState = function _AssetsController_getSelectedEvmChainIdFromNetworkState(networkState) {
|
|
2265
2238
|
try {
|