@metamask/assets-controller 0.2.0 → 1.0.0

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 (126) hide show
  1. package/CHANGELOG.md +17 -1
  2. package/dist/AssetsController-method-action-types.cjs +7 -0
  3. package/dist/AssetsController-method-action-types.cjs.map +1 -0
  4. package/dist/AssetsController-method-action-types.d.cts +78 -0
  5. package/dist/AssetsController-method-action-types.d.cts.map +1 -0
  6. package/dist/AssetsController-method-action-types.d.mts +78 -0
  7. package/dist/AssetsController-method-action-types.d.mts.map +1 -0
  8. package/dist/AssetsController-method-action-types.mjs +6 -0
  9. package/dist/AssetsController-method-action-types.mjs.map +1 -0
  10. package/dist/AssetsController.cjs +201 -237
  11. package/dist/AssetsController.cjs.map +1 -1
  12. package/dist/AssetsController.d.cts +29 -92
  13. package/dist/AssetsController.d.cts.map +1 -1
  14. package/dist/AssetsController.d.mts +29 -92
  15. package/dist/AssetsController.d.mts.map +1 -1
  16. package/dist/AssetsController.mjs +201 -237
  17. package/dist/AssetsController.mjs.map +1 -1
  18. package/dist/data-sources/AbstractDataSource.cjs +8 -0
  19. package/dist/data-sources/AbstractDataSource.cjs.map +1 -1
  20. package/dist/data-sources/AbstractDataSource.d.cts +16 -1
  21. package/dist/data-sources/AbstractDataSource.d.cts.map +1 -1
  22. package/dist/data-sources/AbstractDataSource.d.mts +16 -1
  23. package/dist/data-sources/AbstractDataSource.d.mts.map +1 -1
  24. package/dist/data-sources/AbstractDataSource.mjs +8 -0
  25. package/dist/data-sources/AbstractDataSource.mjs.map +1 -1
  26. package/dist/data-sources/AccountsApiDataSource.cjs +25 -99
  27. package/dist/data-sources/AccountsApiDataSource.cjs.map +1 -1
  28. package/dist/data-sources/AccountsApiDataSource.d.cts +5 -67
  29. package/dist/data-sources/AccountsApiDataSource.d.cts.map +1 -1
  30. package/dist/data-sources/AccountsApiDataSource.d.mts +5 -67
  31. package/dist/data-sources/AccountsApiDataSource.d.mts.map +1 -1
  32. package/dist/data-sources/AccountsApiDataSource.mjs +24 -97
  33. package/dist/data-sources/AccountsApiDataSource.mjs.map +1 -1
  34. package/dist/data-sources/BackendWebsocketDataSource.cjs +138 -45
  35. package/dist/data-sources/BackendWebsocketDataSource.cjs.map +1 -1
  36. package/dist/data-sources/BackendWebsocketDataSource.d.cts +19 -66
  37. package/dist/data-sources/BackendWebsocketDataSource.d.cts.map +1 -1
  38. package/dist/data-sources/BackendWebsocketDataSource.d.mts +19 -66
  39. package/dist/data-sources/BackendWebsocketDataSource.d.mts.map +1 -1
  40. package/dist/data-sources/BackendWebsocketDataSource.mjs +138 -45
  41. package/dist/data-sources/BackendWebsocketDataSource.mjs.map +1 -1
  42. package/dist/data-sources/PriceDataSource.cjs +22 -44
  43. package/dist/data-sources/PriceDataSource.cjs.map +1 -1
  44. package/dist/data-sources/PriceDataSource.d.cts +6 -89
  45. package/dist/data-sources/PriceDataSource.d.cts.map +1 -1
  46. package/dist/data-sources/PriceDataSource.d.mts +6 -89
  47. package/dist/data-sources/PriceDataSource.d.mts.map +1 -1
  48. package/dist/data-sources/PriceDataSource.mjs +22 -44
  49. package/dist/data-sources/PriceDataSource.mjs.map +1 -1
  50. package/dist/data-sources/RpcDataSource.cjs +64 -102
  51. package/dist/data-sources/RpcDataSource.cjs.map +1 -1
  52. package/dist/data-sources/RpcDataSource.d.cts +16 -55
  53. package/dist/data-sources/RpcDataSource.d.cts.map +1 -1
  54. package/dist/data-sources/RpcDataSource.d.mts +16 -55
  55. package/dist/data-sources/RpcDataSource.d.mts.map +1 -1
  56. package/dist/data-sources/RpcDataSource.mjs +64 -102
  57. package/dist/data-sources/RpcDataSource.mjs.map +1 -1
  58. package/dist/data-sources/SnapDataSource.cjs +32 -30
  59. package/dist/data-sources/SnapDataSource.cjs.map +1 -1
  60. package/dist/data-sources/SnapDataSource.d.cts +7 -44
  61. package/dist/data-sources/SnapDataSource.d.cts.map +1 -1
  62. package/dist/data-sources/SnapDataSource.d.mts +7 -44
  63. package/dist/data-sources/SnapDataSource.d.mts.map +1 -1
  64. package/dist/data-sources/SnapDataSource.mjs +32 -30
  65. package/dist/data-sources/SnapDataSource.mjs.map +1 -1
  66. package/dist/data-sources/TokenDataSource.cjs +3 -16
  67. package/dist/data-sources/TokenDataSource.cjs.map +1 -1
  68. package/dist/data-sources/TokenDataSource.d.cts +2 -25
  69. package/dist/data-sources/TokenDataSource.d.cts.map +1 -1
  70. package/dist/data-sources/TokenDataSource.d.mts +2 -25
  71. package/dist/data-sources/TokenDataSource.d.mts.map +1 -1
  72. package/dist/data-sources/TokenDataSource.mjs +3 -16
  73. package/dist/data-sources/TokenDataSource.mjs.map +1 -1
  74. package/dist/data-sources/index.cjs +1 -6
  75. package/dist/data-sources/index.cjs.map +1 -1
  76. package/dist/data-sources/index.d.cts +6 -7
  77. package/dist/data-sources/index.d.cts.map +1 -1
  78. package/dist/data-sources/index.d.mts +6 -7
  79. package/dist/data-sources/index.d.mts.map +1 -1
  80. package/dist/data-sources/index.mjs +1 -3
  81. package/dist/data-sources/index.mjs.map +1 -1
  82. package/dist/index.cjs +6 -6
  83. package/dist/index.cjs.map +1 -1
  84. package/dist/index.d.cts +11 -11
  85. package/dist/index.d.cts.map +1 -1
  86. package/dist/index.d.mts +11 -11
  87. package/dist/index.d.mts.map +1 -1
  88. package/dist/index.mjs +3 -3
  89. package/dist/index.mjs.map +1 -1
  90. package/dist/middlewares/DetectionMiddleware.cjs +4 -27
  91. package/dist/middlewares/DetectionMiddleware.cjs.map +1 -1
  92. package/dist/middlewares/DetectionMiddleware.d.cts +3 -26
  93. package/dist/middlewares/DetectionMiddleware.d.cts.map +1 -1
  94. package/dist/middlewares/DetectionMiddleware.d.mts +3 -26
  95. package/dist/middlewares/DetectionMiddleware.d.mts.map +1 -1
  96. package/dist/middlewares/DetectionMiddleware.mjs +4 -27
  97. package/dist/middlewares/DetectionMiddleware.mjs.map +1 -1
  98. package/dist/middlewares/index.cjs.map +1 -1
  99. package/dist/middlewares/index.d.cts +1 -1
  100. package/dist/middlewares/index.d.cts.map +1 -1
  101. package/dist/middlewares/index.d.mts +1 -1
  102. package/dist/middlewares/index.d.mts.map +1 -1
  103. package/dist/middlewares/index.mjs.map +1 -1
  104. package/dist/selectors/balance.cjs +306 -0
  105. package/dist/selectors/balance.cjs.map +1 -0
  106. package/dist/selectors/balance.d.cts +22 -0
  107. package/dist/selectors/balance.d.cts.map +1 -0
  108. package/dist/selectors/balance.d.mts +22 -0
  109. package/dist/selectors/balance.d.mts.map +1 -0
  110. package/dist/selectors/balance.mjs +297 -0
  111. package/dist/selectors/balance.mjs.map +1 -0
  112. package/dist/types.cjs.map +1 -1
  113. package/dist/types.d.cts +53 -18
  114. package/dist/types.d.cts.map +1 -1
  115. package/dist/types.d.mts +53 -18
  116. package/dist/types.d.mts.map +1 -1
  117. package/dist/types.mjs.map +1 -1
  118. package/package.json +2 -2
  119. package/dist/data-sources/initDataSources.cjs +0 -215
  120. package/dist/data-sources/initDataSources.cjs.map +0 -1
  121. package/dist/data-sources/initDataSources.d.cts +0 -140
  122. package/dist/data-sources/initDataSources.d.cts.map +0 -1
  123. package/dist/data-sources/initDataSources.d.mts +0 -140
  124. package/dist/data-sources/initDataSources.d.mts.map +0 -1
  125. package/dist/data-sources/initDataSources.mjs +0 -210
  126. package/dist/data-sources/initDataSources.mjs.map +0 -1
@@ -1,17 +1,14 @@
1
1
  import type { AccountTreeControllerGetAccountsFromSelectedAccountGroupAction, AccountTreeControllerSelectedAccountGroupChangeEvent } from "@metamask/account-tree-controller";
2
2
  import { BaseController } from "@metamask/base-controller";
3
3
  import type { ControllerGetStateAction, ControllerStateChangeEvent } from "@metamask/base-controller";
4
+ import type { ApiPlatformClient, BackendWebSocketServiceActions, BackendWebSocketServiceEvents } from "@metamask/core-backend";
4
5
  import type { KeyringControllerLockEvent, KeyringControllerUnlockEvent } from "@metamask/keyring-controller";
5
6
  import type { InternalAccount } from "@metamask/keyring-internal-api";
6
7
  import type { Messenger } from "@metamask/messenger";
7
8
  import type { NetworkEnablementControllerGetStateAction, NetworkEnablementControllerEvents } from "@metamask/network-enablement-controller";
8
- import type { AccountsApiDataSourceGetAssetsMiddlewareAction } from "./data-sources/AccountsApiDataSource.cjs";
9
- import type { PriceDataSourceGetAssetsMiddlewareAction, PriceDataSourceFetchAction, PriceDataSourceSubscribeAction, PriceDataSourceUnsubscribeAction } from "./data-sources/PriceDataSource.cjs";
10
- import type { RpcDataSourceGetAssetsMiddlewareAction } from "./data-sources/RpcDataSource.cjs";
11
- import type { SnapDataSourceGetAssetsMiddlewareAction } from "./data-sources/SnapDataSource.cjs";
12
- import type { TokenDataSourceGetAssetsMiddlewareAction } from "./data-sources/TokenDataSource.cjs";
13
- import type { DetectionMiddlewareGetAssetsMiddlewareAction } from "./middlewares/DetectionMiddleware.cjs";
14
- import type { AccountId, AssetPreferences, ChainId, Caip19AssetId, AssetMetadata, AssetPrice, AssetBalance, AssetType, DataType, DataResponse, DataSourceDefinition, Asset } from "./types.cjs";
9
+ import type { AssetsControllerMethodActions } from "./AssetsController-method-action-types.cjs";
10
+ import type { RpcDataSourceConfig } from "./data-sources/RpcDataSource.cjs";
11
+ import type { AccountId, AssetPreferences, ChainId, Caip19AssetId, AssetMetadata, AssetPrice, AssetBalance, AssetType, DataType, DataRequest, DataResponse, Asset } from "./types.cjs";
15
12
  declare const CONTROLLER_NAME: "AssetsController";
16
13
  /**
17
14
  * State structure for AssetsController.
@@ -52,51 +49,7 @@ export type AssetsControllerState = {
52
49
  */
53
50
  export declare function getDefaultAssetsControllerState(): AssetsControllerState;
54
51
  export type AssetsControllerGetStateAction = ControllerGetStateAction<typeof CONTROLLER_NAME, AssetsControllerState>;
55
- export type AssetsControllerGetAssetsAction = {
56
- type: `${typeof CONTROLLER_NAME}:getAssets`;
57
- handler: AssetsController['getAssets'];
58
- };
59
- export type AssetsControllerGetAssetsBalanceAction = {
60
- type: `${typeof CONTROLLER_NAME}:getAssetsBalance`;
61
- handler: AssetsController['getAssetsBalance'];
62
- };
63
- export type AssetsControllerGetAssetMetadataAction = {
64
- type: `${typeof CONTROLLER_NAME}:getAssetMetadata`;
65
- handler: AssetsController['getAssetMetadata'];
66
- };
67
- export type AssetsControllerGetAssetsPriceAction = {
68
- type: `${typeof CONTROLLER_NAME}:getAssetsPrice`;
69
- handler: AssetsController['getAssetsPrice'];
70
- };
71
- export type AssetsControllerActiveChainsUpdateAction = {
72
- type: `${typeof CONTROLLER_NAME}:activeChainsUpdate`;
73
- handler: AssetsController['handleActiveChainsUpdate'];
74
- };
75
- export type AssetsControllerAssetsUpdateAction = {
76
- type: `${typeof CONTROLLER_NAME}:assetsUpdate`;
77
- handler: AssetsController['handleAssetsUpdate'];
78
- };
79
- export type AssetsControllerAddCustomAssetAction = {
80
- type: `${typeof CONTROLLER_NAME}:addCustomAsset`;
81
- handler: AssetsController['addCustomAsset'];
82
- };
83
- export type AssetsControllerRemoveCustomAssetAction = {
84
- type: `${typeof CONTROLLER_NAME}:removeCustomAsset`;
85
- handler: AssetsController['removeCustomAsset'];
86
- };
87
- export type AssetsControllerGetCustomAssetsAction = {
88
- type: `${typeof CONTROLLER_NAME}:getCustomAssets`;
89
- handler: AssetsController['getCustomAssets'];
90
- };
91
- export type AssetsControllerHideAssetAction = {
92
- type: `${typeof CONTROLLER_NAME}:hideAsset`;
93
- handler: AssetsController['hideAsset'];
94
- };
95
- export type AssetsControllerUnhideAssetAction = {
96
- type: `${typeof CONTROLLER_NAME}:unhideAsset`;
97
- handler: AssetsController['unhideAsset'];
98
- };
99
- export type AssetsControllerActions = AssetsControllerGetStateAction | AssetsControllerGetAssetsAction | AssetsControllerGetAssetsBalanceAction | AssetsControllerGetAssetMetadataAction | AssetsControllerGetAssetsPriceAction | AssetsControllerActiveChainsUpdateAction | AssetsControllerAssetsUpdateAction | AssetsControllerAddCustomAssetAction | AssetsControllerRemoveCustomAssetAction | AssetsControllerGetCustomAssetsAction | AssetsControllerHideAssetAction | AssetsControllerUnhideAssetAction;
52
+ export type AssetsControllerActions = AssetsControllerGetStateAction | AssetsControllerMethodActions;
100
53
  export type AssetsControllerStateChangeEvent = ControllerStateChangeEvent<typeof CONTROLLER_NAME, AssetsControllerState>;
101
54
  export type AssetsControllerBalanceChangedEvent = {
102
55
  type: `${typeof CONTROLLER_NAME}:balanceChanged`;
@@ -123,22 +76,8 @@ export type AssetsControllerAssetsDetectedEvent = {
123
76
  }];
124
77
  };
125
78
  export type AssetsControllerEvents = AssetsControllerStateChangeEvent | AssetsControllerBalanceChangedEvent | AssetsControllerPriceChangedEvent | AssetsControllerAssetsDetectedEvent;
126
- type AllowedActions = AccountTreeControllerGetAccountsFromSelectedAccountGroupAction | NetworkEnablementControllerGetStateAction | AccountsApiDataSourceGetAssetsMiddlewareAction | SnapDataSourceGetAssetsMiddlewareAction | RpcDataSourceGetAssetsMiddlewareAction | TokenDataSourceGetAssetsMiddlewareAction | PriceDataSourceGetAssetsMiddlewareAction | PriceDataSourceFetchAction | PriceDataSourceSubscribeAction | PriceDataSourceUnsubscribeAction | DetectionMiddlewareGetAssetsMiddlewareAction;
127
- /**
128
- * App lifecycle event: fired when app becomes active (opened/foregrounded)
129
- */
130
- export type AppStateControllerAppOpenedEvent = {
131
- type: 'AppStateController:appOpened';
132
- payload: [];
133
- };
134
- /**
135
- * App lifecycle event: fired when app becomes inactive (closed/backgrounded)
136
- */
137
- export type AppStateControllerAppClosedEvent = {
138
- type: 'AppStateController:appClosed';
139
- payload: [];
140
- };
141
- type AllowedEvents = AccountTreeControllerSelectedAccountGroupChangeEvent | NetworkEnablementControllerEvents | AppStateControllerAppOpenedEvent | AppStateControllerAppClosedEvent | KeyringControllerLockEvent | KeyringControllerUnlockEvent;
79
+ type AllowedActions = AccountTreeControllerGetAccountsFromSelectedAccountGroupAction | NetworkEnablementControllerGetStateAction | BackendWebSocketServiceActions;
80
+ type AllowedEvents = AccountTreeControllerSelectedAccountGroupChangeEvent | NetworkEnablementControllerEvents | BackendWebSocketServiceEvents | KeyringControllerLockEvent | KeyringControllerUnlockEvent;
142
81
  export type AssetsControllerMessenger = Messenger<typeof CONTROLLER_NAME, AssetsControllerActions | AllowedActions, AssetsControllerEvents | AllowedEvents>;
143
82
  export type AssetsControllerOptions = {
144
83
  messenger: AssetsControllerMessenger;
@@ -147,6 +86,13 @@ export type AssetsControllerOptions = {
147
86
  defaultUpdateInterval?: number;
148
87
  /** Function to determine if the controller is enabled. Defaults to true. */
149
88
  isEnabled?: () => boolean;
89
+ /**
90
+ * API client for balance/price/metadata. The controller instantiates data sources
91
+ * and uses them directly when this is provided.
92
+ */
93
+ queryApiClient: ApiPlatformClient;
94
+ /** Optional configuration for RpcDataSource. */
95
+ rpcDataSourceConfig?: RpcDataSourceConfig;
150
96
  };
151
97
  /**
152
98
  * AssetsController provides a unified interface for managing asset balances
@@ -164,13 +110,8 @@ export type AssetsControllerOptions = {
164
110
  * based on which chains they support. When active chains change, the controller
165
111
  * dynamically adjusts subscriptions.
166
112
  *
167
- * 4. **App Lifecycle Management**: Listens to app open/close events via messenger
168
- * to start/stop subscriptions automatically, conserving resources when app is closed.
169
- *
170
- * ## App Lifecycle
171
- *
172
- * - **App Opened** (`AppStateController:appOpened`): Starts subscriptions, fetches initial data
173
- * - **App Closed** (`AppStateController:appClosed`): Stops all subscriptions to conserve resources
113
+ * 4. **Keyring Lifecycle**: Listens to KeyringController unlock/lock events to
114
+ * start/stop subscriptions when the wallet is unlocked or locked.
174
115
  *
175
116
  * ## Architecture
176
117
  *
@@ -180,27 +121,21 @@ export type AssetsControllerOptions = {
180
121
  */
181
122
  export declare class AssetsController extends BaseController<typeof CONTROLLER_NAME, AssetsControllerState, AssetsControllerMessenger> {
182
123
  #private;
183
- constructor({ messenger, state, defaultUpdateInterval, isEnabled, }: AssetsControllerOptions);
124
+ constructor({ messenger, state, defaultUpdateInterval, isEnabled, queryApiClient, rpcDataSourceConfig, }: AssetsControllerOptions);
184
125
  /**
185
- * Register data sources with the controller.
186
- * Order of the array determines subscription order.
126
+ * Handle when a data source's supported chains change.
127
+ * Used to refresh balance subscriptions and run a one-time fetch when a new chain is supported.
187
128
  *
188
- * Data sources report chain changes by calling `AssetsController:activeChainsUpdate` action.
189
- *
190
- * @param dataSourceIds - Array of data source identifiers to register.
191
- */
192
- registerDataSources(dataSourceIds: DataSourceDefinition[]): void;
193
- /**
194
- * Handle when a data source's active chains change.
195
- * Active chains are chains that are both supported AND available.
196
- * Updates centralized chain tracking and triggers re-selection if needed.
129
+ * - On any add/remove: re-subscribes to data sources so chain assignment stays correct.
130
+ * - When chains are added: fetches balances for the new chains (for selected accounts on enabled networks).
197
131
  *
198
- * Data sources should call this via `AssetsController:activeChainsUpdate` action.
132
+ * Controller does not store chains; sources report via this callback. previousChains is required for diff.
199
133
  *
200
134
  * @param dataSourceId - The identifier of the data source reporting the change.
201
- * @param activeChains - Array of currently active chain IDs for this source.
135
+ * @param activeChains - Currently active (supported and available) chain IDs for this source.
136
+ * @param previousChains - Previous chains; used to compute added/removed.
202
137
  */
203
- handleActiveChainsUpdate(dataSourceId: string, activeChains: ChainId[]): void;
138
+ handleActiveChainsUpdate(dataSourceId: string, activeChains: ChainId[], previousChains: ChainId[]): void;
204
139
  getAssets(accounts: InternalAccount[], options?: {
205
140
  chainIds?: ChainId[];
206
141
  assetTypes?: AssetType[];
@@ -273,12 +208,14 @@ export declare class AssetsController extends BaseController<typeof CONTROLLER_N
273
208
  unsubscribeAssetsPrice(): void;
274
209
  /**
275
210
  * Handle assets updated from a data source.
276
- * Called via `AssetsController:assetsUpdate` action by data sources.
211
+ * Called via the onAssetsUpdate callback passed in SubscriptionRequest when the controller subscribes to a data source.
212
+ * Enriches the response with token metadata (via middlewares) before updating state.
277
213
  *
278
214
  * @param response - The data response with updated assets
279
215
  * @param sourceId - The data source ID reporting the update
216
+ * @param request - Optional original request for context when enriching
280
217
  */
281
- handleAssetsUpdate(response: DataResponse, sourceId: string): Promise<void>;
218
+ handleAssetsUpdate(response: DataResponse, sourceId: string, request?: DataRequest): Promise<void>;
282
219
  destroy(): void;
283
220
  }
284
221
  export {};
@@ -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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"}
@@ -1,17 +1,14 @@
1
1
  import type { AccountTreeControllerGetAccountsFromSelectedAccountGroupAction, AccountTreeControllerSelectedAccountGroupChangeEvent } from "@metamask/account-tree-controller";
2
2
  import { BaseController } from "@metamask/base-controller";
3
3
  import type { ControllerGetStateAction, ControllerStateChangeEvent } from "@metamask/base-controller";
4
+ import type { ApiPlatformClient, BackendWebSocketServiceActions, BackendWebSocketServiceEvents } from "@metamask/core-backend";
4
5
  import type { KeyringControllerLockEvent, KeyringControllerUnlockEvent } from "@metamask/keyring-controller";
5
6
  import type { InternalAccount } from "@metamask/keyring-internal-api";
6
7
  import type { Messenger } from "@metamask/messenger";
7
8
  import type { NetworkEnablementControllerGetStateAction, NetworkEnablementControllerEvents } from "@metamask/network-enablement-controller";
8
- import type { AccountsApiDataSourceGetAssetsMiddlewareAction } from "./data-sources/AccountsApiDataSource.mjs";
9
- import type { PriceDataSourceGetAssetsMiddlewareAction, PriceDataSourceFetchAction, PriceDataSourceSubscribeAction, PriceDataSourceUnsubscribeAction } from "./data-sources/PriceDataSource.mjs";
10
- import type { RpcDataSourceGetAssetsMiddlewareAction } from "./data-sources/RpcDataSource.mjs";
11
- import type { SnapDataSourceGetAssetsMiddlewareAction } from "./data-sources/SnapDataSource.mjs";
12
- import type { TokenDataSourceGetAssetsMiddlewareAction } from "./data-sources/TokenDataSource.mjs";
13
- import type { DetectionMiddlewareGetAssetsMiddlewareAction } from "./middlewares/DetectionMiddleware.mjs";
14
- import type { AccountId, AssetPreferences, ChainId, Caip19AssetId, AssetMetadata, AssetPrice, AssetBalance, AssetType, DataType, DataResponse, DataSourceDefinition, Asset } from "./types.mjs";
9
+ import type { AssetsControllerMethodActions } from "./AssetsController-method-action-types.mjs";
10
+ import type { RpcDataSourceConfig } from "./data-sources/RpcDataSource.mjs";
11
+ import type { AccountId, AssetPreferences, ChainId, Caip19AssetId, AssetMetadata, AssetPrice, AssetBalance, AssetType, DataType, DataRequest, DataResponse, Asset } from "./types.mjs";
15
12
  declare const CONTROLLER_NAME: "AssetsController";
16
13
  /**
17
14
  * State structure for AssetsController.
@@ -52,51 +49,7 @@ export type AssetsControllerState = {
52
49
  */
53
50
  export declare function getDefaultAssetsControllerState(): AssetsControllerState;
54
51
  export type AssetsControllerGetStateAction = ControllerGetStateAction<typeof CONTROLLER_NAME, AssetsControllerState>;
55
- export type AssetsControllerGetAssetsAction = {
56
- type: `${typeof CONTROLLER_NAME}:getAssets`;
57
- handler: AssetsController['getAssets'];
58
- };
59
- export type AssetsControllerGetAssetsBalanceAction = {
60
- type: `${typeof CONTROLLER_NAME}:getAssetsBalance`;
61
- handler: AssetsController['getAssetsBalance'];
62
- };
63
- export type AssetsControllerGetAssetMetadataAction = {
64
- type: `${typeof CONTROLLER_NAME}:getAssetMetadata`;
65
- handler: AssetsController['getAssetMetadata'];
66
- };
67
- export type AssetsControllerGetAssetsPriceAction = {
68
- type: `${typeof CONTROLLER_NAME}:getAssetsPrice`;
69
- handler: AssetsController['getAssetsPrice'];
70
- };
71
- export type AssetsControllerActiveChainsUpdateAction = {
72
- type: `${typeof CONTROLLER_NAME}:activeChainsUpdate`;
73
- handler: AssetsController['handleActiveChainsUpdate'];
74
- };
75
- export type AssetsControllerAssetsUpdateAction = {
76
- type: `${typeof CONTROLLER_NAME}:assetsUpdate`;
77
- handler: AssetsController['handleAssetsUpdate'];
78
- };
79
- export type AssetsControllerAddCustomAssetAction = {
80
- type: `${typeof CONTROLLER_NAME}:addCustomAsset`;
81
- handler: AssetsController['addCustomAsset'];
82
- };
83
- export type AssetsControllerRemoveCustomAssetAction = {
84
- type: `${typeof CONTROLLER_NAME}:removeCustomAsset`;
85
- handler: AssetsController['removeCustomAsset'];
86
- };
87
- export type AssetsControllerGetCustomAssetsAction = {
88
- type: `${typeof CONTROLLER_NAME}:getCustomAssets`;
89
- handler: AssetsController['getCustomAssets'];
90
- };
91
- export type AssetsControllerHideAssetAction = {
92
- type: `${typeof CONTROLLER_NAME}:hideAsset`;
93
- handler: AssetsController['hideAsset'];
94
- };
95
- export type AssetsControllerUnhideAssetAction = {
96
- type: `${typeof CONTROLLER_NAME}:unhideAsset`;
97
- handler: AssetsController['unhideAsset'];
98
- };
99
- export type AssetsControllerActions = AssetsControllerGetStateAction | AssetsControllerGetAssetsAction | AssetsControllerGetAssetsBalanceAction | AssetsControllerGetAssetMetadataAction | AssetsControllerGetAssetsPriceAction | AssetsControllerActiveChainsUpdateAction | AssetsControllerAssetsUpdateAction | AssetsControllerAddCustomAssetAction | AssetsControllerRemoveCustomAssetAction | AssetsControllerGetCustomAssetsAction | AssetsControllerHideAssetAction | AssetsControllerUnhideAssetAction;
52
+ export type AssetsControllerActions = AssetsControllerGetStateAction | AssetsControllerMethodActions;
100
53
  export type AssetsControllerStateChangeEvent = ControllerStateChangeEvent<typeof CONTROLLER_NAME, AssetsControllerState>;
101
54
  export type AssetsControllerBalanceChangedEvent = {
102
55
  type: `${typeof CONTROLLER_NAME}:balanceChanged`;
@@ -123,22 +76,8 @@ export type AssetsControllerAssetsDetectedEvent = {
123
76
  }];
124
77
  };
125
78
  export type AssetsControllerEvents = AssetsControllerStateChangeEvent | AssetsControllerBalanceChangedEvent | AssetsControllerPriceChangedEvent | AssetsControllerAssetsDetectedEvent;
126
- type AllowedActions = AccountTreeControllerGetAccountsFromSelectedAccountGroupAction | NetworkEnablementControllerGetStateAction | AccountsApiDataSourceGetAssetsMiddlewareAction | SnapDataSourceGetAssetsMiddlewareAction | RpcDataSourceGetAssetsMiddlewareAction | TokenDataSourceGetAssetsMiddlewareAction | PriceDataSourceGetAssetsMiddlewareAction | PriceDataSourceFetchAction | PriceDataSourceSubscribeAction | PriceDataSourceUnsubscribeAction | DetectionMiddlewareGetAssetsMiddlewareAction;
127
- /**
128
- * App lifecycle event: fired when app becomes active (opened/foregrounded)
129
- */
130
- export type AppStateControllerAppOpenedEvent = {
131
- type: 'AppStateController:appOpened';
132
- payload: [];
133
- };
134
- /**
135
- * App lifecycle event: fired when app becomes inactive (closed/backgrounded)
136
- */
137
- export type AppStateControllerAppClosedEvent = {
138
- type: 'AppStateController:appClosed';
139
- payload: [];
140
- };
141
- type AllowedEvents = AccountTreeControllerSelectedAccountGroupChangeEvent | NetworkEnablementControllerEvents | AppStateControllerAppOpenedEvent | AppStateControllerAppClosedEvent | KeyringControllerLockEvent | KeyringControllerUnlockEvent;
79
+ type AllowedActions = AccountTreeControllerGetAccountsFromSelectedAccountGroupAction | NetworkEnablementControllerGetStateAction | BackendWebSocketServiceActions;
80
+ type AllowedEvents = AccountTreeControllerSelectedAccountGroupChangeEvent | NetworkEnablementControllerEvents | BackendWebSocketServiceEvents | KeyringControllerLockEvent | KeyringControllerUnlockEvent;
142
81
  export type AssetsControllerMessenger = Messenger<typeof CONTROLLER_NAME, AssetsControllerActions | AllowedActions, AssetsControllerEvents | AllowedEvents>;
143
82
  export type AssetsControllerOptions = {
144
83
  messenger: AssetsControllerMessenger;
@@ -147,6 +86,13 @@ export type AssetsControllerOptions = {
147
86
  defaultUpdateInterval?: number;
148
87
  /** Function to determine if the controller is enabled. Defaults to true. */
149
88
  isEnabled?: () => boolean;
89
+ /**
90
+ * API client for balance/price/metadata. The controller instantiates data sources
91
+ * and uses them directly when this is provided.
92
+ */
93
+ queryApiClient: ApiPlatformClient;
94
+ /** Optional configuration for RpcDataSource. */
95
+ rpcDataSourceConfig?: RpcDataSourceConfig;
150
96
  };
151
97
  /**
152
98
  * AssetsController provides a unified interface for managing asset balances
@@ -164,13 +110,8 @@ export type AssetsControllerOptions = {
164
110
  * based on which chains they support. When active chains change, the controller
165
111
  * dynamically adjusts subscriptions.
166
112
  *
167
- * 4. **App Lifecycle Management**: Listens to app open/close events via messenger
168
- * to start/stop subscriptions automatically, conserving resources when app is closed.
169
- *
170
- * ## App Lifecycle
171
- *
172
- * - **App Opened** (`AppStateController:appOpened`): Starts subscriptions, fetches initial data
173
- * - **App Closed** (`AppStateController:appClosed`): Stops all subscriptions to conserve resources
113
+ * 4. **Keyring Lifecycle**: Listens to KeyringController unlock/lock events to
114
+ * start/stop subscriptions when the wallet is unlocked or locked.
174
115
  *
175
116
  * ## Architecture
176
117
  *
@@ -180,27 +121,21 @@ export type AssetsControllerOptions = {
180
121
  */
181
122
  export declare class AssetsController extends BaseController<typeof CONTROLLER_NAME, AssetsControllerState, AssetsControllerMessenger> {
182
123
  #private;
183
- constructor({ messenger, state, defaultUpdateInterval, isEnabled, }: AssetsControllerOptions);
124
+ constructor({ messenger, state, defaultUpdateInterval, isEnabled, queryApiClient, rpcDataSourceConfig, }: AssetsControllerOptions);
184
125
  /**
185
- * Register data sources with the controller.
186
- * Order of the array determines subscription order.
126
+ * Handle when a data source's supported chains change.
127
+ * Used to refresh balance subscriptions and run a one-time fetch when a new chain is supported.
187
128
  *
188
- * Data sources report chain changes by calling `AssetsController:activeChainsUpdate` action.
189
- *
190
- * @param dataSourceIds - Array of data source identifiers to register.
191
- */
192
- registerDataSources(dataSourceIds: DataSourceDefinition[]): void;
193
- /**
194
- * Handle when a data source's active chains change.
195
- * Active chains are chains that are both supported AND available.
196
- * Updates centralized chain tracking and triggers re-selection if needed.
129
+ * - On any add/remove: re-subscribes to data sources so chain assignment stays correct.
130
+ * - When chains are added: fetches balances for the new chains (for selected accounts on enabled networks).
197
131
  *
198
- * Data sources should call this via `AssetsController:activeChainsUpdate` action.
132
+ * Controller does not store chains; sources report via this callback. previousChains is required for diff.
199
133
  *
200
134
  * @param dataSourceId - The identifier of the data source reporting the change.
201
- * @param activeChains - Array of currently active chain IDs for this source.
135
+ * @param activeChains - Currently active (supported and available) chain IDs for this source.
136
+ * @param previousChains - Previous chains; used to compute added/removed.
202
137
  */
203
- handleActiveChainsUpdate(dataSourceId: string, activeChains: ChainId[]): void;
138
+ handleActiveChainsUpdate(dataSourceId: string, activeChains: ChainId[], previousChains: ChainId[]): void;
204
139
  getAssets(accounts: InternalAccount[], options?: {
205
140
  chainIds?: ChainId[];
206
141
  assetTypes?: AssetType[];
@@ -273,12 +208,14 @@ export declare class AssetsController extends BaseController<typeof CONTROLLER_N
273
208
  unsubscribeAssetsPrice(): void;
274
209
  /**
275
210
  * Handle assets updated from a data source.
276
- * Called via `AssetsController:assetsUpdate` action by data sources.
211
+ * Called via the onAssetsUpdate callback passed in SubscriptionRequest when the controller subscribes to a data source.
212
+ * Enriches the response with token metadata (via middlewares) before updating state.
277
213
  *
278
214
  * @param response - The data response with updated assets
279
215
  * @param sourceId - The data source ID reporting the update
216
+ * @param request - Optional original request for context when enriching
280
217
  */
281
- handleAssetsUpdate(response: DataResponse, sourceId: string): Promise<void>;
218
+ handleAssetsUpdate(response: DataResponse, sourceId: string, request?: DataRequest): Promise<void>;
282
219
  destroy(): void;
283
220
  }
284
221
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"AssetsController.d.mts","sourceRoot":"","sources":["../src/AssetsController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AssetsController.d.mts","sourceRoot":"","sources":["../src/AssetsController.ts"],"names":[],"mappings":"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"}