@metamask-previews/assets-controller 11.3.1-preview-a42e8d0d2 → 13.1.0-preview-5a03e1b92

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 (80) hide show
  1. package/CHANGELOG.md +50 -1
  2. package/dist/AssetsController-method-action-types.cjs.map +1 -1
  3. package/dist/AssetsController-method-action-types.d.cts +45 -4
  4. package/dist/AssetsController-method-action-types.d.cts.map +1 -1
  5. package/dist/AssetsController-method-action-types.d.mts +45 -4
  6. package/dist/AssetsController-method-action-types.d.mts.map +1 -1
  7. package/dist/AssetsController-method-action-types.mjs.map +1 -1
  8. package/dist/AssetsController.cjs +109 -65
  9. package/dist/AssetsController.cjs.map +1 -1
  10. package/dist/AssetsController.d.cts +40 -4
  11. package/dist/AssetsController.d.cts.map +1 -1
  12. package/dist/AssetsController.d.mts +40 -4
  13. package/dist/AssetsController.d.mts.map +1 -1
  14. package/dist/AssetsController.mjs +109 -65
  15. package/dist/AssetsController.mjs.map +1 -1
  16. package/dist/data-sources/AccountActivityDataSource.cjs +262 -0
  17. package/dist/data-sources/AccountActivityDataSource.cjs.map +1 -0
  18. package/dist/data-sources/AccountActivityDataSource.d.cts +80 -0
  19. package/dist/data-sources/AccountActivityDataSource.d.cts.map +1 -0
  20. package/dist/data-sources/AccountActivityDataSource.d.mts +80 -0
  21. package/dist/data-sources/AccountActivityDataSource.d.mts.map +1 -0
  22. package/dist/data-sources/AccountActivityDataSource.mjs +254 -0
  23. package/dist/data-sources/AccountActivityDataSource.mjs.map +1 -0
  24. package/dist/data-sources/AccountsApiDataSource.cjs +22 -0
  25. package/dist/data-sources/AccountsApiDataSource.cjs.map +1 -1
  26. package/dist/data-sources/AccountsApiDataSource.d.cts.map +1 -1
  27. package/dist/data-sources/AccountsApiDataSource.d.mts.map +1 -1
  28. package/dist/data-sources/AccountsApiDataSource.mjs +22 -0
  29. package/dist/data-sources/AccountsApiDataSource.mjs.map +1 -1
  30. package/dist/data-sources/RpcDataSource.cjs +10 -2
  31. package/dist/data-sources/RpcDataSource.cjs.map +1 -1
  32. package/dist/data-sources/RpcDataSource.d.cts.map +1 -1
  33. package/dist/data-sources/RpcDataSource.d.mts.map +1 -1
  34. package/dist/data-sources/RpcDataSource.mjs +11 -3
  35. package/dist/data-sources/RpcDataSource.mjs.map +1 -1
  36. package/dist/data-sources/evm-rpc-services/clients/MulticallClient.cjs +9 -4
  37. package/dist/data-sources/evm-rpc-services/clients/MulticallClient.cjs.map +1 -1
  38. package/dist/data-sources/evm-rpc-services/clients/MulticallClient.d.cts +16 -1
  39. package/dist/data-sources/evm-rpc-services/clients/MulticallClient.d.cts.map +1 -1
  40. package/dist/data-sources/evm-rpc-services/clients/MulticallClient.d.mts +16 -1
  41. package/dist/data-sources/evm-rpc-services/clients/MulticallClient.d.mts.map +1 -1
  42. package/dist/data-sources/evm-rpc-services/clients/MulticallClient.mjs +9 -4
  43. package/dist/data-sources/evm-rpc-services/clients/MulticallClient.mjs.map +1 -1
  44. package/dist/data-sources/index.cjs +4 -4
  45. package/dist/data-sources/index.cjs.map +1 -1
  46. package/dist/data-sources/index.d.cts +1 -1
  47. package/dist/data-sources/index.d.cts.map +1 -1
  48. package/dist/data-sources/index.d.mts +1 -1
  49. package/dist/data-sources/index.d.mts.map +1 -1
  50. package/dist/data-sources/index.mjs +1 -1
  51. package/dist/data-sources/index.mjs.map +1 -1
  52. package/dist/index.cjs +22 -26
  53. package/dist/index.cjs.map +1 -1
  54. package/dist/index.d.cts +1 -3
  55. package/dist/index.d.cts.map +1 -1
  56. package/dist/index.d.mts +1 -3
  57. package/dist/index.d.mts.map +1 -1
  58. package/dist/index.mjs +0 -2
  59. package/dist/index.mjs.map +1 -1
  60. package/dist/middlewares/CustomAssetGraduationMiddleware.cjs +1 -1
  61. package/dist/middlewares/CustomAssetGraduationMiddleware.cjs.map +1 -1
  62. package/dist/middlewares/CustomAssetGraduationMiddleware.mjs +1 -1
  63. package/dist/middlewares/CustomAssetGraduationMiddleware.mjs.map +1 -1
  64. package/package.json +11 -10
  65. package/dist/data-sources/BackendWebsocketDataSource.cjs +0 -597
  66. package/dist/data-sources/BackendWebsocketDataSource.cjs.map +0 -1
  67. package/dist/data-sources/BackendWebsocketDataSource.d.cts +0 -65
  68. package/dist/data-sources/BackendWebsocketDataSource.d.cts.map +0 -1
  69. package/dist/data-sources/BackendWebsocketDataSource.d.mts +0 -65
  70. package/dist/data-sources/BackendWebsocketDataSource.d.mts.map +0 -1
  71. package/dist/data-sources/BackendWebsocketDataSource.mjs +0 -592
  72. package/dist/data-sources/BackendWebsocketDataSource.mjs.map +0 -1
  73. package/dist/utils/processAccountActivityBalanceUpdates.cjs +0 -54
  74. package/dist/utils/processAccountActivityBalanceUpdates.cjs.map +0 -1
  75. package/dist/utils/processAccountActivityBalanceUpdates.d.cts +0 -13
  76. package/dist/utils/processAccountActivityBalanceUpdates.d.cts.map +0 -1
  77. package/dist/utils/processAccountActivityBalanceUpdates.d.mts +0 -13
  78. package/dist/utils/processAccountActivityBalanceUpdates.d.mts.map +0 -1
  79. package/dist/utils/processAccountActivityBalanceUpdates.mjs +0 -47
  80. package/dist/utils/processAccountActivityBalanceUpdates.mjs.map +0 -1
@@ -3,8 +3,9 @@ import type { AccountsControllerGetSelectedAccountAction } from "@metamask/accou
3
3
  import { BaseController } from "@metamask/base-controller";
4
4
  import type { ControllerGetStateAction, ControllerStateChangeEvent } from "@metamask/base-controller";
5
5
  import type { ClientControllerStateChangeEvent } from "@metamask/client-controller";
6
+ import type { ConfigRegistryControllerGetNetworkConfigByCaip2ChainIdAction } from "@metamask/config-registry-controller";
6
7
  import type { TraceCallback } from "@metamask/controller-utils";
7
- import type { ApiPlatformClient, AccountActivityServiceBalanceUpdatedEvent, BackendWebSocketServiceActions, BackendWebSocketServiceEvents, SupportedCurrency } from "@metamask/core-backend";
8
+ import type { ApiPlatformClient, AccountActivityServiceBalanceUpdatedEvent, AccountActivityServiceStatusChangedEvent, SupportedCurrency } from "@metamask/core-backend";
8
9
  import type { KeyringControllerLockEvent, KeyringControllerUnlockEvent } from "@metamask/keyring-controller";
9
10
  import type { InternalAccount } from "@metamask/keyring-internal-api";
10
11
  import type { Messenger } from "@metamask/messenger";
@@ -111,8 +112,8 @@ export type AssetsControllerAssetsDetectedEvent = {
111
112
  }];
112
113
  };
113
114
  export type AssetsControllerEvents = AssetsControllerStateChangeEvent | AssetsControllerBalanceChangedEvent | AssetsControllerPriceChangedEvent | AssetsControllerAssetsDetectedEvent;
114
- type AllowedActions = AccountsControllerGetSelectedAccountAction | AccountTreeControllerGetAccountsFromSelectedAccountGroupAction | NetworkControllerGetStateAction | NetworkControllerGetNetworkClientByIdAction | NetworkEnablementControllerGetStateAction | SnapControllerGetRunnableSnapsAction | SnapControllerHandleRequestAction | GetPermissions | BackendWebSocketServiceActions | PhishingControllerBulkScanTokensAction | RemoteFeatureFlagControllerGetStateAction;
115
- type AllowedEvents = AccountTreeControllerSelectedAccountGroupChangeEvent | AccountTreeControllerStateChangeEvent | ClientControllerStateChangeEvent | KeyringControllerLockEvent | KeyringControllerUnlockEvent | PreferencesControllerStateChangeEvent | TransactionControllerUnapprovedTransactionAddedEvent | TransactionControllerTransactionConfirmedEvent | NetworkControllerStateChangeEvent | NetworkControllerNetworkAddedEvent | NetworkControllerNetworkDidChangeEvent | NetworkControllerNetworkRemovedEvent | NetworkEnablementControllerEvents | AccountsControllerAccountBalancesUpdatedEvent | PermissionControllerStateChange | SnapControllerSnapInstalledEvent | BackendWebSocketServiceEvents | AccountActivityServiceBalanceUpdatedEvent | RemoteFeatureFlagControllerStateChangeEvent;
115
+ type AllowedActions = AccountsControllerGetSelectedAccountAction | AccountTreeControllerGetAccountsFromSelectedAccountGroupAction | NetworkControllerGetStateAction | NetworkControllerGetNetworkClientByIdAction | ConfigRegistryControllerGetNetworkConfigByCaip2ChainIdAction | NetworkEnablementControllerGetStateAction | SnapControllerGetRunnableSnapsAction | SnapControllerHandleRequestAction | GetPermissions | PhishingControllerBulkScanTokensAction | RemoteFeatureFlagControllerGetStateAction;
116
+ type AllowedEvents = AccountTreeControllerSelectedAccountGroupChangeEvent | AccountTreeControllerStateChangeEvent | ClientControllerStateChangeEvent | KeyringControllerLockEvent | KeyringControllerUnlockEvent | PreferencesControllerStateChangeEvent | TransactionControllerUnapprovedTransactionAddedEvent | TransactionControllerTransactionConfirmedEvent | NetworkControllerStateChangeEvent | NetworkControllerNetworkAddedEvent | NetworkControllerNetworkDidChangeEvent | NetworkControllerNetworkRemovedEvent | NetworkEnablementControllerEvents | AccountsControllerAccountBalancesUpdatedEvent | PermissionControllerStateChange | SnapControllerSnapInstalledEvent | AccountActivityServiceBalanceUpdatedEvent | AccountActivityServiceStatusChangedEvent | RemoteFeatureFlagControllerStateChangeEvent;
116
117
  export type AssetsControllerMessenger = Messenger<typeof CONTROLLER_NAME, AssetsControllerActions | AllowedActions, AssetsControllerEvents | AllowedEvents>;
117
118
  export type AssetsControllerOptions = {
118
119
  messenger: AssetsControllerMessenger;
@@ -247,7 +248,42 @@ export declare class AssetsController extends BaseController<typeof CONTROLLER_N
247
248
  * renderable asset (balance + metadata) exists for the account/asset pair.
248
249
  * @throws If `accountId` is empty or `assetId` is not a valid CAIP-19 asset ID.
249
250
  */
250
- getAsset(accountId: AccountId, assetId: Caip19AssetId): Asset | undefined;
251
+ getAccountAssetByID(accountId: AccountId, assetId: Caip19AssetId): Asset | undefined;
252
+ /**
253
+ * Get multiple combined assets (balance + metadata + price + computed
254
+ * `fiatValue`) for an account directly from controller state.
255
+ *
256
+ * Applies the same state-composition and filtering rules as
257
+ * `getAccountAssetByID` to each requested asset ID. Asset IDs that do not
258
+ * resolve to a complete renderable asset (missing balance/metadata, hidden,
259
+ * or otherwise filtered out) are omitted from the result. Reads from
260
+ * current state only and does not trigger a data-source refresh.
261
+ *
262
+ * @param accountId - The account ID (`InternalAccount.id`, not an address).
263
+ * @param assetIds - The CAIP-19 asset IDs including chain scope
264
+ * (e.g. `eip155:1/erc20:0x...`).
265
+ * @returns A record of combined `Asset`s keyed by normalized CAIP-19 asset
266
+ * ID, containing only the requested assets that resolved.
267
+ * @throws If `accountId` is empty or any `assetIds` entry is not a valid
268
+ * CAIP-19 asset ID.
269
+ */
270
+ getAccountAssetsByIDs(accountId: AccountId, assetIds: Caip19AssetId[]): Record<Caip19AssetId, Asset>;
271
+ /**
272
+ * Get all combined assets (balance + metadata + price + computed
273
+ * `fiatValue`) an account holds on a given chain scope, directly from
274
+ * controller state.
275
+ *
276
+ * Applies the same state-composition and filtering rules as
277
+ * `getAccountAssetByID` (hidden or otherwise filtered assets are excluded).
278
+ * Reads from current state only and does not trigger a data-source refresh.
279
+ *
280
+ * @param accountId - The account ID (`InternalAccount.id`, not an address).
281
+ * @param scope - The CAIP-2 chain ID to filter by (e.g. `eip155:1`).
282
+ * @returns A record of combined `Asset`s keyed by CAIP-19 asset ID,
283
+ * containing only the account's assets on the given scope.
284
+ * @throws If `accountId` is empty or `scope` is not a valid CAIP-2 chain ID.
285
+ */
286
+ getAccountAssetsByScope(accountId: AccountId, scope: ChainId): Record<Caip19AssetId, Asset>;
251
287
  getAssetsPrice(accounts: InternalAccount[], options?: {
252
288
  chainIds?: ChainId[];
253
289
  assetTypes?: AssetType[];
@@ -1 +1 @@
1
- {"version":3,"file":"AssetsController.d.cts","sourceRoot":"","sources":["../src/AssetsController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AssetsController.d.cts","sourceRoot":"","sources":["../src/AssetsController.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,9 @@ import type { AccountsControllerGetSelectedAccountAction } from "@metamask/accou
3
3
  import { BaseController } from "@metamask/base-controller";
4
4
  import type { ControllerGetStateAction, ControllerStateChangeEvent } from "@metamask/base-controller";
5
5
  import type { ClientControllerStateChangeEvent } from "@metamask/client-controller";
6
+ import type { ConfigRegistryControllerGetNetworkConfigByCaip2ChainIdAction } from "@metamask/config-registry-controller";
6
7
  import type { TraceCallback } from "@metamask/controller-utils";
7
- import type { ApiPlatformClient, AccountActivityServiceBalanceUpdatedEvent, BackendWebSocketServiceActions, BackendWebSocketServiceEvents, SupportedCurrency } from "@metamask/core-backend";
8
+ import type { ApiPlatformClient, AccountActivityServiceBalanceUpdatedEvent, AccountActivityServiceStatusChangedEvent, SupportedCurrency } from "@metamask/core-backend";
8
9
  import type { KeyringControllerLockEvent, KeyringControllerUnlockEvent } from "@metamask/keyring-controller";
9
10
  import type { InternalAccount } from "@metamask/keyring-internal-api";
10
11
  import type { Messenger } from "@metamask/messenger";
@@ -111,8 +112,8 @@ export type AssetsControllerAssetsDetectedEvent = {
111
112
  }];
112
113
  };
113
114
  export type AssetsControllerEvents = AssetsControllerStateChangeEvent | AssetsControllerBalanceChangedEvent | AssetsControllerPriceChangedEvent | AssetsControllerAssetsDetectedEvent;
114
- type AllowedActions = AccountsControllerGetSelectedAccountAction | AccountTreeControllerGetAccountsFromSelectedAccountGroupAction | NetworkControllerGetStateAction | NetworkControllerGetNetworkClientByIdAction | NetworkEnablementControllerGetStateAction | SnapControllerGetRunnableSnapsAction | SnapControllerHandleRequestAction | GetPermissions | BackendWebSocketServiceActions | PhishingControllerBulkScanTokensAction | RemoteFeatureFlagControllerGetStateAction;
115
- type AllowedEvents = AccountTreeControllerSelectedAccountGroupChangeEvent | AccountTreeControllerStateChangeEvent | ClientControllerStateChangeEvent | KeyringControllerLockEvent | KeyringControllerUnlockEvent | PreferencesControllerStateChangeEvent | TransactionControllerUnapprovedTransactionAddedEvent | TransactionControllerTransactionConfirmedEvent | NetworkControllerStateChangeEvent | NetworkControllerNetworkAddedEvent | NetworkControllerNetworkDidChangeEvent | NetworkControllerNetworkRemovedEvent | NetworkEnablementControllerEvents | AccountsControllerAccountBalancesUpdatedEvent | PermissionControllerStateChange | SnapControllerSnapInstalledEvent | BackendWebSocketServiceEvents | AccountActivityServiceBalanceUpdatedEvent | RemoteFeatureFlagControllerStateChangeEvent;
115
+ type AllowedActions = AccountsControllerGetSelectedAccountAction | AccountTreeControllerGetAccountsFromSelectedAccountGroupAction | NetworkControllerGetStateAction | NetworkControllerGetNetworkClientByIdAction | ConfigRegistryControllerGetNetworkConfigByCaip2ChainIdAction | NetworkEnablementControllerGetStateAction | SnapControllerGetRunnableSnapsAction | SnapControllerHandleRequestAction | GetPermissions | PhishingControllerBulkScanTokensAction | RemoteFeatureFlagControllerGetStateAction;
116
+ type AllowedEvents = AccountTreeControllerSelectedAccountGroupChangeEvent | AccountTreeControllerStateChangeEvent | ClientControllerStateChangeEvent | KeyringControllerLockEvent | KeyringControllerUnlockEvent | PreferencesControllerStateChangeEvent | TransactionControllerUnapprovedTransactionAddedEvent | TransactionControllerTransactionConfirmedEvent | NetworkControllerStateChangeEvent | NetworkControllerNetworkAddedEvent | NetworkControllerNetworkDidChangeEvent | NetworkControllerNetworkRemovedEvent | NetworkEnablementControllerEvents | AccountsControllerAccountBalancesUpdatedEvent | PermissionControllerStateChange | SnapControllerSnapInstalledEvent | AccountActivityServiceBalanceUpdatedEvent | AccountActivityServiceStatusChangedEvent | RemoteFeatureFlagControllerStateChangeEvent;
116
117
  export type AssetsControllerMessenger = Messenger<typeof CONTROLLER_NAME, AssetsControllerActions | AllowedActions, AssetsControllerEvents | AllowedEvents>;
117
118
  export type AssetsControllerOptions = {
118
119
  messenger: AssetsControllerMessenger;
@@ -247,7 +248,42 @@ export declare class AssetsController extends BaseController<typeof CONTROLLER_N
247
248
  * renderable asset (balance + metadata) exists for the account/asset pair.
248
249
  * @throws If `accountId` is empty or `assetId` is not a valid CAIP-19 asset ID.
249
250
  */
250
- getAsset(accountId: AccountId, assetId: Caip19AssetId): Asset | undefined;
251
+ getAccountAssetByID(accountId: AccountId, assetId: Caip19AssetId): Asset | undefined;
252
+ /**
253
+ * Get multiple combined assets (balance + metadata + price + computed
254
+ * `fiatValue`) for an account directly from controller state.
255
+ *
256
+ * Applies the same state-composition and filtering rules as
257
+ * `getAccountAssetByID` to each requested asset ID. Asset IDs that do not
258
+ * resolve to a complete renderable asset (missing balance/metadata, hidden,
259
+ * or otherwise filtered out) are omitted from the result. Reads from
260
+ * current state only and does not trigger a data-source refresh.
261
+ *
262
+ * @param accountId - The account ID (`InternalAccount.id`, not an address).
263
+ * @param assetIds - The CAIP-19 asset IDs including chain scope
264
+ * (e.g. `eip155:1/erc20:0x...`).
265
+ * @returns A record of combined `Asset`s keyed by normalized CAIP-19 asset
266
+ * ID, containing only the requested assets that resolved.
267
+ * @throws If `accountId` is empty or any `assetIds` entry is not a valid
268
+ * CAIP-19 asset ID.
269
+ */
270
+ getAccountAssetsByIDs(accountId: AccountId, assetIds: Caip19AssetId[]): Record<Caip19AssetId, Asset>;
271
+ /**
272
+ * Get all combined assets (balance + metadata + price + computed
273
+ * `fiatValue`) an account holds on a given chain scope, directly from
274
+ * controller state.
275
+ *
276
+ * Applies the same state-composition and filtering rules as
277
+ * `getAccountAssetByID` (hidden or otherwise filtered assets are excluded).
278
+ * Reads from current state only and does not trigger a data-source refresh.
279
+ *
280
+ * @param accountId - The account ID (`InternalAccount.id`, not an address).
281
+ * @param scope - The CAIP-2 chain ID to filter by (e.g. `eip155:1`).
282
+ * @returns A record of combined `Asset`s keyed by CAIP-19 asset ID,
283
+ * containing only the account's assets on the given scope.
284
+ * @throws If `accountId` is empty or `scope` is not a valid CAIP-2 chain ID.
285
+ */
286
+ getAccountAssetsByScope(accountId: AccountId, scope: ChainId): Record<Caip19AssetId, Asset>;
251
287
  getAssetsPrice(accounts: InternalAccount[], options?: {
252
288
  chainIds?: ChainId[];
253
289
  assetTypes?: AssetType[];
@@ -1 +1 @@
1
- {"version":3,"file":"AssetsController.d.mts","sourceRoot":"","sources":["../src/AssetsController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8DAA8D,EAC9D,oDAAoD,EACpD,qCAAqC,EACtC,0CAA0C;AAC3C,OAAO,KAAK,EAAE,0CAA0C,EAAE,sCAAsC;AAChG,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAC3D,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAE3B,kCAAkC;AACnC,OAAO,KAAK,EAAE,gCAAgC,EAAE,oCAAoC;AAEpF,OAAO,KAAK,EAAE,aAAa,EAAgB,mCAAmC;AAC9E,OAAO,KAAK,EACV,iBAAiB,EACjB,yCAAyC,EACzC,8BAA8B,EAC9B,6BAA6B,EAE7B,iBAAiB,EAClB,+BAA+B;AAChC,OAAO,KAAK,EACV,0BAA0B,EAC1B,4BAA4B,EAC7B,qCAAqC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AACrD,OAAO,KAAK,EACV,2CAA2C,EAC3C,+BAA+B,EAC/B,kCAAkC,EAClC,sCAAsC,EACtC,oCAAoC,EAEpC,iCAAiC,EAClC,qCAAqC;AACtC,OAAO,KAAK,EACV,yCAAyC,EACzC,iCAAiC,EAElC,gDAAgD;AACjD,OAAO,KAAK,EACV,cAAc,EACd,+BAA+B,EAChC,wCAAwC;AACzC,OAAO,EAAE,sCAAsC,EAAE,sCAAsC;AACvF,OAAO,KAAK,EAAE,qCAAqC,EAAE,yCAAyC;AAC9F,OAAO,KAAK,EACV,yCAAyC,EACzC,2CAA2C,EAC5C,iDAAiD;AAClD,OAAO,KAAK,EACV,oCAAoC,EACpC,iCAAiC,EACjC,gCAAgC,EACjC,oCAAoC;AACrC,OAAO,KAAK,EACV,8CAA8C,EAC9C,oDAAoD,EAErD,yCAAyC;AAa1C,OAAO,KAAK,EAAE,6BAA6B,EAAE,mDAAkD;AAM/F,OAAO,KAAK,EAAE,2BAA2B,EAAE,iDAAgD;AAI3F,OAAO,KAAK,EAAE,qBAAqB,EAAE,2CAA0C;AAK/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,yCAAwC;AAE3E,OAAO,KAAK,EAAE,6CAA6C,EAAE,0CAAyC;AAEtG,OAAO,KAAK,EAAE,6BAA6B,EAAE,mDAAkD;AAqB/F,OAAO,KAAK,EAAE,wBAAwB,EAAE,gDAA+C;AAEvF,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAGhB,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,aAAa,EAEb,UAAU,EACV,YAAY,EAEZ,SAAS,EACT,QAAQ,EACR,WAAW,EACX,YAAY,EAMZ,KAAK,EACN,oBAAmB;AAWpB,OAAO,KAAK,EACV,yBAAyB,EACzB,0BAA0B,EAC3B,0BAAyB;AAa1B;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAMF,QAAA,MAAM,eAAe,oBAA8B,CAAC;AA4CpD;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,6DAA6D;IAC7D,UAAU,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAC;IACjD,+BAA+B;IAC/B,aAAa,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG;YAAE,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAA;SAAE,CAAA;KAAE,CAAC;IAC5E,4BAA4B;IAC5B,WAAW,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAC;IAC/C,mEAAmE;IACnE,YAAY,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,EAAE,CAAA;KAAE,CAAC;IACvD,6CAA6C;IAC7C,gBAAgB,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAC;IAC1D,8CAA8C;IAC9C,gBAAgB,EAAE,iBAAiB,CAAC;CACrC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,+BAA+B,IAAI,qBAAqB,CAcvE;AAMD,MAAM,MAAM,8BAA8B,GAAG,wBAAwB,CACnE,OAAO,eAAe,EACtB,qBAAqB,CACtB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B,8BAA8B,GAC9B,6BAA6B,CAAC;AAElC,MAAM,MAAM,gCAAgC,GAAG,0BAA0B,CACvE,OAAO,eAAe,EACtB,qBAAqB,CACtB,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,IAAI,EAAE,GAAG,OAAO,eAAe,iBAAiB,CAAC;IACjD,OAAO,EAAE;QACP;YACE,SAAS,EAAE,SAAS,CAAC;YACrB,OAAO,EAAE,aAAa,CAAC;YACvB,cAAc,EAAE,MAAM,CAAC;YACvB,SAAS,EAAE,MAAM,CAAC;SACnB;KACF,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,GAAG,OAAO,eAAe,eAAe,CAAC;IAC/C,OAAO,EAAE,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAA;KAAE,CAAC,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,IAAI,EAAE,GAAG,OAAO,eAAe,iBAAiB,CAAC;IACjD,OAAO,EAAE,CAAC;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC,CAAC;CAChE,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAC9B,gCAAgC,GAChC,mCAAmC,GACnC,iCAAiC,GACjC,mCAAmC,CAAC;AAExC,KAAK,cAAc,GAEf,0CAA0C,GAC1C,8DAA8D,GAE9D,+BAA+B,GAC/B,2CAA2C,GAE3C,yCAAyC,GAEzC,oCAAoC,GACpC,iCAAiC,GACjC,cAAc,GAEd,8BAA8B,GAE9B,sCAAsC,GAEtC,yCAAyC,CAAC;AAE9C,KAAK,aAAa,GAEd,oDAAoD,GACpD,qCAAqC,GACrC,gCAAgC,GAChC,0BAA0B,GAC1B,4BAA4B,GAC5B,qCAAqC,GACrC,oDAAoD,GACpD,8CAA8C,GAE9C,iCAAiC,GAIjC,kCAAkC,GAClC,sCAAsC,GACtC,oCAAoC,GAEpC,iCAAiC,GAEjC,6CAA6C,GAC7C,+BAA+B,GAC/B,gCAAgC,GAEhC,6BAA6B,GAE7B,yCAAyC,GAGzC,2CAA2C,CAAC;AAEhD,MAAM,MAAM,yBAAyB,GAAG,SAAS,CAC/C,OAAO,eAAe,EACtB,uBAAuB,GAAG,cAAc,EACxC,sBAAsB,GAAG,aAAa,CACvC,CAAC;AAMF,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,yBAAyB,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACvC,gEAAgE;IAChE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC;IAC1B;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC;IACrC;;;;;;;OAOG;IACH,mCAAmC,CAAC,EAAE,CACpC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,KACjC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IACzB;;;OAGG;IACH,cAAc,EAAE,iBAAiB,CAAC;IAClC,gDAAgD;IAChD,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C;;;;OAIG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC1C,wDAAwD;IACxD,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IAC1D,kDAAkD;IAClD,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,0DAA0D;IAC1D,6BAA6B,CAAC,EAAE,6BAA6B,CAAC;IAC9D;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC;IAE5B;;;OAGG;IACH,uCAAuC,CAAC,EAAE,MAAM,wBAAwB,CAAC;CAC1E,CAAC;AAyKF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,gBAAiB,SAAQ,cAAc,CAClD,OAAO,eAAe,EACtB,qBAAqB,EACrB,yBAAyB,CAC1B;;gBAuLa,EACV,SAAS,EACT,KAAU,EACV,qBAAmD,EACnD,SAA+B,EAC/B,oBAAoB,EACpB,mCAAmC,EACnC,cAAc,EACd,mBAAmB,EACnB,KAAK,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,qBAAqB,EACrB,6BAA6B,EAC7B,WAAW,EACX,uCAAuC,GACxC,EAAE,uBAAuB;IA2mB1B;;;;;OAKG;IACH,wBAAwB,IAAI,CAC1B,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,OAAO,EAAE,EACvB,cAAc,EAAE,OAAO,EAAE,KACtB,IAAI;IAmKH,SAAS,CACb,QAAQ,EAAE,eAAe,EAAE,EAC3B,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;QACrB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;QACvB,oBAAoB,CAAC,EAAE,aAAa,EAAE,CAAC;QACvC,iJAAiJ;QACjJ,UAAU,CAAC,EAAE,gBAAgB,CAAC;KAC/B,GACA,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;IA+KrD,gBAAgB,CACpB,QAAQ,EAAE,eAAe,EAAE,EAC3B,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;QACrB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GACA,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;IAuBlE,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,GAAG,SAAS;IAInE;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,GAAG,KAAK,GAAG,SAAS;IAqBnE,cAAc,CAClB,QAAQ,EAAE,eAAe,EAAE,EAC3B,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;QACrB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GACA,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAqB7C;;;;;;;;OAQG;IACH,yBAAyB,IAAI,yBAAyB;IAatD;;;;;;;;OAQG;IACH,yBAAyB,IAAI,0BAA0B;IAoBvD;;;;;;;;;;;;OAYG;IACG,cAAc,CAClB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,aAAa,EACtB,eAAe,CAAC,EAAE,oBAAoB,GACrC,OAAO,CAAC,IAAI,CAAC;IAgFhB;;;;;OAKG;IACH,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAuBrE;;;;;OAKG;IACH,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,aAAa,EAAE;IAQtD;;;;;;OAMG;IACH,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAavC;;;;OAIG;IACH,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAoBzC;;;;OAIG;IACH,mBAAmB,CAAC,gBAAgB,EAAE,iBAAiB,GAAG,IAAI;IA+F9D;;;;;;OAMG;IACH,oBAAoB,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAqC5E;;OAEG;IACH,sBAAsB,IAAI,IAAI;IA6uB9B;;;;;;;OAOG;IACH,8BAA8B,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAopBvD;;;;;;;;;OASG;IACG,kBAAkB,CACtB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,IAAI,CAAC;IAuGhB,OAAO,IAAI,IAAI;CA4ChB"}
1
+ {"version":3,"file":"AssetsController.d.mts","sourceRoot":"","sources":["../src/AssetsController.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
9
9
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
10
10
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
11
11
  };
12
- var _AssetsController_instances, _AssetsController_isEnabled, _AssetsController_isBasicFunctionality, _AssetsController_defaultUpdateInterval, _AssetsController_trace, _AssetsController_captureException, _AssetsController_firstInitFetchReported, _AssetsController_stateSizeReported, _AssetsController_emitStateSizeTrace, _AssetsController_uiOpen, _AssetsController_keyringUnlocked, _AssetsController_controllerMutex, _AssetsController_accountRefreshMutex, _AssetsController_activeSubscriptions, _AssetsController_enabledChains, _AssetsController_lastKnownAccountIds, _AssetsController_getSelectedAccounts, _AssetsController_backendWebsocketDataSource, _AssetsController_accountsApiDataSource, _AssetsController_snapDataSource, _AssetsController_rpcDataSource, _AssetsController_stakedBalanceDataSource, _AssetsController_allBalanceDataSources_get, _AssetsController_priceDataSource, _AssetsController_detectionMiddleware, _AssetsController_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_onAccountActivityBalanceUpdated, _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;
12
+ var _AssetsController_instances, _AssetsController_isEnabled, _AssetsController_isBasicFunctionality, _AssetsController_defaultUpdateInterval, _AssetsController_trace, _AssetsController_captureException, _AssetsController_firstInitFetchReported, _AssetsController_stateSizeReported, _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_assertNonEmptyAccountId, _AssetsController_normalizeAssetIdOrThrow, _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;
13
13
  import { BaseController } from "@metamask/base-controller";
14
14
  import { clientControllerSelectors } from "@metamask/client-controller";
15
15
  import { isCaipChainId, isStrictHexString, KnownCaipNamespace, parseCaipAssetType, parseCaipChainId } from "@metamask/utils";
@@ -17,8 +17,8 @@ import { Mutex } from "async-mutex";
17
17
  import BigNumberJS from "bignumber.js";
18
18
  import $lodash from "lodash";
19
19
  const { isEqual } = $lodash;
20
+ import { AccountActivityDataSource } from "./data-sources/AccountActivityDataSource.mjs";
20
21
  import { AccountsApiDataSource } from "./data-sources/AccountsApiDataSource.mjs";
21
- import { BackendWebsocketDataSource } from "./data-sources/BackendWebsocketDataSource.mjs";
22
22
  import { shouldSkipNativeForCaipChainId } from "./data-sources/evm-rpc-services/utils/assets.mjs";
23
23
  import { isPriceableAsset, PriceDataSource } from "./data-sources/PriceDataSource.mjs";
24
24
  import { RpcDataSource } from "./data-sources/RpcDataSource.mjs";
@@ -36,7 +36,6 @@ import { tempHealAssetsInfoMetadata } from "./migrations/healAssetsInfoMetadata.
36
36
  import { ZERO_ADDRESS } from "./utils/constants.mjs";
37
37
  import { pickRpcCustomAssetsSupplement } from "./utils/customAssetsRpcSupplement.mjs";
38
38
  import { normalizeAmountString, normalizeAssetId, formatExchangeRatesForBridge, formatStateForTransactionPay, buildNativeAssetsFromConstant, buildNativeAssetsFromApi } from "./utils/index.mjs";
39
- import { processAccountActivityBalanceUpdates } from "./utils/processAccountActivityBalanceUpdates.mjs";
40
39
  import { emitTrace, withTrace } from "./utils/trace.mjs";
41
40
  const NATIVE_ASSETS_QUERY_KEY = ['nativeAssets'];
42
41
  /** Stable empty map so memoized formatters are not busted by `?? {}` identity churn. */
@@ -50,7 +49,9 @@ const MESSENGER_EXPOSED_METHODS = [
50
49
  'getAssets',
51
50
  'getAssetsBalance',
52
51
  'getAssetMetadata',
53
- 'getAsset',
52
+ 'getAccountAssetByID',
53
+ 'getAccountAssetsByIDs',
54
+ 'getAccountAssetsByScope',
54
55
  'getAssetsPrice',
55
56
  'getExchangeRatesForBridge',
56
57
  'getStateForTransactionPay',
@@ -310,7 +311,7 @@ export class AssetsController extends BaseController {
310
311
  * re-subscriptions when the account set hasn't actually changed.
311
312
  */
312
313
  _AssetsController_lastKnownAccountIds.set(this, new Set());
313
- _AssetsController_backendWebsocketDataSource.set(this, void 0);
314
+ _AssetsController_accountActivityDataSource.set(this, void 0);
314
315
  _AssetsController_accountsApiDataSource.set(this, void 0);
315
316
  _AssetsController_snapDataSource.set(this, void 0);
316
317
  _AssetsController_rpcDataSource.set(this, void 0);
@@ -351,11 +352,11 @@ export class AssetsController extends BaseController {
351
352
  });
352
353
  }
353
354
  }, "f");
354
- __classPrivateFieldSet(this, _AssetsController_backendWebsocketDataSource, new BackendWebsocketDataSource({
355
+ __classPrivateFieldSet(this, _AssetsController_accountActivityDataSource, new AccountActivityDataSource({
355
356
  messenger: this.messenger,
356
- queryApiClient,
357
357
  onActiveChainsUpdated: __classPrivateFieldGet(this, _AssetsController_onActiveChainsUpdated, "f"),
358
358
  getAssetType: (assetId) => __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getAssetType).call(this, assetId),
359
+ onAssetsUpdate: (response, request) => this.handleAssetsUpdate(response, __classPrivateFieldGet(this, _AssetsController_accountActivityDataSource, "f").getName(), request),
359
360
  }), "f");
360
361
  __classPrivateFieldSet(this, _AssetsController_accountsApiDataSource, new AccountsApiDataSource({
361
362
  messenger: this.messenger,
@@ -635,21 +636,81 @@ export class AssetsController extends BaseController {
635
636
  * renderable asset (balance + metadata) exists for the account/asset pair.
636
637
  * @throws If `accountId` is empty or `assetId` is not a valid CAIP-19 asset ID.
637
638
  */
638
- getAsset(accountId, assetId) {
639
- if (typeof accountId !== 'string' || accountId.length === 0) {
640
- throw new Error('AssetsController.getAsset: accountId must be a non-empty string');
641
- }
642
- let normalizedAssetId;
643
- try {
644
- normalizedAssetId = normalizeAssetId(assetId);
645
- }
646
- catch {
647
- throw new Error(`AssetsController.getAsset: invalid CAIP-19 assetId "${assetId}"`);
648
- }
639
+ getAccountAssetByID(accountId, assetId) {
640
+ __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_assertNonEmptyAccountId).call(this, accountId, 'getAccountAssetByID');
641
+ const normalizedAssetId = __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_normalizeAssetIdOrThrow).call(this, assetId, 'getAccountAssetByID');
649
642
  return __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getAssetFromState).call(this, accountId, normalizedAssetId, {
650
643
  assetTypeSet: new Set(['fungible']),
651
644
  });
652
645
  }
646
+ /**
647
+ * Get multiple combined assets (balance + metadata + price + computed
648
+ * `fiatValue`) for an account directly from controller state.
649
+ *
650
+ * Applies the same state-composition and filtering rules as
651
+ * `getAccountAssetByID` to each requested asset ID. Asset IDs that do not
652
+ * resolve to a complete renderable asset (missing balance/metadata, hidden,
653
+ * or otherwise filtered out) are omitted from the result. Reads from
654
+ * current state only and does not trigger a data-source refresh.
655
+ *
656
+ * @param accountId - The account ID (`InternalAccount.id`, not an address).
657
+ * @param assetIds - The CAIP-19 asset IDs including chain scope
658
+ * (e.g. `eip155:1/erc20:0x...`).
659
+ * @returns A record of combined `Asset`s keyed by normalized CAIP-19 asset
660
+ * ID, containing only the requested assets that resolved.
661
+ * @throws If `accountId` is empty or any `assetIds` entry is not a valid
662
+ * CAIP-19 asset ID.
663
+ */
664
+ getAccountAssetsByIDs(accountId, assetIds) {
665
+ __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_assertNonEmptyAccountId).call(this, accountId, 'getAccountAssetsByIDs');
666
+ const result = Object.create(null);
667
+ for (const assetId of assetIds) {
668
+ const normalizedAssetId = __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_normalizeAssetIdOrThrow).call(this, assetId, 'getAccountAssetsByIDs');
669
+ const asset = __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getAssetFromState).call(this, accountId, normalizedAssetId, {
670
+ assetTypeSet: new Set(['fungible']),
671
+ });
672
+ if (asset) {
673
+ result[normalizedAssetId] = asset;
674
+ }
675
+ }
676
+ return result;
677
+ }
678
+ /**
679
+ * Get all combined assets (balance + metadata + price + computed
680
+ * `fiatValue`) an account holds on a given chain scope, directly from
681
+ * controller state.
682
+ *
683
+ * Applies the same state-composition and filtering rules as
684
+ * `getAccountAssetByID` (hidden or otherwise filtered assets are excluded).
685
+ * Reads from current state only and does not trigger a data-source refresh.
686
+ *
687
+ * @param accountId - The account ID (`InternalAccount.id`, not an address).
688
+ * @param scope - The CAIP-2 chain ID to filter by (e.g. `eip155:1`).
689
+ * @returns A record of combined `Asset`s keyed by CAIP-19 asset ID,
690
+ * containing only the account's assets on the given scope.
691
+ * @throws If `accountId` is empty or `scope` is not a valid CAIP-2 chain ID.
692
+ */
693
+ getAccountAssetsByScope(accountId, scope) {
694
+ __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_assertNonEmptyAccountId).call(this, accountId, 'getAccountAssetsByScope');
695
+ if (!isCaipChainId(scope)) {
696
+ throw new Error(`AssetsController.getAccountAssetsByScope: invalid CAIP-2 scope "${String(scope)}"`);
697
+ }
698
+ const result = Object.create(null);
699
+ const chainIdSet = new Set([scope]);
700
+ const assetTypeSet = new Set(['fungible']);
701
+ const accountBalances = this.state.assetsBalance[accountId] ?? {};
702
+ for (const assetId of Object.keys(accountBalances)) {
703
+ const typedAssetId = assetId;
704
+ const asset = __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getAssetFromState).call(this, accountId, typedAssetId, {
705
+ chainIdSet,
706
+ assetTypeSet,
707
+ });
708
+ if (asset) {
709
+ result[typedAssetId] = asset;
710
+ }
711
+ }
712
+ return result;
713
+ }
653
714
  async getAssetsPrice(accounts, options) {
654
715
  const assets = await this.getAssets(accounts, {
655
716
  chainIds: options?.chainIds,
@@ -1003,12 +1064,12 @@ export class AssetsController extends BaseController {
1003
1064
  ...resolvedRequest,
1004
1065
  dataTypes: resolvedRequest.dataTypes.filter((dt) => dt !== 'metadata' && dt !== 'price'),
1005
1066
  };
1006
- // Graduate custom assets only when AccountsAPI / Websocket reports them.
1007
- // RPC already fetches custom assets on purpose, and Snap handles non-EVM
1008
- // chains the rule does not apply to, so skip the middleware for those.
1067
+ // Graduate custom assets only when AccountsAPI / AccountActivity reports
1068
+ // them. RPC already fetches custom assets on purpose, and Snap handles
1069
+ // non-EVM chains the rule does not apply to, so skip the middleware for
1070
+ // those.
1009
1071
  const shouldGraduateCustomAssets = sourceId === 'AccountsApiDataSource' ||
1010
- sourceId === 'BackendWebsocketDataSource' ||
1011
- sourceId === 'AccountActivityService';
1072
+ sourceId === 'AccountActivityDataSource';
1012
1073
  const enrichmentSources = [
1013
1074
  ...(shouldGraduateCustomAssets
1014
1075
  ? [__classPrivateFieldGet(this, _AssetsController_customAssetGraduationMiddleware, "f")]
@@ -1060,7 +1121,7 @@ export class AssetsController extends BaseController {
1060
1121
  subscriptionCount: __classPrivateFieldGet(this, _AssetsController_activeSubscriptions, "f").size,
1061
1122
  });
1062
1123
  // Destroy instantiated data sources
1063
- __classPrivateFieldGet(this, _AssetsController_backendWebsocketDataSource, "f")?.destroy?.();
1124
+ __classPrivateFieldGet(this, _AssetsController_accountActivityDataSource, "f")?.destroy?.();
1064
1125
  __classPrivateFieldGet(this, _AssetsController_accountsApiDataSource, "f")?.destroy?.();
1065
1126
  __classPrivateFieldGet(this, _AssetsController_snapDataSource, "f")?.destroy?.();
1066
1127
  __classPrivateFieldGet(this, _AssetsController_rpcDataSource, "f")?.destroy?.();
@@ -1075,7 +1136,9 @@ export class AssetsController extends BaseController {
1075
1136
  this.messenger.unregisterActionHandler('AssetsController:getAssets');
1076
1137
  this.messenger.unregisterActionHandler('AssetsController:getAssetsBalance');
1077
1138
  this.messenger.unregisterActionHandler('AssetsController:getAssetMetadata');
1078
- this.messenger.unregisterActionHandler('AssetsController:getAsset');
1139
+ this.messenger.unregisterActionHandler('AssetsController:getAccountAssetByID');
1140
+ this.messenger.unregisterActionHandler('AssetsController:getAccountAssetsByIDs');
1141
+ this.messenger.unregisterActionHandler('AssetsController:getAccountAssetsByScope');
1079
1142
  this.messenger.unregisterActionHandler('AssetsController:getAssetsPrice');
1080
1143
  this.messenger.unregisterActionHandler('AssetsController:getExchangeRatesForBridge');
1081
1144
  this.messenger.unregisterActionHandler('AssetsController:getStateForTransactionPay');
@@ -1087,7 +1150,7 @@ export class AssetsController extends BaseController {
1087
1150
  this.messenger.unregisterActionHandler('AssetsController:setSelectedCurrency');
1088
1151
  }
1089
1152
  }
1090
- _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_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_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_emitStateSizeTrace = function _AssetsController_emitStateSizeTrace() {
1153
+ _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_emitStateSizeTrace = function _AssetsController_emitStateSizeTrace() {
1091
1154
  if (!__classPrivateFieldGet(this, _AssetsController_trace, "f") || __classPrivateFieldGet(this, _AssetsController_stateSizeReported, "f")) {
1092
1155
  return;
1093
1156
  }
@@ -1142,7 +1205,7 @@ _AssetsController_isEnabled = new WeakMap(), _AssetsController_isBasicFunctional
1142
1205
  return [];
1143
1206
  }, _AssetsController_allBalanceDataSources_get = function _AssetsController_allBalanceDataSources_get() {
1144
1207
  return [
1145
- __classPrivateFieldGet(this, _AssetsController_backendWebsocketDataSource, "f"),
1208
+ __classPrivateFieldGet(this, _AssetsController_accountActivityDataSource, "f"),
1146
1209
  __classPrivateFieldGet(this, _AssetsController_accountsApiDataSource, "f"),
1147
1210
  __classPrivateFieldGet(this, _AssetsController_snapDataSource, "f"),
1148
1211
  __classPrivateFieldGet(this, _AssetsController_rpcDataSource, "f"),
@@ -1261,12 +1324,6 @@ _AssetsController_isEnabled = new WeakMap(), _AssetsController_isBasicFunctional
1261
1324
  this.messenger.subscribe('TransactionController:transactionConfirmed', (transactionMeta) => {
1262
1325
  __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_onTransactionConfirmed).call(this, transactionMeta);
1263
1326
  });
1264
- // Real-time post-tx balances from AccountActivityService (same WS payload as
1265
- // TokenBalancesController; BackendWebsocketDataSource may not receive the
1266
- // callback when AccountActivityService owns the server subscription).
1267
- this.messenger.subscribe('AccountActivityService:balanceUpdated', (event) => {
1268
- __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_onAccountActivityBalanceUpdated).call(this, event);
1269
- });
1270
1327
  }, _AssetsController_onUnapprovedTransactionAdded = function _AssetsController_onUnapprovedTransactionAdded(transactionMeta) {
1271
1328
  const hexChainId = transactionMeta.chainId;
1272
1329
  if (!hexChainId) {
@@ -1309,26 +1366,6 @@ _AssetsController_isEnabled = new WeakMap(), _AssetsController_isBasicFunctional
1309
1366
  }).catch((error) => {
1310
1367
  log('Failed to refresh assets after transaction confirmed', { error });
1311
1368
  });
1312
- }, _AssetsController_onAccountActivityBalanceUpdated = function _AssetsController_onAccountActivityBalanceUpdated({ address, chain, updates, }) {
1313
- const account = __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getSelectedAccounts).call(this).find((a) => a.address.startsWith('0x')
1314
- ? a.address.toLowerCase() === address.toLowerCase()
1315
- : a.address === address);
1316
- if (!account) {
1317
- return;
1318
- }
1319
- const chainId = chain;
1320
- const response = processAccountActivityBalanceUpdates(updates, account.id, (assetId) => __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_getAssetType).call(this, assetId));
1321
- if (!response.assetsBalance) {
1322
- return;
1323
- }
1324
- const request = {
1325
- accountsWithSupportedChains: [{ account, supportedChains: [chainId] }],
1326
- chainIds: [chainId],
1327
- dataTypes: ['balance', 'metadata'],
1328
- };
1329
- this.handleAssetsUpdate(response, 'AccountActivityService', request).catch((error) => {
1330
- log('Failed to apply AccountActivityService balance update', { error });
1331
- });
1332
1369
  }, _AssetsController_updateActive = function _AssetsController_updateActive() {
1333
1370
  const shouldRun = __classPrivateFieldGet(this, _AssetsController_uiOpen, "f") && __classPrivateFieldGet(this, _AssetsController_keyringUnlocked, "f");
1334
1371
  if (shouldRun) {
@@ -1426,7 +1463,7 @@ async function _AssetsController_runStartupRefresh(accounts) {
1426
1463
  }, _AssetsController_registerActionHandlers = function _AssetsController_registerActionHandlers() {
1427
1464
  this.messenger.registerMethodActionHandlers(this, MESSENGER_EXPOSED_METHODS);
1428
1465
  }, _AssetsController_handleActiveChainsUpdate = function _AssetsController_handleActiveChainsUpdate(dataSourceId, activeChains, previousChains) {
1429
- if (!__classPrivateFieldGet(this, _AssetsController_isEnabled, "f").call(this)) {
1466
+ if (!__classPrivateFieldGet(this, _AssetsController_uiOpen, "f") || !__classPrivateFieldGet(this, _AssetsController_keyringUnlocked, "f") || !__classPrivateFieldGet(this, _AssetsController_isEnabled, "f").call(this)) {
1430
1467
  return;
1431
1468
  }
1432
1469
  log('Data source active chains changed', {
@@ -1438,11 +1475,8 @@ async function _AssetsController_runStartupRefresh(accounts) {
1438
1475
  const previousSet = new Set(previous);
1439
1476
  const addedChains = activeChains.filter((ch) => !previousSet.has(ch));
1440
1477
  const removedChains = previous.filter((ch) => !activeChains.includes(ch));
1478
+ // Refresh subscriptions to use updated data source availability.
1441
1479
  if (addedChains.length > 0 || removedChains.length > 0) {
1442
- // Refresh subscriptions to use updated data source availability.
1443
- // No one-time fetch needed here — #handleEnabledNetworksChanged
1444
- // handles fetches when the user enables a network, and
1445
- // #subscribeAssets re-subscribes with the correct chain assignment.
1446
1480
  __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_subscribeAssets).call(this);
1447
1481
  }
1448
1482
  }, _AssetsController_executeMiddlewares =
@@ -1557,6 +1591,17 @@ async function _AssetsController_executeMiddlewares(params) {
1557
1591
  });
1558
1592
  }
1559
1593
  return { response: result.response, durationByDataSource };
1594
+ }, _AssetsController_assertNonEmptyAccountId = function _AssetsController_assertNonEmptyAccountId(accountId, methodName) {
1595
+ if (typeof accountId !== 'string' || accountId.length === 0) {
1596
+ throw new Error(`AssetsController.${methodName}: accountId must be a non-empty string`);
1597
+ }
1598
+ }, _AssetsController_normalizeAssetIdOrThrow = function _AssetsController_normalizeAssetIdOrThrow(assetId, methodName) {
1599
+ try {
1600
+ return normalizeAssetId(assetId);
1601
+ }
1602
+ catch {
1603
+ throw new Error(`AssetsController.${methodName}: invalid CAIP-19 assetId "${assetId}"`);
1604
+ }
1560
1605
  }, _AssetsController_fetchMissingPricesWithoutCache = function _AssetsController_fetchMissingPricesWithoutCache(accounts, chainIds) {
1561
1606
  if (!__classPrivateFieldGet(this, _AssetsController_isBasicFunctionality, "f").call(this) || accounts.length === 0) {
1562
1607
  return;
@@ -2047,8 +2092,10 @@ async function _AssetsController_executeMiddlewares(params) {
2047
2092
  }, _AssetsController_subscribeAssetsBalance = function _AssetsController_subscribeAssetsBalance(accounts, chainIds) {
2048
2093
  const chainToAccounts = __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_buildChainToAccountsMap).call(this, accounts, new Set(chainIds));
2049
2094
  const remainingChains = new Set(chainToAccounts.keys());
2050
- // When basic functionality is on, use all balance data sources; when off, RPC only.
2051
- const balanceDataSources = __classPrivateFieldGet(this, _AssetsController_isBasicFunctionality, "f").call(this)
2095
+ // When basic functionality is on, use all balance data sources; when off,
2096
+ // RPC only.
2097
+ const isBasicFunctionality = __classPrivateFieldGet(this, _AssetsController_isBasicFunctionality, "f").call(this);
2098
+ const balanceDataSources = isBasicFunctionality
2052
2099
  ? __classPrivateFieldGet(this, _AssetsController_instances, "a", _AssetsController_allBalanceDataSources_get)
2053
2100
  : [__classPrivateFieldGet(this, _AssetsController_rpcDataSource, "f")];
2054
2101
  let rpcAssignedChains = new Set();
@@ -2350,14 +2397,11 @@ async function _AssetsController_handleAccountGroupChanged() {
2350
2397
  __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_fetchMissingPricesWithoutCache).call(this, accounts, [caipChainId]);
2351
2398
  }, _AssetsController_refreshActiveChainsOnNetworkSwitch =
2352
2399
  /**
2353
- * Refresh data-source `activeChains` after an EVM network switch so API/WS/Rpc
2400
+ * Refresh data-source `activeChains` after an EVM network switch so API/Rpc
2354
2401
  * chain claiming is not stuck on an empty or stale init-time list.
2355
2402
  */
2356
2403
  async function _AssetsController_refreshActiveChainsOnNetworkSwitch() {
2357
- await Promise.all([
2358
- __classPrivateFieldGet(this, _AssetsController_accountsApiDataSource, "f").refreshActiveChains(),
2359
- __classPrivateFieldGet(this, _AssetsController_backendWebsocketDataSource, "f").refreshActiveChains(),
2360
- ]);
2404
+ await __classPrivateFieldGet(this, _AssetsController_accountsApiDataSource, "f").refreshActiveChains();
2361
2405
  __classPrivateFieldGet(this, _AssetsController_rpcDataSource, "f").refreshActiveChainsFromNetworkState();
2362
2406
  }, _AssetsController_getSelectedEvmChainIdFromNetworkState = function _AssetsController_getSelectedEvmChainIdFromNetworkState(networkState) {
2363
2407
  try {