@metamask-previews/assets-controller 17.0.0-preview-9e306636a → 17.0.0-preview-378f5fcf7
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 -14
- package/dist/AssetsController.d.ts +1 -2
- package/dist/AssetsController.d.ts.map +1 -1
- package/dist/AssetsController.js +15 -72
- package/dist/AssetsController.js.map +1 -1
- package/dist/data-sources/PriceDataSource.d.ts.map +1 -1
- package/dist/data-sources/PriceDataSource.js +3 -28
- package/dist/data-sources/PriceDataSource.js.map +1 -1
- package/package.json +3 -6
- package/dist/migrations/dropBalancesOutsideAccountScopes.d.ts +0 -19
- package/dist/migrations/dropBalancesOutsideAccountScopes.d.ts.map +0 -1
- package/dist/migrations/dropBalancesOutsideAccountScopes.js +0 -66
- package/dist/migrations/dropBalancesOutsideAccountScopes.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,24 +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
|
-
- **BREAKING:** `AssetsControllerMessenger` now requires the `MultichainTransactionsControllerTransactionConfirmedEvent` allowed event ([#10585](https://github.com/MetaMask/core/pull/10585))
|
|
13
|
-
- `AssetsController` subscribes to `MultichainTransactionsController:transactionConfirmed` so non-EVM (Snap keyring) transactions trigger the same post-transaction balance refresh as EVM `TransactionController:transactionConfirmed`.
|
|
14
|
-
- Consumers must delegate `MultichainTransactionsController:transactionConfirmed` onto the Assets controller messenger. Without that delegation the subscription is registered and never fires.
|
|
15
|
-
|
|
16
10
|
### Changed
|
|
17
11
|
|
|
18
12
|
- Bump `lodash-es` from `^4.17.21` to `^4.18.1` ([#10447](https://github.com/MetaMask/core/pull/10447))
|
|
19
13
|
- Bump `@ethersproject/providers` from `^5.7.0` to `^5.8.0` ([#10482](https://github.com/MetaMask/core/pull/10482))
|
|
20
|
-
- Bump `@metamask/assets-controllers` from `^112.0.4` to `^112.1.0` ([#10633](https://github.com/MetaMask/core/pull/10633))
|
|
21
|
-
- Bump `@metamask/phishing-controller` from `^18.1.1` to `^18.2.0` ([#10633](https://github.com/MetaMask/core/pull/10633))
|
|
22
|
-
|
|
23
|
-
### Fixed
|
|
24
|
-
|
|
25
|
-
- Fix `PriceDataSource` supported-network filtering so it reads the object-shaped `partialSupport` returned by the Price API `/v2/supportedNetworks` endpoint ([#10582](https://github.com/MetaMask/core/pull/10582))
|
|
26
|
-
- On the v5 balance path, stop seeding every enabled chain's native onto an account when the update arrives after that account is no longer selected ([#10567](https://github.com/MetaMask/core/pull/10567))
|
|
27
|
-
- On unlock, drop stored balances whose chain namespace is outside the selected account's scopes ([#10567](https://github.com/MetaMask/core/pull/10567))
|
|
28
14
|
|
|
29
15
|
## [17.0.0]
|
|
30
16
|
|
|
@@ -9,7 +9,6 @@ import type { ApiPlatformClient, AccountActivityServiceBalanceUpdatedEvent, Acco
|
|
|
9
9
|
import type { KeyringControllerIsUnlockedAction, KeyringControllerLockEvent, KeyringControllerUnlockEvent } from '@metamask/keyring-controller';
|
|
10
10
|
import type { InternalAccount } from '@metamask/keyring-internal-api';
|
|
11
11
|
import type { Messenger } from '@metamask/messenger';
|
|
12
|
-
import type { MultichainTransactionsControllerTransactionConfirmedEvent } from '@metamask/multichain-transactions-controller';
|
|
13
12
|
import type { NetworkControllerGetNetworkClientByIdAction, NetworkControllerGetStateAction, NetworkControllerNetworkAddedEvent, NetworkControllerNetworkDidChangeEvent, NetworkControllerNetworkRemovedEvent, NetworkControllerStateChangeEvent } from '@metamask/network-controller';
|
|
14
13
|
import type { NetworkEnablementControllerGetStateAction, NetworkEnablementControllerEvents } from '@metamask/network-enablement-controller';
|
|
15
14
|
import type { GetPermissions, PermissionControllerStateChange } from '@metamask/permission-controller';
|
|
@@ -81,7 +80,7 @@ export type AssetsControllerAssetsDetectedEvent = {
|
|
|
81
80
|
};
|
|
82
81
|
export type AssetsControllerEvents = AssetsControllerStateChangeEvent | AssetsControllerBalanceChangedEvent | AssetsControllerPriceChangedEvent | AssetsControllerAssetsDetectedEvent;
|
|
83
82
|
type AllowedActions = AccountsControllerGetSelectedAccountAction | AccountTreeControllerGetAccountsFromSelectedAccountGroupAction | AccountTreeControllerIsInitializedAction | ClientControllerGetStateAction | KeyringControllerIsUnlockedAction | NetworkControllerGetStateAction | NetworkControllerGetNetworkClientByIdAction | ConfigRegistryControllerGetNetworkConfigByCaip2ChainIdAction | NetworkEnablementControllerGetStateAction | SnapControllerGetRunnableSnapsAction | SnapControllerHandleRequestAction | GetPermissions | PhishingControllerBulkScanTokensAction | RemoteFeatureFlagControllerGetStateAction;
|
|
84
|
-
type AllowedEvents = AccountTreeControllerSelectedAccountGroupChangeEvent | AccountTreeControllerInitializedEvent | AccountTreeControllerUninitializedEvent | ClientControllerStateChangeEvent | KeyringControllerLockEvent | KeyringControllerUnlockEvent | PreferencesControllerStateChangeEvent | TransactionControllerUnapprovedTransactionAddedEvent | TransactionControllerTransactionConfirmedEvent |
|
|
83
|
+
type AllowedEvents = AccountTreeControllerSelectedAccountGroupChangeEvent | AccountTreeControllerInitializedEvent | AccountTreeControllerUninitializedEvent | ClientControllerStateChangeEvent | KeyringControllerLockEvent | KeyringControllerUnlockEvent | PreferencesControllerStateChangeEvent | TransactionControllerUnapprovedTransactionAddedEvent | TransactionControllerTransactionConfirmedEvent | NetworkControllerStateChangeEvent | NetworkControllerNetworkAddedEvent | NetworkControllerNetworkDidChangeEvent | NetworkControllerNetworkRemovedEvent | NetworkEnablementControllerEvents | AccountsControllerAccountBalancesUpdatedEvent | PermissionControllerStateChange | SnapControllerSnapInstalledEvent | AccountActivityServiceBalanceUpdatedEvent | AccountActivityServiceStatusChangedEvent | RemoteFeatureFlagControllerStateChangeEvent;
|
|
85
84
|
export type AssetsControllerMessenger = Messenger<typeof CONTROLLER_NAME, AssetsControllerActions | AllowedActions, AssetsControllerEvents | AllowedEvents>;
|
|
86
85
|
export type AssetsControllerOptions = {
|
|
87
86
|
messenger: AssetsControllerMessenger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetsController.d.ts","sourceRoot":"","sources":["../src/AssetsController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8DAA8D,EAC9D,qCAAqC,EACrC,wCAAwC,EACxC,oDAAoD,EACpD,uCAAuC,EACxC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,0CAA0C,EAAE,MAAM,+BAA+B,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAE3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,8BAA8B,EAC9B,gCAAgC,EACjC,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,4DAA4D,EAAE,MAAM,sCAAsC,CAAC;AACzH,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,4BAA4B,CAAC;AAC9E,OAAO,KAAK,EACV,iBAAiB,EACjB,yCAAyC,EACzC,wCAAwC,EACxC,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"AssetsController.d.ts","sourceRoot":"","sources":["../src/AssetsController.ts"],"names":[],"mappings":"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"}
|
package/dist/AssetsController.js
CHANGED
|
@@ -19,7 +19,6 @@ import { CustomAssetGraduationMiddleware } from './middlewares/CustomAssetGradua
|
|
|
19
19
|
import { DetectionMiddleware } from './middlewares/DetectionMiddleware.js';
|
|
20
20
|
import { createParallelBalanceMiddleware, createParallelMiddleware, } from './middlewares/ParallelMiddleware.js';
|
|
21
21
|
import { RpcFallbackMiddleware } from './middlewares/RpcFallbackMiddleware.js';
|
|
22
|
-
import { dropBalancesOutsideAccountScopes } from './migrations/dropBalancesOutsideAccountScopes.js';
|
|
23
22
|
import { cleanSpamAssets, isUnlockCleanupEnabled, tempHealAssetsInfoMetadata, } from './migrations/healAssetsInfoMetadata.js';
|
|
24
23
|
import { buildFastFetchSources, buildUpdateSources, buildWsUpdateSources, executeAssetsPipeline, } from './pipeline/index.js';
|
|
25
24
|
import { getAssetVisibility } from './utils/assetVisibility.js';
|
|
@@ -701,12 +700,6 @@ export class AssetsController extends BaseController {
|
|
|
701
700
|
}, clientControllerSelectors.selectIsUiOpen);
|
|
702
701
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
703
702
|
this.messenger.subscribe('KeyringController:unlock', async () => {
|
|
704
|
-
try {
|
|
705
|
-
this.#runOutOfScopeBalanceCleanup();
|
|
706
|
-
}
|
|
707
|
-
catch {
|
|
708
|
-
/* Do nothing */
|
|
709
|
-
}
|
|
710
703
|
await this.#runSpamCleanup().catch(() => {
|
|
711
704
|
/* Do nothing */
|
|
712
705
|
});
|
|
@@ -719,77 +712,42 @@ export class AssetsController extends BaseController {
|
|
|
719
712
|
// Ensures balances for the account making the transaction are updated
|
|
720
713
|
// (e.g. for gas estimations), except on AccountActivity-active chains.
|
|
721
714
|
this.messenger.subscribe('TransactionController:unapprovedTransactionAdded', (transactionMeta) => {
|
|
722
|
-
this.#
|
|
715
|
+
this.#refreshAssetsForTransaction(transactionMeta);
|
|
723
716
|
});
|
|
724
717
|
// Post-tx refresh via the full fetch pipeline (Accounts API + RPC fallback).
|
|
725
718
|
// Skipped for chains covered by AccountActivity (real-time WS updates).
|
|
726
719
|
// RpcDataSource also listens for transactionConfirmed, but only refreshes
|
|
727
720
|
// chains it owns via an active subscription.
|
|
728
721
|
this.messenger.subscribe('TransactionController:transactionConfirmed', (transactionMeta) => {
|
|
729
|
-
this.#
|
|
730
|
-
});
|
|
731
|
-
// Non-EVM equivalent of the above: Snap keyrings report transaction
|
|
732
|
-
// lifecycle through MultichainTransactionsController. When the chain is
|
|
733
|
-
// not covered by AccountActivity (WebSocket down / unsupported), refresh
|
|
734
|
-
// via the Accounts API with the server cache bypassed.
|
|
735
|
-
this.messenger.subscribe('MultichainTransactionsController:transactionConfirmed', (transaction) => {
|
|
736
|
-
this.#refreshAssetsForNonEvmTransaction(transaction);
|
|
722
|
+
this.#refreshAssetsForTransaction(transactionMeta);
|
|
737
723
|
});
|
|
738
724
|
}
|
|
739
725
|
/**
|
|
740
|
-
* Force-refresh assets for the account/chain of
|
|
741
|
-
*
|
|
742
|
-
*
|
|
743
|
-
*
|
|
726
|
+
* Force-refresh assets for the account/chain of a transaction, unless the
|
|
727
|
+
* chain is already covered by AccountActivity (real-time WebSocket balances).
|
|
728
|
+
* Always bypasses the Accounts API's server-side cache so a refresh cannot
|
|
729
|
+
* be answered with a stale pre-transaction snapshot.
|
|
744
730
|
*
|
|
745
731
|
* @param transactionMeta - The transaction that triggered the refresh.
|
|
746
732
|
*/
|
|
747
|
-
#
|
|
733
|
+
#refreshAssetsForTransaction(transactionMeta) {
|
|
748
734
|
const hexChainId = transactionMeta.chainId;
|
|
749
735
|
if (!hexChainId) {
|
|
750
736
|
return;
|
|
751
737
|
}
|
|
752
738
|
const caipChainId = `eip155:${parseInt(hexChainId, 16)}`;
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
return;
|
|
756
|
-
}
|
|
757
|
-
this.#refreshAssetsAfterConfirmed(caipChainId, (account) => account.address.toLowerCase() === fromAddress);
|
|
758
|
-
}
|
|
759
|
-
/**
|
|
760
|
-
* Non-EVM counterpart of `#refreshAssetsForEVMTransaction` for transactions
|
|
761
|
-
* reported by Snap keyrings via
|
|
762
|
-
* `MultichainTransactionsController`. The keyring `Transaction` already
|
|
763
|
-
* carries a CAIP-2 `chain` and the internal `account` id, so no address
|
|
764
|
-
* normalisation is needed.
|
|
765
|
-
*
|
|
766
|
-
* @param transaction - The confirmed keyring transaction.
|
|
767
|
-
*/
|
|
768
|
-
#refreshAssetsForNonEvmTransaction(transaction) {
|
|
769
|
-
const { chain, account: accountId } = transaction;
|
|
770
|
-
if (!chain || !accountId || !isCaipChainId(chain)) {
|
|
771
|
-
return;
|
|
772
|
-
}
|
|
773
|
-
this.#refreshAssetsAfterConfirmed(chain, (account) => account.id === accountId);
|
|
774
|
-
}
|
|
775
|
-
/**
|
|
776
|
-
* Shared post-transaction refresh: skip when AccountActivity already pushes
|
|
777
|
-
* live balances for `caipChainId` (a force fetch would be redundant and can
|
|
778
|
-
* race the WebSocket path); otherwise run a force `getAssets` for the first
|
|
779
|
-
* selected account matching `matchAccount`, bypassing the Accounts API's
|
|
780
|
-
* server-side cache.
|
|
781
|
-
*
|
|
782
|
-
* @param caipChainId - CAIP-2 chain the transaction was on.
|
|
783
|
-
* @param matchAccount - Predicate selecting the originating account among
|
|
784
|
-
* the currently selected accounts.
|
|
785
|
-
*/
|
|
786
|
-
#refreshAssetsAfterConfirmed(caipChainId, matchAccount) {
|
|
739
|
+
// AccountActivity pushes live balance updates for its active chains; a
|
|
740
|
+
// force getAssets would be redundant and can race the WebSocket path.
|
|
787
741
|
if (this.#accountActivityDataSource
|
|
788
742
|
.getActiveChainsSync()
|
|
789
743
|
.includes(caipChainId)) {
|
|
790
744
|
return;
|
|
791
745
|
}
|
|
792
|
-
const
|
|
746
|
+
const fromAddress = transactionMeta.txParams.from?.toLowerCase();
|
|
747
|
+
if (!fromAddress) {
|
|
748
|
+
return;
|
|
749
|
+
}
|
|
750
|
+
const matchedAccount = this.#getSelectedAccounts().find((account) => account.address.toLowerCase() === fromAddress);
|
|
793
751
|
if (!matchedAccount) {
|
|
794
752
|
return;
|
|
795
753
|
}
|
|
@@ -801,21 +759,6 @@ export class AssetsController extends BaseController {
|
|
|
801
759
|
log('Failed to refresh assets after transaction event', { error });
|
|
802
760
|
});
|
|
803
761
|
}
|
|
804
|
-
/**
|
|
805
|
-
* One-time cleanup of balances a v5 update stamped onto accounts after a
|
|
806
|
-
* group switch. Runs on unlock, the same point as spam cleanup, and only
|
|
807
|
-
* touches the selected accounts (their scopes are what define ownership).
|
|
808
|
-
*/
|
|
809
|
-
#runOutOfScopeBalanceCleanup() {
|
|
810
|
-
const accounts = this.#getSelectedAccounts();
|
|
811
|
-
if (accounts.length === 0) {
|
|
812
|
-
return;
|
|
813
|
-
}
|
|
814
|
-
this.update((state) => {
|
|
815
|
-
const balances = state.assetsBalance;
|
|
816
|
-
dropBalancesOutsideAccountScopes(balances, accounts);
|
|
817
|
-
});
|
|
818
|
-
}
|
|
819
762
|
async #runSpamCleanup() {
|
|
820
763
|
try {
|
|
821
764
|
const shouldRun = this.#isKeyringUnlocked() &&
|
|
@@ -2074,7 +2017,7 @@ export class AssetsController extends BaseController {
|
|
|
2074
2017
|
const account = this.#getSelectedAccounts().find((a) => a.id === accountId);
|
|
2075
2018
|
const nativeAssetIdsForAccount = account
|
|
2076
2019
|
? this.#getNativeAssetIdsForAccount(account)
|
|
2077
|
-
:
|
|
2020
|
+
: this.#getNativeAssetIdsForEnabledChains();
|
|
2078
2021
|
for (const nativeAssetId of nativeAssetIdsForAccount) {
|
|
2079
2022
|
if (!Object.prototype.hasOwnProperty.call(effectiveAccountBalances, nativeAssetId)) {
|
|
2080
2023
|
effectiveAccountBalances[nativeAssetId] =
|