@metamask-previews/assets-controller 0.2.0-preview-c3cd77f → 0.2.0-preview-d01b2f93d
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 +4 -0
- package/dist/AssetsController-method-action-types.cjs +7 -0
- package/dist/AssetsController-method-action-types.cjs.map +1 -0
- package/dist/AssetsController-method-action-types.d.cts +78 -0
- package/dist/AssetsController-method-action-types.d.cts.map +1 -0
- package/dist/AssetsController-method-action-types.d.mts +78 -0
- package/dist/AssetsController-method-action-types.d.mts.map +1 -0
- package/dist/AssetsController-method-action-types.mjs +6 -0
- package/dist/AssetsController-method-action-types.mjs.map +1 -0
- package/dist/AssetsController.cjs +161 -116
- package/dist/AssetsController.cjs.map +1 -1
- package/dist/AssetsController.d.cts +23 -80
- package/dist/AssetsController.d.cts.map +1 -1
- package/dist/AssetsController.d.mts +23 -80
- package/dist/AssetsController.d.mts.map +1 -1
- package/dist/AssetsController.mjs +161 -116
- package/dist/AssetsController.mjs.map +1 -1
- package/dist/data-sources/AbstractDataSource.cjs.map +1 -1
- package/dist/data-sources/AbstractDataSource.d.cts +10 -1
- package/dist/data-sources/AbstractDataSource.d.cts.map +1 -1
- package/dist/data-sources/AbstractDataSource.d.mts +10 -1
- package/dist/data-sources/AbstractDataSource.d.mts.map +1 -1
- package/dist/data-sources/AbstractDataSource.mjs.map +1 -1
- package/dist/data-sources/AccountsApiDataSource.cjs +23 -99
- package/dist/data-sources/AccountsApiDataSource.cjs.map +1 -1
- package/dist/data-sources/AccountsApiDataSource.d.cts +5 -67
- package/dist/data-sources/AccountsApiDataSource.d.cts.map +1 -1
- package/dist/data-sources/AccountsApiDataSource.d.mts +5 -67
- package/dist/data-sources/AccountsApiDataSource.d.mts.map +1 -1
- package/dist/data-sources/AccountsApiDataSource.mjs +22 -97
- package/dist/data-sources/AccountsApiDataSource.mjs.map +1 -1
- package/dist/data-sources/BackendWebsocketDataSource.cjs +135 -45
- package/dist/data-sources/BackendWebsocketDataSource.cjs.map +1 -1
- package/dist/data-sources/BackendWebsocketDataSource.d.cts +19 -66
- package/dist/data-sources/BackendWebsocketDataSource.d.cts.map +1 -1
- package/dist/data-sources/BackendWebsocketDataSource.d.mts +19 -66
- package/dist/data-sources/BackendWebsocketDataSource.d.mts.map +1 -1
- package/dist/data-sources/BackendWebsocketDataSource.mjs +135 -45
- package/dist/data-sources/BackendWebsocketDataSource.mjs.map +1 -1
- package/dist/data-sources/PriceDataSource.cjs +22 -44
- package/dist/data-sources/PriceDataSource.cjs.map +1 -1
- package/dist/data-sources/PriceDataSource.d.cts +6 -89
- package/dist/data-sources/PriceDataSource.d.cts.map +1 -1
- package/dist/data-sources/PriceDataSource.d.mts +6 -89
- package/dist/data-sources/PriceDataSource.d.mts.map +1 -1
- package/dist/data-sources/PriceDataSource.mjs +22 -44
- package/dist/data-sources/PriceDataSource.mjs.map +1 -1
- package/dist/data-sources/RpcDataSource.cjs +57 -98
- package/dist/data-sources/RpcDataSource.cjs.map +1 -1
- package/dist/data-sources/RpcDataSource.d.cts +16 -55
- package/dist/data-sources/RpcDataSource.d.cts.map +1 -1
- package/dist/data-sources/RpcDataSource.d.mts +16 -55
- package/dist/data-sources/RpcDataSource.d.mts.map +1 -1
- package/dist/data-sources/RpcDataSource.mjs +57 -98
- package/dist/data-sources/RpcDataSource.mjs.map +1 -1
- package/dist/data-sources/SnapDataSource.cjs +30 -30
- package/dist/data-sources/SnapDataSource.cjs.map +1 -1
- package/dist/data-sources/SnapDataSource.d.cts +7 -44
- package/dist/data-sources/SnapDataSource.d.cts.map +1 -1
- package/dist/data-sources/SnapDataSource.d.mts +7 -44
- package/dist/data-sources/SnapDataSource.d.mts.map +1 -1
- package/dist/data-sources/SnapDataSource.mjs +30 -30
- package/dist/data-sources/SnapDataSource.mjs.map +1 -1
- package/dist/data-sources/TokenDataSource.cjs +3 -16
- package/dist/data-sources/TokenDataSource.cjs.map +1 -1
- package/dist/data-sources/TokenDataSource.d.cts +2 -25
- package/dist/data-sources/TokenDataSource.d.cts.map +1 -1
- package/dist/data-sources/TokenDataSource.d.mts +2 -25
- package/dist/data-sources/TokenDataSource.d.mts.map +1 -1
- package/dist/data-sources/TokenDataSource.mjs +3 -16
- package/dist/data-sources/TokenDataSource.mjs.map +1 -1
- package/dist/data-sources/index.cjs +1 -6
- package/dist/data-sources/index.cjs.map +1 -1
- package/dist/data-sources/index.d.cts +6 -7
- package/dist/data-sources/index.d.cts.map +1 -1
- package/dist/data-sources/index.d.mts +6 -7
- package/dist/data-sources/index.d.mts.map +1 -1
- package/dist/data-sources/index.mjs +1 -3
- package/dist/data-sources/index.mjs.map +1 -1
- package/dist/index.cjs +1 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +9 -11
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +9 -11
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -3
- package/dist/index.mjs.map +1 -1
- package/dist/middlewares/DetectionMiddleware.cjs +4 -27
- package/dist/middlewares/DetectionMiddleware.cjs.map +1 -1
- package/dist/middlewares/DetectionMiddleware.d.cts +3 -26
- package/dist/middlewares/DetectionMiddleware.d.cts.map +1 -1
- package/dist/middlewares/DetectionMiddleware.d.mts +3 -26
- package/dist/middlewares/DetectionMiddleware.d.mts.map +1 -1
- package/dist/middlewares/DetectionMiddleware.mjs +4 -27
- package/dist/middlewares/DetectionMiddleware.mjs.map +1 -1
- package/dist/middlewares/index.cjs.map +1 -1
- package/dist/middlewares/index.d.cts +1 -1
- package/dist/middlewares/index.d.cts.map +1 -1
- package/dist/middlewares/index.d.mts +1 -1
- package/dist/middlewares/index.d.mts.map +1 -1
- package/dist/middlewares/index.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +52 -3
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +52 -3
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/data-sources/initDataSources.cjs +0 -215
- package/dist/data-sources/initDataSources.cjs.map +0 -1
- package/dist/data-sources/initDataSources.d.cts +0 -140
- package/dist/data-sources/initDataSources.d.cts.map +0 -1
- package/dist/data-sources/initDataSources.d.mts +0 -140
- package/dist/data-sources/initDataSources.d.mts.map +0 -1
- package/dist/data-sources/initDataSources.mjs +0 -210
- 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 {
|
|
9
|
-
import type {
|
|
10
|
-
import type {
|
|
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, DataSourceDefinition, 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
|
|
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 |
|
|
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. **
|
|
168
|
-
*
|
|
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,12 +121,12 @@ 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
126
|
* Register data sources with the controller.
|
|
186
127
|
* Order of the array determines subscription order.
|
|
187
128
|
*
|
|
188
|
-
* Data sources report chain changes
|
|
129
|
+
* Data sources report chain changes via the onActiveChainsUpdated callback passed at construction.
|
|
189
130
|
*
|
|
190
131
|
* @param dataSourceIds - Array of data source identifiers to register.
|
|
191
132
|
*/
|
|
@@ -195,7 +136,7 @@ export declare class AssetsController extends BaseController<typeof CONTROLLER_N
|
|
|
195
136
|
* Active chains are chains that are both supported AND available.
|
|
196
137
|
* Updates centralized chain tracking and triggers re-selection if needed.
|
|
197
138
|
*
|
|
198
|
-
*
|
|
139
|
+
* Called from the onActiveChainsUpdated callbacks passed to data sources at construction.
|
|
199
140
|
*
|
|
200
141
|
* @param dataSourceId - The identifier of the data source reporting the change.
|
|
201
142
|
* @param activeChains - Array of currently active chain IDs for this source.
|
|
@@ -273,12 +214,14 @@ export declare class AssetsController extends BaseController<typeof CONTROLLER_N
|
|
|
273
214
|
unsubscribeAssetsPrice(): void;
|
|
274
215
|
/**
|
|
275
216
|
* Handle assets updated from a data source.
|
|
276
|
-
* Called via
|
|
217
|
+
* Called via the onAssetsUpdate callback passed in SubscriptionRequest when the controller subscribes to a data source.
|
|
218
|
+
* Enriches the response with token metadata (via middlewares) before updating state.
|
|
277
219
|
*
|
|
278
220
|
* @param response - The data response with updated assets
|
|
279
221
|
* @param sourceId - The data source ID reporting the update
|
|
222
|
+
* @param request - Optional original request for context when enriching
|
|
280
223
|
*/
|
|
281
|
-
handleAssetsUpdate(response: DataResponse, sourceId: string): Promise<void>;
|
|
224
|
+
handleAssetsUpdate(response: DataResponse, sourceId: string, request?: DataRequest): Promise<void>;
|
|
282
225
|
destroy(): void;
|
|
283
226
|
}
|
|
284
227
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetsController.d.cts","sourceRoot":"","sources":["../src/AssetsController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8DAA8D,EAC9D,oDAAoD,EACrD,0CAA0C;AAC3C,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAC3D,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAE3B,kCAAkC;AACnC,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,yCAAyC,EACzC,iCAAiC,EAElC,gDAAgD;AAMjD,OAAO,KAAK,EAAE,
|
|
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 {
|
|
9
|
-
import type {
|
|
10
|
-
import type {
|
|
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, DataSourceDefinition, 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
|
|
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 |
|
|
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. **
|
|
168
|
-
*
|
|
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,12 +121,12 @@ 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
126
|
* Register data sources with the controller.
|
|
186
127
|
* Order of the array determines subscription order.
|
|
187
128
|
*
|
|
188
|
-
* Data sources report chain changes
|
|
129
|
+
* Data sources report chain changes via the onActiveChainsUpdated callback passed at construction.
|
|
189
130
|
*
|
|
190
131
|
* @param dataSourceIds - Array of data source identifiers to register.
|
|
191
132
|
*/
|
|
@@ -195,7 +136,7 @@ export declare class AssetsController extends BaseController<typeof CONTROLLER_N
|
|
|
195
136
|
* Active chains are chains that are both supported AND available.
|
|
196
137
|
* Updates centralized chain tracking and triggers re-selection if needed.
|
|
197
138
|
*
|
|
198
|
-
*
|
|
139
|
+
* Called from the onActiveChainsUpdated callbacks passed to data sources at construction.
|
|
199
140
|
*
|
|
200
141
|
* @param dataSourceId - The identifier of the data source reporting the change.
|
|
201
142
|
* @param activeChains - Array of currently active chain IDs for this source.
|
|
@@ -273,12 +214,14 @@ export declare class AssetsController extends BaseController<typeof CONTROLLER_N
|
|
|
273
214
|
unsubscribeAssetsPrice(): void;
|
|
274
215
|
/**
|
|
275
216
|
* Handle assets updated from a data source.
|
|
276
|
-
* Called via
|
|
217
|
+
* Called via the onAssetsUpdate callback passed in SubscriptionRequest when the controller subscribes to a data source.
|
|
218
|
+
* Enriches the response with token metadata (via middlewares) before updating state.
|
|
277
219
|
*
|
|
278
220
|
* @param response - The data response with updated assets
|
|
279
221
|
* @param sourceId - The data source ID reporting the update
|
|
222
|
+
* @param request - Optional original request for context when enriching
|
|
280
223
|
*/
|
|
281
|
-
handleAssetsUpdate(response: DataResponse, sourceId: string): Promise<void>;
|
|
224
|
+
handleAssetsUpdate(response: DataResponse, sourceId: string, request?: DataRequest): Promise<void>;
|
|
282
225
|
destroy(): void;
|
|
283
226
|
}
|
|
284
227
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetsController.d.mts","sourceRoot":"","sources":["../src/AssetsController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8DAA8D,EAC9D,oDAAoD,EACrD,0CAA0C;AAC3C,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAC3D,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAE3B,kCAAkC;AACnC,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,yCAAyC,EACzC,iCAAiC,EAElC,gDAAgD;AAMjD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"AssetsController.d.mts","sourceRoot":"","sources":["../src/AssetsController.ts"],"names":[],"mappings":"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"}
|