@metamask-previews/assets-controller 0.0.0-preview-2aeb1204 → 0.0.0-preview-40468f94
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/dist/data-sources/SnapDataSource.cjs +464 -193
- package/dist/data-sources/SnapDataSource.cjs.map +1 -1
- package/dist/data-sources/SnapDataSource.d.cts +86 -24
- package/dist/data-sources/SnapDataSource.d.cts.map +1 -1
- package/dist/data-sources/SnapDataSource.d.mts +86 -24
- package/dist/data-sources/SnapDataSource.d.mts.map +1 -1
- package/dist/data-sources/SnapDataSource.mjs +458 -191
- package/dist/data-sources/SnapDataSource.mjs.map +1 -1
- package/dist/data-sources/index.cjs +36 -7
- package/dist/data-sources/index.cjs.map +1 -1
- package/dist/data-sources/index.d.cts +1 -1
- package/dist/data-sources/index.d.cts.map +1 -1
- package/dist/data-sources/index.d.mts +1 -1
- package/dist/data-sources/index.d.mts.map +1 -1
- package/dist/data-sources/index.mjs +13 -5
- package/dist/data-sources/index.mjs.map +1 -1
- package/dist/data-sources/initDataSources.cjs +3 -9
- package/dist/data-sources/initDataSources.cjs.map +1 -1
- package/dist/data-sources/initDataSources.d.cts +4 -2
- package/dist/data-sources/initDataSources.d.cts.map +1 -1
- package/dist/data-sources/initDataSources.d.mts +4 -2
- package/dist/data-sources/initDataSources.d.mts.map +1 -1
- package/dist/data-sources/initDataSources.mjs +3 -9
- package/dist/data-sources/initDataSources.mjs.map +1 -1
- package/dist/index.cjs +36 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +13 -5
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -6
|
@@ -10,7 +10,7 @@ import type { PriceDataSourceActions, PriceDataSourceAllowedActions, PriceDataSo
|
|
|
10
10
|
import { RpcDataSource } from "./RpcDataSource.mjs";
|
|
11
11
|
import type { RpcDataSourceActions, RpcDataSourceAllowedActions, RpcDataSourceAllowedEvents, RpcDataSourceEvents, RpcDataSourceMessenger } from "./RpcDataSource.mjs";
|
|
12
12
|
import { SnapDataSource } from "./SnapDataSource.mjs";
|
|
13
|
-
import type { SnapDataSourceActions, SnapDataSourceEvents, SnapDataSourceMessenger } from "./SnapDataSource.mjs";
|
|
13
|
+
import type { SnapDataSourceActions, SnapDataSourceEvents, SnapDataSourceMessenger, SnapProvider } from "./SnapDataSource.mjs";
|
|
14
14
|
import { TokenDataSource } from "./TokenDataSource.mjs";
|
|
15
15
|
import type { TokenDataSourceActions, TokenDataSourceMessenger } from "./TokenDataSource.mjs";
|
|
16
16
|
import type { DetectionMiddlewareActions, DetectionMiddlewareMessenger } from "../middlewares/index.mjs";
|
|
@@ -87,6 +87,8 @@ export type RpcDataSourceConfig = {
|
|
|
87
87
|
export type InitDataSourcesOptions = {
|
|
88
88
|
/** Messengers for each data source */
|
|
89
89
|
messengers: DataSourceMessengers;
|
|
90
|
+
/** Snap provider for communicating with snaps */
|
|
91
|
+
snapProvider: SnapProvider;
|
|
90
92
|
/** ApiPlatformClient for cached API calls */
|
|
91
93
|
queryApiClient: ApiPlatformClient;
|
|
92
94
|
/** Optional configuration for RpcDataSource */
|
|
@@ -125,7 +127,7 @@ export declare function initMessengers<AllowedActions extends ActionConstraint,
|
|
|
125
127
|
* // Then initialize data sources
|
|
126
128
|
* const dataSources = initDataSources({
|
|
127
129
|
* messengers,
|
|
128
|
-
*
|
|
130
|
+
* snapProvider: snapController,
|
|
129
131
|
* });
|
|
130
132
|
* ```
|
|
131
133
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initDataSources.d.mts","sourceRoot":"","sources":["../../src/data-sources/initDataSources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,+BAA+B;AAChE,OAAO,EAAE,SAAS,EAAE,4BAA4B;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,4BAA4B;AAE7E,OAAO,EAAE,qBAAqB,EAAE,oCAAgC;AAChE,OAAO,KAAK,EACV,4BAA4B,EAC5B,mCAAmC,EACnC,2BAA2B,EAC3B,8BAA8B,EAC/B,oCAAgC;AACjC,OAAO,EAAE,0BAA0B,EAAE,yCAAqC;AAC1E,OAAO,KAAK,EACV,iCAAiC,EACjC,wCAAwC,EACxC,uCAAuC,EACvC,gCAAgC,EAChC,mCAAmC,EACpC,yCAAqC;AACtC,OAAO,EAAE,eAAe,EAAE,8BAA0B;AACpD,OAAO,KAAK,EACV,sBAAsB,EACtB,6BAA6B,EAC7B,qBAAqB,EACrB,wBAAwB,EACzB,8BAA0B;AAC3B,OAAO,EAAE,aAAa,EAAE,4BAAwB;AAChD,OAAO,KAAK,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACvB,4BAAwB;AACzB,OAAO,EAAE,cAAc,EAAE,6BAAyB;AAClD,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"initDataSources.d.mts","sourceRoot":"","sources":["../../src/data-sources/initDataSources.ts"],"names":[],"mappings":"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"}
|
|
@@ -91,17 +91,10 @@ export function initMessengers(options) {
|
|
|
91
91
|
actions: [
|
|
92
92
|
'AssetsController:activeChainsUpdate',
|
|
93
93
|
'AssetsController:assetsUpdate',
|
|
94
|
-
// SnapController actions for direct snap communication
|
|
95
|
-
'SnapController:getRunnableSnaps',
|
|
96
|
-
'SnapController:handleRequest',
|
|
97
|
-
// PermissionController action for dynamic snap discovery
|
|
98
|
-
'PermissionController:getPermissions',
|
|
99
94
|
],
|
|
100
95
|
events: [
|
|
101
96
|
// Snap keyring balance updates - snaps emit this when balances change
|
|
102
97
|
'AccountsController:accountBalancesUpdated',
|
|
103
|
-
// Permission changes for runtime snap discovery
|
|
104
|
-
'PermissionController:stateChange',
|
|
105
98
|
],
|
|
106
99
|
messenger: snapMessenger,
|
|
107
100
|
});
|
|
@@ -155,7 +148,7 @@ export function initMessengers(options) {
|
|
|
155
148
|
* // Then initialize data sources
|
|
156
149
|
* const dataSources = initDataSources({
|
|
157
150
|
* messengers,
|
|
158
|
-
*
|
|
151
|
+
* snapProvider: snapController,
|
|
159
152
|
* });
|
|
160
153
|
* ```
|
|
161
154
|
*
|
|
@@ -163,7 +156,7 @@ export function initMessengers(options) {
|
|
|
163
156
|
* @returns Object containing all data source instances
|
|
164
157
|
*/
|
|
165
158
|
export function initDataSources(options) {
|
|
166
|
-
const { messengers, queryApiClient, rpcDataSourceConfig } = options;
|
|
159
|
+
const { messengers, snapProvider, queryApiClient, rpcDataSourceConfig } = options;
|
|
167
160
|
// Initialize primary data sources (provide balance data)
|
|
168
161
|
const rpcDataSource = new RpcDataSource({
|
|
169
162
|
messenger: messengers.rpcMessenger,
|
|
@@ -178,6 +171,7 @@ export function initDataSources(options) {
|
|
|
178
171
|
});
|
|
179
172
|
const snapDataSource = new SnapDataSource({
|
|
180
173
|
messenger: messengers.snapMessenger,
|
|
174
|
+
snapProvider,
|
|
181
175
|
});
|
|
182
176
|
// Initialize middleware data sources (enrich responses)
|
|
183
177
|
const tokenDataSource = new TokenDataSource({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initDataSources.mjs","sourceRoot":"","sources":["../../src/data-sources/initDataSources.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ApiPlatformClient } from '@metamask/core-backend';\nimport { Messenger } from '@metamask/messenger';\nimport type { ActionConstraint, EventConstraint } from '@metamask/messenger';\n\nimport { AccountsApiDataSource } from './AccountsApiDataSource';\nimport type {\n AccountsApiDataSourceActions,\n AccountsApiDataSourceAllowedActions,\n AccountsApiDataSourceEvents,\n AccountsApiDataSourceMessenger,\n} from './AccountsApiDataSource';\nimport { BackendWebsocketDataSource } from './BackendWebsocketDataSource';\nimport type {\n BackendWebsocketDataSourceActions,\n BackendWebsocketDataSourceAllowedActions,\n BackendWebsocketDataSourceAllowedEvents,\n BackendWebsocketDataSourceEvents,\n BackendWebsocketDataSourceMessenger,\n} from './BackendWebsocketDataSource';\nimport { PriceDataSource } from './PriceDataSource';\nimport type {\n PriceDataSourceActions,\n PriceDataSourceAllowedActions,\n PriceDataSourceEvents,\n PriceDataSourceMessenger,\n} from './PriceDataSource';\nimport { RpcDataSource } from './RpcDataSource';\nimport type {\n RpcDataSourceActions,\n RpcDataSourceAllowedActions,\n RpcDataSourceAllowedEvents,\n RpcDataSourceEvents,\n RpcDataSourceMessenger,\n} from './RpcDataSource';\nimport { SnapDataSource } from './SnapDataSource';\nimport type {\n SnapDataSourceActions,\n SnapDataSourceEvents,\n SnapDataSourceMessenger,\n} from './SnapDataSource';\nimport { TokenDataSource } from './TokenDataSource';\nimport type {\n TokenDataSourceActions,\n TokenDataSourceMessenger,\n} from './TokenDataSource';\nimport type {\n DetectionMiddlewareActions,\n DetectionMiddlewareMessenger,\n} from '../middlewares';\nimport { DetectionMiddleware } from '../middlewares';\n\n// ============================================================================\n// ACTION & EVENT TYPES\n// ============================================================================\n\n/**\n * All actions from data sources.\n */\nexport type DataSourceActions =\n | RpcDataSourceActions\n | BackendWebsocketDataSourceActions\n | AccountsApiDataSourceActions\n | SnapDataSourceActions\n | TokenDataSourceActions\n | PriceDataSourceActions\n | DetectionMiddlewareActions;\n\n/**\n * All events from data sources.\n */\nexport type DataSourceEvents =\n | RpcDataSourceEvents\n | BackendWebsocketDataSourceEvents\n | AccountsApiDataSourceEvents\n | SnapDataSourceEvents\n | PriceDataSourceEvents;\n\n/**\n * All external actions that data sources need.\n * Note: TokenDataSource, AccountsApiDataSource, and PriceDataSource now use ApiPlatformClient\n * directly, so they don't need BackendApiClient actions delegated.\n */\nexport type DataSourceAllowedActions =\n | RpcDataSourceAllowedActions\n | BackendWebsocketDataSourceAllowedActions\n | AccountsApiDataSourceAllowedActions\n | PriceDataSourceAllowedActions;\n\n/**\n * All external events that data sources need.\n */\nexport type DataSourceAllowedEvents =\n | RpcDataSourceAllowedEvents\n | BackendWebsocketDataSourceAllowedEvents;\n\n/**\n * Root messenger type for all data sources.\n */\nexport type RootMessenger<\n AllowedActions extends ActionConstraint,\n AllowedEvents extends EventConstraint,\n> = Messenger<string, AllowedActions, AllowedEvents>;\n\n// ============================================================================\n// MESSENGER TYPES\n// ============================================================================\n\n/**\n * All messengers for data sources.\n */\nexport type DataSourceMessengers = {\n rpcMessenger: RpcDataSourceMessenger;\n backendWebsocketMessenger: BackendWebsocketDataSourceMessenger;\n accountsApiMessenger: AccountsApiDataSourceMessenger;\n snapMessenger: SnapDataSourceMessenger;\n tokenMessenger: TokenDataSourceMessenger;\n priceMessenger: PriceDataSourceMessenger;\n detectionMessenger: DetectionMiddlewareMessenger;\n};\n\n/**\n * Options for initializing messengers.\n */\nexport type InitMessengersOptions<\n AllowedActions extends ActionConstraint,\n AllowedEvents extends EventConstraint,\n> = {\n /** The root controller messenger */\n messenger: RootMessenger<AllowedActions, AllowedEvents>;\n};\n\n// ============================================================================\n// CONTROLLER TYPES\n// ============================================================================\n\n/**\n * All data source instances.\n */\nexport type DataSources = {\n rpcDataSource: RpcDataSource;\n backendWebsocketDataSource: BackendWebsocketDataSource;\n accountsApiDataSource: AccountsApiDataSource;\n snapDataSource: SnapDataSource;\n tokenDataSource: TokenDataSource;\n priceDataSource: PriceDataSource;\n detectionMiddleware: DetectionMiddleware;\n};\n\n/**\n * Configuration options for RpcDataSource.\n */\nexport type RpcDataSourceConfig = {\n /** Balance polling interval in ms (default: 30s) */\n balanceInterval?: number;\n /** Token detection polling interval in ms (default: 180s / 3 min) */\n detectionInterval?: number;\n /** Whether token detection is enabled (default: false) */\n tokenDetectionEnabled?: boolean;\n /** Request timeout in ms (default: 10s) */\n timeout?: number;\n};\n\n/**\n * Options for initializing data sources.\n */\nexport type InitDataSourcesOptions = {\n /** Messengers for each data source */\n messengers: DataSourceMessengers;\n\n /** ApiPlatformClient for cached API calls */\n queryApiClient: ApiPlatformClient;\n\n /** Optional configuration for RpcDataSource */\n rpcDataSourceConfig?: RpcDataSourceConfig;\n};\n\n// ============================================================================\n// MESSENGER INITIALIZATION\n// ============================================================================\n\n/**\n * Initialize all messengers for data sources.\n *\n * This function creates child messengers for each data source from the root\n * controller messenger, with proper action/event delegation.\n *\n * @example\n * ```typescript\n * import { initMessengers } from '@metamask/assets-controllers';\n *\n * const messengers = initMessengers({ messenger });\n * ```\n *\n * @param options - Configuration options\n * @returns Object containing all messengers\n */\nexport function initMessengers<\n AllowedActions extends ActionConstraint,\n AllowedEvents extends EventConstraint,\n>(\n options: InitMessengersOptions<AllowedActions, AllowedEvents>,\n): DataSourceMessengers {\n const { messenger } = options;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const rootMessenger = messenger as any;\n\n // RPC Data Source messenger\n const rpcMessenger = new Messenger({\n namespace: 'RpcDataSource',\n parent: rootMessenger,\n });\n rootMessenger.delegate({\n actions: [\n 'NetworkController:getState',\n 'NetworkController:getNetworkClientById',\n 'AssetsController:activeChainsUpdate',\n 'AssetsController:assetsUpdate',\n 'AssetsController:getState',\n 'TokenListController:getState',\n 'NetworkEnablementController:getState',\n ],\n events: ['NetworkController:stateChange'],\n messenger: rpcMessenger,\n });\n\n // Backend Websocket Data Source messenger\n const backendWebsocketMessenger = new Messenger({\n namespace: 'BackendWebsocketDataSource',\n parent: rootMessenger,\n });\n rootMessenger.delegate({\n actions: [\n 'BackendWebSocketService:subscribe',\n 'BackendWebSocketService:unsubscribe',\n 'BackendWebSocketService:getState',\n 'BackendWebSocketService:getConnectionInfo',\n 'BackendWebSocketService:findSubscriptionsByChannelPrefix',\n 'AssetsController:activeChainsUpdate',\n 'AssetsController:assetsUpdate',\n ],\n events: [\n 'BackendWebSocketService:stateChange',\n 'BackendWebSocketService:connectionStateChanged',\n 'AccountsApiDataSource:activeChainsUpdated',\n ],\n messenger: backendWebsocketMessenger,\n });\n\n // Accounts API Data Source messenger\n // Note: AccountsApiDataSource uses ApiPlatformClient directly, so no BackendApiClient actions needed\n const accountsApiMessenger = new Messenger({\n namespace: 'AccountsApiDataSource',\n parent: rootMessenger,\n });\n rootMessenger.delegate({\n actions: [\n 'AssetsController:activeChainsUpdate',\n 'AssetsController:assetsUpdate',\n ],\n messenger: accountsApiMessenger,\n });\n\n // Snap Data Source messenger\n const snapMessenger = new Messenger({\n namespace: 'SnapDataSource',\n parent: rootMessenger,\n });\n rootMessenger.delegate({\n actions: [\n 'AssetsController:activeChainsUpdate',\n 'AssetsController:assetsUpdate',\n // SnapController actions for direct snap communication\n 'SnapController:getRunnableSnaps',\n 'SnapController:handleRequest',\n // PermissionController action for dynamic snap discovery\n 'PermissionController:getPermissions',\n ],\n events: [\n // Snap keyring balance updates - snaps emit this when balances change\n 'AccountsController:accountBalancesUpdated',\n // Permission changes for runtime snap discovery\n 'PermissionController:stateChange',\n ],\n messenger: snapMessenger,\n });\n\n // Token Data Source messenger\n // Note: TokenDataSource uses ApiPlatformClient directly, so no BackendApiClient actions needed\n const tokenMessenger = new Messenger({\n namespace: 'TokenDataSource',\n parent: rootMessenger,\n });\n\n // Price Data Source messenger\n // Note: PriceDataSource uses ApiPlatformClient directly, so no BackendApiClient actions needed\n const priceMessenger = new Messenger({\n namespace: 'PriceDataSource',\n parent: rootMessenger,\n });\n rootMessenger.delegate({\n actions: ['AssetsController:getState', 'AssetsController:assetsUpdate'],\n messenger: priceMessenger,\n });\n\n // Detection Middleware messenger\n const detectionMessenger = new Messenger({\n namespace: 'DetectionMiddleware',\n parent: rootMessenger,\n });\n\n return {\n rpcMessenger: rpcMessenger as RpcDataSourceMessenger,\n backendWebsocketMessenger:\n backendWebsocketMessenger as BackendWebsocketDataSourceMessenger,\n accountsApiMessenger:\n accountsApiMessenger as AccountsApiDataSourceMessenger,\n snapMessenger: snapMessenger as SnapDataSourceMessenger,\n tokenMessenger: tokenMessenger as TokenDataSourceMessenger,\n priceMessenger: priceMessenger as PriceDataSourceMessenger,\n detectionMessenger: detectionMessenger as DetectionMiddlewareMessenger,\n };\n}\n\n// ============================================================================\n// DATA SOURCE INITIALIZATION\n// ============================================================================\n\n/**\n * Initialize all data sources and middlewares.\n *\n * This function creates and initializes all data sources, registering their\n * action handlers with the messenger.\n *\n * @example\n * ```typescript\n * import { initMessengers, initDataSources } from '@metamask/assets-controllers';\n *\n * // Initialize messengers first\n * const messengers = initMessengers({ controllerMessenger });\n *\n * // Then initialize data sources\n * const dataSources = initDataSources({\n * messengers,\n * queryApiClient,\n * });\n * ```\n *\n * @param options - Configuration options\n * @returns Object containing all data source instances\n */\nexport function initDataSources(options: InitDataSourcesOptions): DataSources {\n const { messengers, queryApiClient, rpcDataSourceConfig } = options;\n\n // Initialize primary data sources (provide balance data)\n const rpcDataSource = new RpcDataSource({\n messenger: messengers.rpcMessenger,\n ...rpcDataSourceConfig,\n });\n\n const backendWebsocketDataSource = new BackendWebsocketDataSource({\n messenger: messengers.backendWebsocketMessenger,\n });\n\n const accountsApiDataSource = new AccountsApiDataSource({\n messenger: messengers.accountsApiMessenger,\n queryApiClient,\n });\n\n const snapDataSource = new SnapDataSource({\n messenger: messengers.snapMessenger,\n });\n\n // Initialize middleware data sources (enrich responses)\n const tokenDataSource = new TokenDataSource({\n messenger: messengers.tokenMessenger,\n queryApiClient,\n });\n\n const priceDataSource = new PriceDataSource({\n messenger: messengers.priceMessenger,\n queryApiClient,\n });\n\n const detectionMiddleware = new DetectionMiddleware({\n messenger: messengers.detectionMessenger,\n });\n\n return {\n rpcDataSource,\n backendWebsocketDataSource,\n accountsApiDataSource,\n snapDataSource,\n tokenDataSource,\n priceDataSource,\n detectionMiddleware,\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"initDataSources.mjs","sourceRoot":"","sources":["../../src/data-sources/initDataSources.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ApiPlatformClient } from '@metamask/core-backend';\nimport { Messenger } from '@metamask/messenger';\nimport type { ActionConstraint, EventConstraint } from '@metamask/messenger';\n\nimport { AccountsApiDataSource } from './AccountsApiDataSource';\nimport type {\n AccountsApiDataSourceActions,\n AccountsApiDataSourceAllowedActions,\n AccountsApiDataSourceEvents,\n AccountsApiDataSourceMessenger,\n} from './AccountsApiDataSource';\nimport { BackendWebsocketDataSource } from './BackendWebsocketDataSource';\nimport type {\n BackendWebsocketDataSourceActions,\n BackendWebsocketDataSourceAllowedActions,\n BackendWebsocketDataSourceAllowedEvents,\n BackendWebsocketDataSourceEvents,\n BackendWebsocketDataSourceMessenger,\n} from './BackendWebsocketDataSource';\nimport { PriceDataSource } from './PriceDataSource';\nimport type {\n PriceDataSourceActions,\n PriceDataSourceAllowedActions,\n PriceDataSourceEvents,\n PriceDataSourceMessenger,\n} from './PriceDataSource';\nimport { RpcDataSource } from './RpcDataSource';\nimport type {\n RpcDataSourceActions,\n RpcDataSourceAllowedActions,\n RpcDataSourceAllowedEvents,\n RpcDataSourceEvents,\n RpcDataSourceMessenger,\n} from './RpcDataSource';\nimport { SnapDataSource } from './SnapDataSource';\nimport type {\n SnapDataSourceActions,\n SnapDataSourceEvents,\n SnapDataSourceMessenger,\n SnapProvider,\n} from './SnapDataSource';\nimport { TokenDataSource } from './TokenDataSource';\nimport type {\n TokenDataSourceActions,\n TokenDataSourceMessenger,\n} from './TokenDataSource';\nimport type {\n DetectionMiddlewareActions,\n DetectionMiddlewareMessenger,\n} from '../middlewares';\nimport { DetectionMiddleware } from '../middlewares';\n\n// ============================================================================\n// ACTION & EVENT TYPES\n// ============================================================================\n\n/**\n * All actions from data sources.\n */\nexport type DataSourceActions =\n | RpcDataSourceActions\n | BackendWebsocketDataSourceActions\n | AccountsApiDataSourceActions\n | SnapDataSourceActions\n | TokenDataSourceActions\n | PriceDataSourceActions\n | DetectionMiddlewareActions;\n\n/**\n * All events from data sources.\n */\nexport type DataSourceEvents =\n | RpcDataSourceEvents\n | BackendWebsocketDataSourceEvents\n | AccountsApiDataSourceEvents\n | SnapDataSourceEvents\n | PriceDataSourceEvents;\n\n/**\n * All external actions that data sources need.\n * Note: TokenDataSource, AccountsApiDataSource, and PriceDataSource now use ApiPlatformClient\n * directly, so they don't need BackendApiClient actions delegated.\n */\nexport type DataSourceAllowedActions =\n | RpcDataSourceAllowedActions\n | BackendWebsocketDataSourceAllowedActions\n | AccountsApiDataSourceAllowedActions\n | PriceDataSourceAllowedActions;\n\n/**\n * All external events that data sources need.\n */\nexport type DataSourceAllowedEvents =\n | RpcDataSourceAllowedEvents\n | BackendWebsocketDataSourceAllowedEvents;\n\n/**\n * Root messenger type for all data sources.\n */\nexport type RootMessenger<\n AllowedActions extends ActionConstraint,\n AllowedEvents extends EventConstraint,\n> = Messenger<string, AllowedActions, AllowedEvents>;\n\n// ============================================================================\n// MESSENGER TYPES\n// ============================================================================\n\n/**\n * All messengers for data sources.\n */\nexport type DataSourceMessengers = {\n rpcMessenger: RpcDataSourceMessenger;\n backendWebsocketMessenger: BackendWebsocketDataSourceMessenger;\n accountsApiMessenger: AccountsApiDataSourceMessenger;\n snapMessenger: SnapDataSourceMessenger;\n tokenMessenger: TokenDataSourceMessenger;\n priceMessenger: PriceDataSourceMessenger;\n detectionMessenger: DetectionMiddlewareMessenger;\n};\n\n/**\n * Options for initializing messengers.\n */\nexport type InitMessengersOptions<\n AllowedActions extends ActionConstraint,\n AllowedEvents extends EventConstraint,\n> = {\n /** The root controller messenger */\n messenger: RootMessenger<AllowedActions, AllowedEvents>;\n};\n\n// ============================================================================\n// CONTROLLER TYPES\n// ============================================================================\n\n/**\n * All data source instances.\n */\nexport type DataSources = {\n rpcDataSource: RpcDataSource;\n backendWebsocketDataSource: BackendWebsocketDataSource;\n accountsApiDataSource: AccountsApiDataSource;\n snapDataSource: SnapDataSource;\n tokenDataSource: TokenDataSource;\n priceDataSource: PriceDataSource;\n detectionMiddleware: DetectionMiddleware;\n};\n\n/**\n * Configuration options for RpcDataSource.\n */\nexport type RpcDataSourceConfig = {\n /** Balance polling interval in ms (default: 30s) */\n balanceInterval?: number;\n /** Token detection polling interval in ms (default: 180s / 3 min) */\n detectionInterval?: number;\n /** Whether token detection is enabled (default: false) */\n tokenDetectionEnabled?: boolean;\n /** Request timeout in ms (default: 10s) */\n timeout?: number;\n};\n\n/**\n * Options for initializing data sources.\n */\nexport type InitDataSourcesOptions = {\n /** Messengers for each data source */\n messengers: DataSourceMessengers;\n\n /** Snap provider for communicating with snaps */\n snapProvider: SnapProvider;\n\n /** ApiPlatformClient for cached API calls */\n queryApiClient: ApiPlatformClient;\n\n /** Optional configuration for RpcDataSource */\n rpcDataSourceConfig?: RpcDataSourceConfig;\n};\n\n// ============================================================================\n// MESSENGER INITIALIZATION\n// ============================================================================\n\n/**\n * Initialize all messengers for data sources.\n *\n * This function creates child messengers for each data source from the root\n * controller messenger, with proper action/event delegation.\n *\n * @example\n * ```typescript\n * import { initMessengers } from '@metamask/assets-controllers';\n *\n * const messengers = initMessengers({ messenger });\n * ```\n *\n * @param options - Configuration options\n * @returns Object containing all messengers\n */\nexport function initMessengers<\n AllowedActions extends ActionConstraint,\n AllowedEvents extends EventConstraint,\n>(\n options: InitMessengersOptions<AllowedActions, AllowedEvents>,\n): DataSourceMessengers {\n const { messenger } = options;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const rootMessenger = messenger as any;\n\n // RPC Data Source messenger\n const rpcMessenger = new Messenger({\n namespace: 'RpcDataSource',\n parent: rootMessenger,\n });\n rootMessenger.delegate({\n actions: [\n 'NetworkController:getState',\n 'NetworkController:getNetworkClientById',\n 'AssetsController:activeChainsUpdate',\n 'AssetsController:assetsUpdate',\n 'AssetsController:getState',\n 'TokenListController:getState',\n 'NetworkEnablementController:getState',\n ],\n events: ['NetworkController:stateChange'],\n messenger: rpcMessenger,\n });\n\n // Backend Websocket Data Source messenger\n const backendWebsocketMessenger = new Messenger({\n namespace: 'BackendWebsocketDataSource',\n parent: rootMessenger,\n });\n rootMessenger.delegate({\n actions: [\n 'BackendWebSocketService:subscribe',\n 'BackendWebSocketService:unsubscribe',\n 'BackendWebSocketService:getState',\n 'BackendWebSocketService:getConnectionInfo',\n 'BackendWebSocketService:findSubscriptionsByChannelPrefix',\n 'AssetsController:activeChainsUpdate',\n 'AssetsController:assetsUpdate',\n ],\n events: [\n 'BackendWebSocketService:stateChange',\n 'BackendWebSocketService:connectionStateChanged',\n 'AccountsApiDataSource:activeChainsUpdated',\n ],\n messenger: backendWebsocketMessenger,\n });\n\n // Accounts API Data Source messenger\n // Note: AccountsApiDataSource uses ApiPlatformClient directly, so no BackendApiClient actions needed\n const accountsApiMessenger = new Messenger({\n namespace: 'AccountsApiDataSource',\n parent: rootMessenger,\n });\n rootMessenger.delegate({\n actions: [\n 'AssetsController:activeChainsUpdate',\n 'AssetsController:assetsUpdate',\n ],\n messenger: accountsApiMessenger,\n });\n\n // Snap Data Source messenger\n const snapMessenger = new Messenger({\n namespace: 'SnapDataSource',\n parent: rootMessenger,\n });\n rootMessenger.delegate({\n actions: [\n 'AssetsController:activeChainsUpdate',\n 'AssetsController:assetsUpdate',\n ],\n events: [\n // Snap keyring balance updates - snaps emit this when balances change\n 'AccountsController:accountBalancesUpdated',\n ],\n messenger: snapMessenger,\n });\n\n // Token Data Source messenger\n // Note: TokenDataSource uses ApiPlatformClient directly, so no BackendApiClient actions needed\n const tokenMessenger = new Messenger({\n namespace: 'TokenDataSource',\n parent: rootMessenger,\n });\n\n // Price Data Source messenger\n // Note: PriceDataSource uses ApiPlatformClient directly, so no BackendApiClient actions needed\n const priceMessenger = new Messenger({\n namespace: 'PriceDataSource',\n parent: rootMessenger,\n });\n rootMessenger.delegate({\n actions: ['AssetsController:getState', 'AssetsController:assetsUpdate'],\n messenger: priceMessenger,\n });\n\n // Detection Middleware messenger\n const detectionMessenger = new Messenger({\n namespace: 'DetectionMiddleware',\n parent: rootMessenger,\n });\n\n return {\n rpcMessenger: rpcMessenger as RpcDataSourceMessenger,\n backendWebsocketMessenger:\n backendWebsocketMessenger as BackendWebsocketDataSourceMessenger,\n accountsApiMessenger:\n accountsApiMessenger as AccountsApiDataSourceMessenger,\n snapMessenger: snapMessenger as SnapDataSourceMessenger,\n tokenMessenger: tokenMessenger as TokenDataSourceMessenger,\n priceMessenger: priceMessenger as PriceDataSourceMessenger,\n detectionMessenger: detectionMessenger as DetectionMiddlewareMessenger,\n };\n}\n\n// ============================================================================\n// DATA SOURCE INITIALIZATION\n// ============================================================================\n\n/**\n * Initialize all data sources and middlewares.\n *\n * This function creates and initializes all data sources, registering their\n * action handlers with the messenger.\n *\n * @example\n * ```typescript\n * import { initMessengers, initDataSources } from '@metamask/assets-controllers';\n *\n * // Initialize messengers first\n * const messengers = initMessengers({ controllerMessenger });\n *\n * // Then initialize data sources\n * const dataSources = initDataSources({\n * messengers,\n * snapProvider: snapController,\n * });\n * ```\n *\n * @param options - Configuration options\n * @returns Object containing all data source instances\n */\nexport function initDataSources(options: InitDataSourcesOptions): DataSources {\n const { messengers, snapProvider, queryApiClient, rpcDataSourceConfig } =\n options;\n\n // Initialize primary data sources (provide balance data)\n const rpcDataSource = new RpcDataSource({\n messenger: messengers.rpcMessenger,\n ...rpcDataSourceConfig,\n });\n\n const backendWebsocketDataSource = new BackendWebsocketDataSource({\n messenger: messengers.backendWebsocketMessenger,\n });\n\n const accountsApiDataSource = new AccountsApiDataSource({\n messenger: messengers.accountsApiMessenger,\n queryApiClient,\n });\n\n const snapDataSource = new SnapDataSource({\n messenger: messengers.snapMessenger,\n snapProvider,\n });\n\n // Initialize middleware data sources (enrich responses)\n const tokenDataSource = new TokenDataSource({\n messenger: messengers.tokenMessenger,\n queryApiClient,\n });\n\n const priceDataSource = new PriceDataSource({\n messenger: messengers.priceMessenger,\n queryApiClient,\n });\n\n const detectionMiddleware = new DetectionMiddleware({\n messenger: messengers.detectionMessenger,\n });\n\n return {\n rpcDataSource,\n backendWebsocketDataSource,\n accountsApiDataSource,\n snapDataSource,\n tokenDataSource,\n priceDataSource,\n detectionMiddleware,\n };\n}\n"]}
|
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.normalizeAssetId = exports.initDataSources = exports.initMessengers = exports.DetectionMiddleware = exports.PriceDataSource = exports.TokenDataSource = exports.
|
|
3
|
+
exports.normalizeAssetId = exports.initDataSources = exports.initMessengers = exports.DetectionMiddleware = exports.PriceDataSource = exports.TokenDataSource = exports.isTronChain = exports.isBitcoinChain = exports.isSolanaChain = exports.isSnapSupportedChain = exports.getSnapTypeForChain = exports.SNAP_REGISTRY = exports.DEFAULT_SNAP_POLL_INTERVAL = exports.DEFAULT_TRON_POLL_INTERVAL = exports.DEFAULT_BITCOIN_POLL_INTERVAL = exports.DEFAULT_SOLANA_POLL_INTERVAL = exports.ALL_DEFAULT_NETWORKS = exports.TRON_NILE_HEX = exports.TRON_SHASTA_HEX = exports.TRON_MAINNET_HEX = exports.TRON_NILE = exports.TRON_SHASTA = exports.TRON_MAINNET = exports.BITCOIN_TESTNET = exports.BITCOIN_MAINNET = exports.SOLANA_TESTNET = exports.SOLANA_DEVNET = exports.SOLANA_MAINNET = exports.TRON_CHAIN_PREFIX = exports.BITCOIN_CHAIN_PREFIX = exports.SOLANA_CHAIN_PREFIX = exports.TRON_SNAP_ID = exports.BITCOIN_SNAP_ID = exports.SOLANA_SNAP_ID = exports.SNAP_DATA_SOURCE_NAME = exports.createSnapDataSource = exports.SnapDataSource = exports.createRpcDataSource = exports.RpcDataSource = exports.createBackendWebsocketDataSource = exports.BackendWebsocketDataSource = exports.createAccountsApiDataSource = exports.AccountsApiDataSource = exports.AbstractDataSource = exports.getDefaultAssetsControllerState = exports.AssetsController = void 0;
|
|
4
4
|
// Main controller export
|
|
5
5
|
var AssetsController_1 = require("./AssetsController.cjs");
|
|
6
6
|
Object.defineProperty(exports, "AssetsController", { enumerable: true, get: function () { return AssetsController_1.AssetsController; } });
|
|
@@ -20,16 +20,45 @@ Object.defineProperty(exports, "createBackendWebsocketDataSource", { enumerable:
|
|
|
20
20
|
var data_sources_4 = require("./data-sources/index.cjs");
|
|
21
21
|
Object.defineProperty(exports, "RpcDataSource", { enumerable: true, get: function () { return data_sources_4.RpcDataSource; } });
|
|
22
22
|
Object.defineProperty(exports, "createRpcDataSource", { enumerable: true, get: function () { return data_sources_4.createRpcDataSource; } });
|
|
23
|
-
// Data sources - Unified Snap Data Source (
|
|
23
|
+
// Data sources - Unified Snap Data Source (handles Solana, Bitcoin, Tron)
|
|
24
24
|
var data_sources_5 = require("./data-sources/index.cjs");
|
|
25
25
|
Object.defineProperty(exports, "SnapDataSource", { enumerable: true, get: function () { return data_sources_5.SnapDataSource; } });
|
|
26
26
|
Object.defineProperty(exports, "createSnapDataSource", { enumerable: true, get: function () { return data_sources_5.createSnapDataSource; } });
|
|
27
27
|
Object.defineProperty(exports, "SNAP_DATA_SOURCE_NAME", { enumerable: true, get: function () { return data_sources_5.SNAP_DATA_SOURCE_NAME; } });
|
|
28
|
-
//
|
|
29
|
-
Object.defineProperty(exports, "
|
|
30
|
-
|
|
31
|
-
Object.defineProperty(exports, "
|
|
32
|
-
|
|
28
|
+
// Snap IDs
|
|
29
|
+
Object.defineProperty(exports, "SOLANA_SNAP_ID", { enumerable: true, get: function () { return data_sources_5.SOLANA_SNAP_ID; } });
|
|
30
|
+
Object.defineProperty(exports, "BITCOIN_SNAP_ID", { enumerable: true, get: function () { return data_sources_5.BITCOIN_SNAP_ID; } });
|
|
31
|
+
Object.defineProperty(exports, "TRON_SNAP_ID", { enumerable: true, get: function () { return data_sources_5.TRON_SNAP_ID; } });
|
|
32
|
+
// Chain prefixes
|
|
33
|
+
Object.defineProperty(exports, "SOLANA_CHAIN_PREFIX", { enumerable: true, get: function () { return data_sources_5.SOLANA_CHAIN_PREFIX; } });
|
|
34
|
+
Object.defineProperty(exports, "BITCOIN_CHAIN_PREFIX", { enumerable: true, get: function () { return data_sources_5.BITCOIN_CHAIN_PREFIX; } });
|
|
35
|
+
Object.defineProperty(exports, "TRON_CHAIN_PREFIX", { enumerable: true, get: function () { return data_sources_5.TRON_CHAIN_PREFIX; } });
|
|
36
|
+
// Networks
|
|
37
|
+
Object.defineProperty(exports, "SOLANA_MAINNET", { enumerable: true, get: function () { return data_sources_5.SOLANA_MAINNET; } });
|
|
38
|
+
Object.defineProperty(exports, "SOLANA_DEVNET", { enumerable: true, get: function () { return data_sources_5.SOLANA_DEVNET; } });
|
|
39
|
+
Object.defineProperty(exports, "SOLANA_TESTNET", { enumerable: true, get: function () { return data_sources_5.SOLANA_TESTNET; } });
|
|
40
|
+
Object.defineProperty(exports, "BITCOIN_MAINNET", { enumerable: true, get: function () { return data_sources_5.BITCOIN_MAINNET; } });
|
|
41
|
+
Object.defineProperty(exports, "BITCOIN_TESTNET", { enumerable: true, get: function () { return data_sources_5.BITCOIN_TESTNET; } });
|
|
42
|
+
Object.defineProperty(exports, "TRON_MAINNET", { enumerable: true, get: function () { return data_sources_5.TRON_MAINNET; } });
|
|
43
|
+
Object.defineProperty(exports, "TRON_SHASTA", { enumerable: true, get: function () { return data_sources_5.TRON_SHASTA; } });
|
|
44
|
+
Object.defineProperty(exports, "TRON_NILE", { enumerable: true, get: function () { return data_sources_5.TRON_NILE; } });
|
|
45
|
+
Object.defineProperty(exports, "TRON_MAINNET_HEX", { enumerable: true, get: function () { return data_sources_5.TRON_MAINNET_HEX; } });
|
|
46
|
+
Object.defineProperty(exports, "TRON_SHASTA_HEX", { enumerable: true, get: function () { return data_sources_5.TRON_SHASTA_HEX; } });
|
|
47
|
+
Object.defineProperty(exports, "TRON_NILE_HEX", { enumerable: true, get: function () { return data_sources_5.TRON_NILE_HEX; } });
|
|
48
|
+
Object.defineProperty(exports, "ALL_DEFAULT_NETWORKS", { enumerable: true, get: function () { return data_sources_5.ALL_DEFAULT_NETWORKS; } });
|
|
49
|
+
// Poll intervals
|
|
50
|
+
Object.defineProperty(exports, "DEFAULT_SOLANA_POLL_INTERVAL", { enumerable: true, get: function () { return data_sources_5.DEFAULT_SOLANA_POLL_INTERVAL; } });
|
|
51
|
+
Object.defineProperty(exports, "DEFAULT_BITCOIN_POLL_INTERVAL", { enumerable: true, get: function () { return data_sources_5.DEFAULT_BITCOIN_POLL_INTERVAL; } });
|
|
52
|
+
Object.defineProperty(exports, "DEFAULT_TRON_POLL_INTERVAL", { enumerable: true, get: function () { return data_sources_5.DEFAULT_TRON_POLL_INTERVAL; } });
|
|
53
|
+
Object.defineProperty(exports, "DEFAULT_SNAP_POLL_INTERVAL", { enumerable: true, get: function () { return data_sources_5.DEFAULT_SNAP_POLL_INTERVAL; } });
|
|
54
|
+
// Snap registry
|
|
55
|
+
Object.defineProperty(exports, "SNAP_REGISTRY", { enumerable: true, get: function () { return data_sources_5.SNAP_REGISTRY; } });
|
|
56
|
+
// Helper functions
|
|
57
|
+
Object.defineProperty(exports, "getSnapTypeForChain", { enumerable: true, get: function () { return data_sources_5.getSnapTypeForChain; } });
|
|
58
|
+
Object.defineProperty(exports, "isSnapSupportedChain", { enumerable: true, get: function () { return data_sources_5.isSnapSupportedChain; } });
|
|
59
|
+
Object.defineProperty(exports, "isSolanaChain", { enumerable: true, get: function () { return data_sources_5.isSolanaChain; } });
|
|
60
|
+
Object.defineProperty(exports, "isBitcoinChain", { enumerable: true, get: function () { return data_sources_5.isBitcoinChain; } });
|
|
61
|
+
Object.defineProperty(exports, "isTronChain", { enumerable: true, get: function () { return data_sources_5.isTronChain; } });
|
|
33
62
|
// Enrichment data sources
|
|
34
63
|
var data_sources_6 = require("./data-sources/index.cjs");
|
|
35
64
|
Object.defineProperty(exports, "TokenDataSource", { enumerable: true, get: function () { return data_sources_6.TokenDataSource; } });
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,2DAG4B;AAF1B,oHAAA,gBAAgB,OAAA;AAChB,mIAAA,+BAA+B,OAAA;AAgFjC,sCAAsC;AACtC,yDAAoD;AAA3C,kHAAA,kBAAkB,OAAA;AAI3B,6BAA6B;AAC7B,yDAGwB;AAFtB,qHAAA,qBAAqB,OAAA;AACrB,2HAAA,2BAA2B,OAAA;AAW7B,kCAAkC;AAClC,yDAGwB;AAFtB,0HAAA,0BAA0B,OAAA;AAC1B,gIAAA,gCAAgC,OAAA;AAalC,qBAAqB;AACrB,yDAAoE;AAA3D,6GAAA,aAAa,OAAA;AAAE,mHAAA,mBAAmB,OAAA;AAU3C,
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,2DAG4B;AAF1B,oHAAA,gBAAgB,OAAA;AAChB,mIAAA,+BAA+B,OAAA;AAgFjC,sCAAsC;AACtC,yDAAoD;AAA3C,kHAAA,kBAAkB,OAAA;AAI3B,6BAA6B;AAC7B,yDAGwB;AAFtB,qHAAA,qBAAqB,OAAA;AACrB,2HAAA,2BAA2B,OAAA;AAW7B,kCAAkC;AAClC,yDAGwB;AAFtB,0HAAA,0BAA0B,OAAA;AAC1B,gIAAA,gCAAgC,OAAA;AAalC,qBAAqB;AACrB,yDAAoE;AAA3D,6GAAA,aAAa,OAAA;AAAE,mHAAA,mBAAmB,OAAA;AAU3C,0EAA0E;AAC1E,yDAsCwB;AArCtB,8GAAA,cAAc,OAAA;AACd,oHAAA,oBAAoB,OAAA;AACpB,qHAAA,qBAAqB,OAAA;AACrB,WAAW;AACX,8GAAA,cAAc,OAAA;AACd,+GAAA,eAAe,OAAA;AACf,4GAAA,YAAY,OAAA;AACZ,iBAAiB;AACjB,mHAAA,mBAAmB,OAAA;AACnB,oHAAA,oBAAoB,OAAA;AACpB,iHAAA,iBAAiB,OAAA;AACjB,WAAW;AACX,8GAAA,cAAc,OAAA;AACd,6GAAA,aAAa,OAAA;AACb,8GAAA,cAAc,OAAA;AACd,+GAAA,eAAe,OAAA;AACf,+GAAA,eAAe,OAAA;AACf,4GAAA,YAAY,OAAA;AACZ,2GAAA,WAAW,OAAA;AACX,yGAAA,SAAS,OAAA;AACT,gHAAA,gBAAgB,OAAA;AAChB,+GAAA,eAAe,OAAA;AACf,6GAAA,aAAa,OAAA;AACb,oHAAA,oBAAoB,OAAA;AACpB,iBAAiB;AACjB,4HAAA,4BAA4B,OAAA;AAC5B,6HAAA,6BAA6B,OAAA;AAC7B,0HAAA,0BAA0B,OAAA;AAC1B,0HAAA,0BAA0B,OAAA;AAC1B,gBAAgB;AAChB,6GAAA,aAAa,OAAA;AACb,mBAAmB;AACnB,mHAAA,mBAAmB,OAAA;AACnB,oHAAA,oBAAoB,OAAA;AACpB,6GAAA,aAAa,OAAA;AACb,8GAAA,cAAc,OAAA;AACd,2GAAA,WAAW,OAAA;AAcb,0BAA0B;AAC1B,yDAAkE;AAAzD,+GAAA,eAAe,OAAA;AAAE,+GAAA,eAAe,OAAA;AAUzC,cAAc;AACd,uDAAoD;AAA3C,kHAAA,mBAAmB,OAAA;AAO5B,6BAA6B;AAC7B,yDAAiE;AAAxD,8GAAA,cAAc,OAAA;AAAE,+GAAA,eAAe,OAAA;AAcxC,YAAY;AACZ,qCAA2C;AAAlC,yGAAA,gBAAgB,OAAA","sourcesContent":["// Main controller export\nexport {\n AssetsController,\n getDefaultAssetsControllerState,\n} from './AssetsController';\n\n// State and messenger types\nexport type {\n AssetsControllerState,\n AssetsControllerMessenger,\n AssetsControllerOptions,\n AssetsControllerGetStateAction,\n AssetsControllerGetAssetsAction,\n AssetsControllerGetAssetsBalanceAction,\n AssetsControllerGetAssetMetadataAction,\n AssetsControllerGetAssetsPriceAction,\n AssetsControllerActiveChainsUpdateAction,\n AssetsControllerAssetsUpdateAction,\n AssetsControllerAddCustomAssetAction,\n AssetsControllerRemoveCustomAssetAction,\n AssetsControllerGetCustomAssetsAction,\n AssetsControllerActions,\n AssetsControllerStateChangeEvent,\n AssetsControllerBalanceChangedEvent,\n AssetsControllerPriceChangedEvent,\n AssetsControllerAssetsDetectedEvent,\n AssetsControllerEvents,\n} from './AssetsController';\n\n// Core types\nexport type {\n // CAIP types\n Caip19AssetId,\n AccountId,\n ChainId,\n // Asset types\n AssetType,\n TokenStandard,\n // Contract data types\n TokenFees,\n HoneypotStatus,\n StorageSlots,\n LocalizedDescription,\n // Metadata types\n BaseAssetMetadata,\n FungibleAssetMetadata,\n ERC721AssetMetadata,\n ERC1155AssetMetadata,\n AssetMetadata,\n // Price types\n BaseAssetPrice,\n FungibleAssetPrice,\n NFTAssetPrice,\n AssetPrice,\n // Balance types\n FungibleAssetBalance,\n ERC721AssetBalance,\n ERC1155AssetBalance,\n AssetBalance,\n // Data source types\n DataType,\n DataRequest,\n DataResponse,\n // Middleware types\n Context,\n NextFunction,\n Middleware,\n FetchContext,\n FetchNextFunction,\n FetchMiddleware,\n // Data source registration\n DataSourceDefinition,\n RegisteredDataSource,\n SubscriptionResponse,\n // Combined asset type\n Asset,\n // Event types\n BalanceChangeEvent,\n PriceChangeEvent,\n MetadataChangeEvent,\n AssetsDetectedEvent,\n} from './types';\n\n// Data sources - base class and types\nexport { AbstractDataSource } from './data-sources';\n\nexport type { DataSourceState, SubscriptionRequest } from './data-sources';\n\n// Data sources - AccountsApi\nexport {\n AccountsApiDataSource,\n createAccountsApiDataSource,\n} from './data-sources';\n\nexport type {\n AccountsApiDataSourceOptions,\n AccountsApiDataSourceState,\n AccountsApiDataSourceActions,\n AccountsApiDataSourceEvents,\n AccountsApiDataSourceMessenger,\n} from './data-sources';\n\n// Data sources - BackendWebsocket\nexport {\n BackendWebsocketDataSource,\n createBackendWebsocketDataSource,\n} from './data-sources';\n\nexport type {\n BackendWebsocketDataSourceOptions,\n BackendWebsocketDataSourceState,\n BackendWebsocketDataSourceActions,\n BackendWebsocketDataSourceEvents,\n BackendWebsocketDataSourceMessenger,\n BackendWebsocketDataSourceAllowedActions,\n BackendWebsocketDataSourceAllowedEvents,\n} from './data-sources';\n\n// Data sources - RPC\nexport { RpcDataSource, createRpcDataSource } from './data-sources';\n\nexport type {\n RpcDataSourceOptions,\n RpcDataSourceState,\n RpcDataSourceActions,\n RpcDataSourceEvents,\n RpcDataSourceMessenger,\n} from './data-sources';\n\n// Data sources - Unified Snap Data Source (handles Solana, Bitcoin, Tron)\nexport {\n SnapDataSource,\n createSnapDataSource,\n SNAP_DATA_SOURCE_NAME,\n // Snap IDs\n SOLANA_SNAP_ID,\n BITCOIN_SNAP_ID,\n TRON_SNAP_ID,\n // Chain prefixes\n SOLANA_CHAIN_PREFIX,\n BITCOIN_CHAIN_PREFIX,\n TRON_CHAIN_PREFIX,\n // Networks\n SOLANA_MAINNET,\n SOLANA_DEVNET,\n SOLANA_TESTNET,\n BITCOIN_MAINNET,\n BITCOIN_TESTNET,\n TRON_MAINNET,\n TRON_SHASTA,\n TRON_NILE,\n TRON_MAINNET_HEX,\n TRON_SHASTA_HEX,\n TRON_NILE_HEX,\n ALL_DEFAULT_NETWORKS,\n // Poll intervals\n DEFAULT_SOLANA_POLL_INTERVAL,\n DEFAULT_BITCOIN_POLL_INTERVAL,\n DEFAULT_TRON_POLL_INTERVAL,\n DEFAULT_SNAP_POLL_INTERVAL,\n // Snap registry\n SNAP_REGISTRY,\n // Helper functions\n getSnapTypeForChain,\n isSnapSupportedChain,\n isSolanaChain,\n isBitcoinChain,\n isTronChain,\n} from './data-sources';\n\nexport type {\n SnapType,\n SnapInfo,\n SnapDataSourceState,\n SnapDataSourceOptions,\n SnapProvider,\n SnapDataSourceActions,\n SnapDataSourceEvents,\n SnapDataSourceMessenger,\n} from './data-sources';\n\n// Enrichment data sources\nexport { TokenDataSource, PriceDataSource } from './data-sources';\n\nexport type {\n TokenDataSourceActions,\n TokenDataSourceMessenger,\n PriceDataSourceActions,\n PriceDataSourceEvents,\n PriceDataSourceMessenger,\n} from './data-sources';\n\n// Middlewares\nexport { DetectionMiddleware } from './middlewares';\n\nexport type {\n DetectionMiddlewareActions,\n DetectionMiddlewareMessenger,\n} from './middlewares';\n\n// Data source initialization\nexport { initMessengers, initDataSources } from './data-sources';\n\nexport type {\n DataSourceMessengers,\n DataSources,\n InitMessengersOptions,\n InitDataSourcesOptions,\n DataSourceActions,\n DataSourceEvents,\n DataSourceAllowedActions,\n DataSourceAllowedEvents,\n RootMessenger,\n} from './data-sources';\n\n// Utilities\nexport { normalizeAssetId } from './utils';\n"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -9,8 +9,8 @@ export { BackendWebsocketDataSource, createBackendWebsocketDataSource, } from ".
|
|
|
9
9
|
export type { BackendWebsocketDataSourceOptions, BackendWebsocketDataSourceState, BackendWebsocketDataSourceActions, BackendWebsocketDataSourceEvents, BackendWebsocketDataSourceMessenger, BackendWebsocketDataSourceAllowedActions, BackendWebsocketDataSourceAllowedEvents, } from "./data-sources/index.cjs";
|
|
10
10
|
export { RpcDataSource, createRpcDataSource } from "./data-sources/index.cjs";
|
|
11
11
|
export type { RpcDataSourceOptions, RpcDataSourceState, RpcDataSourceActions, RpcDataSourceEvents, RpcDataSourceMessenger, } from "./data-sources/index.cjs";
|
|
12
|
-
export { SnapDataSource, createSnapDataSource, SNAP_DATA_SOURCE_NAME,
|
|
13
|
-
export type { SnapDataSourceState, SnapDataSourceOptions, SnapDataSourceActions, SnapDataSourceEvents, SnapDataSourceMessenger, } from "./data-sources/index.cjs";
|
|
12
|
+
export { SnapDataSource, createSnapDataSource, SNAP_DATA_SOURCE_NAME, SOLANA_SNAP_ID, BITCOIN_SNAP_ID, TRON_SNAP_ID, SOLANA_CHAIN_PREFIX, BITCOIN_CHAIN_PREFIX, TRON_CHAIN_PREFIX, SOLANA_MAINNET, SOLANA_DEVNET, SOLANA_TESTNET, BITCOIN_MAINNET, BITCOIN_TESTNET, TRON_MAINNET, TRON_SHASTA, TRON_NILE, TRON_MAINNET_HEX, TRON_SHASTA_HEX, TRON_NILE_HEX, ALL_DEFAULT_NETWORKS, DEFAULT_SOLANA_POLL_INTERVAL, DEFAULT_BITCOIN_POLL_INTERVAL, DEFAULT_TRON_POLL_INTERVAL, DEFAULT_SNAP_POLL_INTERVAL, SNAP_REGISTRY, getSnapTypeForChain, isSnapSupportedChain, isSolanaChain, isBitcoinChain, isTronChain, } from "./data-sources/index.cjs";
|
|
13
|
+
export type { SnapType, SnapInfo, SnapDataSourceState, SnapDataSourceOptions, SnapProvider, SnapDataSourceActions, SnapDataSourceEvents, SnapDataSourceMessenger, } from "./data-sources/index.cjs";
|
|
14
14
|
export { TokenDataSource, PriceDataSource } from "./data-sources/index.cjs";
|
|
15
15
|
export type { TokenDataSourceActions, TokenDataSourceMessenger, PriceDataSourceActions, PriceDataSourceEvents, PriceDataSourceMessenger, } from "./data-sources/index.cjs";
|
|
16
16
|
export { DetectionMiddleware } from "./middlewares/index.cjs";
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,+BAA+B,GAChC,+BAA2B;AAG5B,YAAY,EACV,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,8BAA8B,EAC9B,+BAA+B,EAC/B,sCAAsC,EACtC,sCAAsC,EACtC,oCAAoC,EACpC,wCAAwC,EACxC,kCAAkC,EAClC,oCAAoC,EACpC,uCAAuC,EACvC,qCAAqC,EACrC,uBAAuB,EACvB,gCAAgC,EAChC,mCAAmC,EACnC,iCAAiC,EACjC,mCAAmC,EACnC,sBAAsB,GACvB,+BAA2B;AAG5B,YAAY,EAEV,aAAa,EACb,SAAS,EACT,OAAO,EAEP,SAAS,EACT,aAAa,EAEb,SAAS,EACT,cAAc,EACd,YAAY,EACZ,oBAAoB,EAEpB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EAEb,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,UAAU,EAEV,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EAEZ,QAAQ,EACR,WAAW,EACX,YAAY,EAEZ,OAAO,EACP,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,eAAe,EAEf,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EAEpB,KAAK,EAEL,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,oBAAgB;AAGjB,OAAO,EAAE,kBAAkB,EAAE,iCAAuB;AAEpD,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,iCAAuB;AAG3E,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAC5B,iCAAuB;AAExB,YAAY,EACV,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAC3B,8BAA8B,GAC/B,iCAAuB;AAGxB,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,GACjC,iCAAuB;AAExB,YAAY,EACV,iCAAiC,EACjC,+BAA+B,EAC/B,iCAAiC,EACjC,gCAAgC,EAChC,mCAAmC,EACnC,wCAAwC,EACxC,uCAAuC,GACxC,iCAAuB;AAGxB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,iCAAuB;AAEpE,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,GACvB,iCAAuB;AAGxB,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EAErB,
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.mts
CHANGED
|
@@ -9,8 +9,8 @@ export { BackendWebsocketDataSource, createBackendWebsocketDataSource, } from ".
|
|
|
9
9
|
export type { BackendWebsocketDataSourceOptions, BackendWebsocketDataSourceState, BackendWebsocketDataSourceActions, BackendWebsocketDataSourceEvents, BackendWebsocketDataSourceMessenger, BackendWebsocketDataSourceAllowedActions, BackendWebsocketDataSourceAllowedEvents, } from "./data-sources/index.mjs";
|
|
10
10
|
export { RpcDataSource, createRpcDataSource } from "./data-sources/index.mjs";
|
|
11
11
|
export type { RpcDataSourceOptions, RpcDataSourceState, RpcDataSourceActions, RpcDataSourceEvents, RpcDataSourceMessenger, } from "./data-sources/index.mjs";
|
|
12
|
-
export { SnapDataSource, createSnapDataSource, SNAP_DATA_SOURCE_NAME,
|
|
13
|
-
export type { SnapDataSourceState, SnapDataSourceOptions, SnapDataSourceActions, SnapDataSourceEvents, SnapDataSourceMessenger, } from "./data-sources/index.mjs";
|
|
12
|
+
export { SnapDataSource, createSnapDataSource, SNAP_DATA_SOURCE_NAME, SOLANA_SNAP_ID, BITCOIN_SNAP_ID, TRON_SNAP_ID, SOLANA_CHAIN_PREFIX, BITCOIN_CHAIN_PREFIX, TRON_CHAIN_PREFIX, SOLANA_MAINNET, SOLANA_DEVNET, SOLANA_TESTNET, BITCOIN_MAINNET, BITCOIN_TESTNET, TRON_MAINNET, TRON_SHASTA, TRON_NILE, TRON_MAINNET_HEX, TRON_SHASTA_HEX, TRON_NILE_HEX, ALL_DEFAULT_NETWORKS, DEFAULT_SOLANA_POLL_INTERVAL, DEFAULT_BITCOIN_POLL_INTERVAL, DEFAULT_TRON_POLL_INTERVAL, DEFAULT_SNAP_POLL_INTERVAL, SNAP_REGISTRY, getSnapTypeForChain, isSnapSupportedChain, isSolanaChain, isBitcoinChain, isTronChain, } from "./data-sources/index.mjs";
|
|
13
|
+
export type { SnapType, SnapInfo, SnapDataSourceState, SnapDataSourceOptions, SnapProvider, SnapDataSourceActions, SnapDataSourceEvents, SnapDataSourceMessenger, } from "./data-sources/index.mjs";
|
|
14
14
|
export { TokenDataSource, PriceDataSource } from "./data-sources/index.mjs";
|
|
15
15
|
export type { TokenDataSourceActions, TokenDataSourceMessenger, PriceDataSourceActions, PriceDataSourceEvents, PriceDataSourceMessenger, } from "./data-sources/index.mjs";
|
|
16
16
|
export { DetectionMiddleware } from "./middlewares/index.mjs";
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,+BAA+B,GAChC,+BAA2B;AAG5B,YAAY,EACV,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,8BAA8B,EAC9B,+BAA+B,EAC/B,sCAAsC,EACtC,sCAAsC,EACtC,oCAAoC,EACpC,wCAAwC,EACxC,kCAAkC,EAClC,oCAAoC,EACpC,uCAAuC,EACvC,qCAAqC,EACrC,uBAAuB,EACvB,gCAAgC,EAChC,mCAAmC,EACnC,iCAAiC,EACjC,mCAAmC,EACnC,sBAAsB,GACvB,+BAA2B;AAG5B,YAAY,EAEV,aAAa,EACb,SAAS,EACT,OAAO,EAEP,SAAS,EACT,aAAa,EAEb,SAAS,EACT,cAAc,EACd,YAAY,EACZ,oBAAoB,EAEpB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EAEb,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,UAAU,EAEV,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EAEZ,QAAQ,EACR,WAAW,EACX,YAAY,EAEZ,OAAO,EACP,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,eAAe,EAEf,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EAEpB,KAAK,EAEL,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,oBAAgB;AAGjB,OAAO,EAAE,kBAAkB,EAAE,iCAAuB;AAEpD,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,iCAAuB;AAG3E,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAC5B,iCAAuB;AAExB,YAAY,EACV,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAC3B,8BAA8B,GAC/B,iCAAuB;AAGxB,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,GACjC,iCAAuB;AAExB,YAAY,EACV,iCAAiC,EACjC,+BAA+B,EAC/B,iCAAiC,EACjC,gCAAgC,EAChC,mCAAmC,EACnC,wCAAwC,EACxC,uCAAuC,GACxC,iCAAuB;AAGxB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,iCAAuB;AAEpE,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,GACvB,iCAAuB;AAGxB,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EAErB,
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -8,12 +8,20 @@ export { AccountsApiDataSource, createAccountsApiDataSource } from "./data-sourc
|
|
|
8
8
|
export { BackendWebsocketDataSource, createBackendWebsocketDataSource } from "./data-sources/index.mjs";
|
|
9
9
|
// Data sources - RPC
|
|
10
10
|
export { RpcDataSource, createRpcDataSource } from "./data-sources/index.mjs";
|
|
11
|
-
// Data sources - Unified Snap Data Source (
|
|
11
|
+
// Data sources - Unified Snap Data Source (handles Solana, Bitcoin, Tron)
|
|
12
12
|
export { SnapDataSource, createSnapDataSource, SNAP_DATA_SOURCE_NAME,
|
|
13
|
-
//
|
|
14
|
-
|
|
15
|
-
//
|
|
16
|
-
|
|
13
|
+
// Snap IDs
|
|
14
|
+
SOLANA_SNAP_ID, BITCOIN_SNAP_ID, TRON_SNAP_ID,
|
|
15
|
+
// Chain prefixes
|
|
16
|
+
SOLANA_CHAIN_PREFIX, BITCOIN_CHAIN_PREFIX, TRON_CHAIN_PREFIX,
|
|
17
|
+
// Networks
|
|
18
|
+
SOLANA_MAINNET, SOLANA_DEVNET, SOLANA_TESTNET, BITCOIN_MAINNET, BITCOIN_TESTNET, TRON_MAINNET, TRON_SHASTA, TRON_NILE, TRON_MAINNET_HEX, TRON_SHASTA_HEX, TRON_NILE_HEX, ALL_DEFAULT_NETWORKS,
|
|
19
|
+
// Poll intervals
|
|
20
|
+
DEFAULT_SOLANA_POLL_INTERVAL, DEFAULT_BITCOIN_POLL_INTERVAL, DEFAULT_TRON_POLL_INTERVAL, DEFAULT_SNAP_POLL_INTERVAL,
|
|
21
|
+
// Snap registry
|
|
22
|
+
SNAP_REGISTRY,
|
|
23
|
+
// Helper functions
|
|
24
|
+
getSnapTypeForChain, isSnapSupportedChain, isSolanaChain, isBitcoinChain, isTronChain } from "./data-sources/index.mjs";
|
|
17
25
|
// Enrichment data sources
|
|
18
26
|
export { TokenDataSource, PriceDataSource } from "./data-sources/index.mjs";
|
|
19
27
|
// Middlewares
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,OAAO,EACL,gBAAgB,EAChB,+BAA+B,EAChC,+BAA2B;AA+E5B,sCAAsC;AACtC,OAAO,EAAE,kBAAkB,EAAE,iCAAuB;AAIpD,6BAA6B;AAC7B,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC5B,iCAAuB;AAUxB,kCAAkC;AAClC,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EACjC,iCAAuB;AAYxB,qBAAqB;AACrB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,iCAAuB;AAUpE,
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,OAAO,EACL,gBAAgB,EAChB,+BAA+B,EAChC,+BAA2B;AA+E5B,sCAAsC;AACtC,OAAO,EAAE,kBAAkB,EAAE,iCAAuB;AAIpD,6BAA6B;AAC7B,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC5B,iCAAuB;AAUxB,kCAAkC;AAClC,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EACjC,iCAAuB;AAYxB,qBAAqB;AACrB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,iCAAuB;AAUpE,0EAA0E;AAC1E,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,qBAAqB;AACrB,WAAW;AACX,cAAc,EACd,eAAe,EACf,YAAY;AACZ,iBAAiB;AACjB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB;AACjB,WAAW;AACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,eAAe,EACf,eAAe,EACf,YAAY,EACZ,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,oBAAoB;AACpB,iBAAiB;AACjB,4BAA4B,EAC5B,6BAA6B,EAC7B,0BAA0B,EAC1B,0BAA0B;AAC1B,gBAAgB;AAChB,aAAa;AACb,mBAAmB;AACnB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,WAAW,EACZ,iCAAuB;AAaxB,0BAA0B;AAC1B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,iCAAuB;AAUlE,cAAc;AACd,OAAO,EAAE,mBAAmB,EAAE,gCAAsB;AAOpD,6BAA6B;AAC7B,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iCAAuB;AAcjE,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAE,oBAAgB","sourcesContent":["// Main controller export\nexport {\n AssetsController,\n getDefaultAssetsControllerState,\n} from './AssetsController';\n\n// State and messenger types\nexport type {\n AssetsControllerState,\n AssetsControllerMessenger,\n AssetsControllerOptions,\n AssetsControllerGetStateAction,\n AssetsControllerGetAssetsAction,\n AssetsControllerGetAssetsBalanceAction,\n AssetsControllerGetAssetMetadataAction,\n AssetsControllerGetAssetsPriceAction,\n AssetsControllerActiveChainsUpdateAction,\n AssetsControllerAssetsUpdateAction,\n AssetsControllerAddCustomAssetAction,\n AssetsControllerRemoveCustomAssetAction,\n AssetsControllerGetCustomAssetsAction,\n AssetsControllerActions,\n AssetsControllerStateChangeEvent,\n AssetsControllerBalanceChangedEvent,\n AssetsControllerPriceChangedEvent,\n AssetsControllerAssetsDetectedEvent,\n AssetsControllerEvents,\n} from './AssetsController';\n\n// Core types\nexport type {\n // CAIP types\n Caip19AssetId,\n AccountId,\n ChainId,\n // Asset types\n AssetType,\n TokenStandard,\n // Contract data types\n TokenFees,\n HoneypotStatus,\n StorageSlots,\n LocalizedDescription,\n // Metadata types\n BaseAssetMetadata,\n FungibleAssetMetadata,\n ERC721AssetMetadata,\n ERC1155AssetMetadata,\n AssetMetadata,\n // Price types\n BaseAssetPrice,\n FungibleAssetPrice,\n NFTAssetPrice,\n AssetPrice,\n // Balance types\n FungibleAssetBalance,\n ERC721AssetBalance,\n ERC1155AssetBalance,\n AssetBalance,\n // Data source types\n DataType,\n DataRequest,\n DataResponse,\n // Middleware types\n Context,\n NextFunction,\n Middleware,\n FetchContext,\n FetchNextFunction,\n FetchMiddleware,\n // Data source registration\n DataSourceDefinition,\n RegisteredDataSource,\n SubscriptionResponse,\n // Combined asset type\n Asset,\n // Event types\n BalanceChangeEvent,\n PriceChangeEvent,\n MetadataChangeEvent,\n AssetsDetectedEvent,\n} from './types';\n\n// Data sources - base class and types\nexport { AbstractDataSource } from './data-sources';\n\nexport type { DataSourceState, SubscriptionRequest } from './data-sources';\n\n// Data sources - AccountsApi\nexport {\n AccountsApiDataSource,\n createAccountsApiDataSource,\n} from './data-sources';\n\nexport type {\n AccountsApiDataSourceOptions,\n AccountsApiDataSourceState,\n AccountsApiDataSourceActions,\n AccountsApiDataSourceEvents,\n AccountsApiDataSourceMessenger,\n} from './data-sources';\n\n// Data sources - BackendWebsocket\nexport {\n BackendWebsocketDataSource,\n createBackendWebsocketDataSource,\n} from './data-sources';\n\nexport type {\n BackendWebsocketDataSourceOptions,\n BackendWebsocketDataSourceState,\n BackendWebsocketDataSourceActions,\n BackendWebsocketDataSourceEvents,\n BackendWebsocketDataSourceMessenger,\n BackendWebsocketDataSourceAllowedActions,\n BackendWebsocketDataSourceAllowedEvents,\n} from './data-sources';\n\n// Data sources - RPC\nexport { RpcDataSource, createRpcDataSource } from './data-sources';\n\nexport type {\n RpcDataSourceOptions,\n RpcDataSourceState,\n RpcDataSourceActions,\n RpcDataSourceEvents,\n RpcDataSourceMessenger,\n} from './data-sources';\n\n// Data sources - Unified Snap Data Source (handles Solana, Bitcoin, Tron)\nexport {\n SnapDataSource,\n createSnapDataSource,\n SNAP_DATA_SOURCE_NAME,\n // Snap IDs\n SOLANA_SNAP_ID,\n BITCOIN_SNAP_ID,\n TRON_SNAP_ID,\n // Chain prefixes\n SOLANA_CHAIN_PREFIX,\n BITCOIN_CHAIN_PREFIX,\n TRON_CHAIN_PREFIX,\n // Networks\n SOLANA_MAINNET,\n SOLANA_DEVNET,\n SOLANA_TESTNET,\n BITCOIN_MAINNET,\n BITCOIN_TESTNET,\n TRON_MAINNET,\n TRON_SHASTA,\n TRON_NILE,\n TRON_MAINNET_HEX,\n TRON_SHASTA_HEX,\n TRON_NILE_HEX,\n ALL_DEFAULT_NETWORKS,\n // Poll intervals\n DEFAULT_SOLANA_POLL_INTERVAL,\n DEFAULT_BITCOIN_POLL_INTERVAL,\n DEFAULT_TRON_POLL_INTERVAL,\n DEFAULT_SNAP_POLL_INTERVAL,\n // Snap registry\n SNAP_REGISTRY,\n // Helper functions\n getSnapTypeForChain,\n isSnapSupportedChain,\n isSolanaChain,\n isBitcoinChain,\n isTronChain,\n} from './data-sources';\n\nexport type {\n SnapType,\n SnapInfo,\n SnapDataSourceState,\n SnapDataSourceOptions,\n SnapProvider,\n SnapDataSourceActions,\n SnapDataSourceEvents,\n SnapDataSourceMessenger,\n} from './data-sources';\n\n// Enrichment data sources\nexport { TokenDataSource, PriceDataSource } from './data-sources';\n\nexport type {\n TokenDataSourceActions,\n TokenDataSourceMessenger,\n PriceDataSourceActions,\n PriceDataSourceEvents,\n PriceDataSourceMessenger,\n} from './data-sources';\n\n// Middlewares\nexport { DetectionMiddleware } from './middlewares';\n\nexport type {\n DetectionMiddlewareActions,\n DetectionMiddlewareMessenger,\n} from './middlewares';\n\n// Data source initialization\nexport { initMessengers, initDataSources } from './data-sources';\n\nexport type {\n DataSourceMessengers,\n DataSources,\n InitMessengersOptions,\n InitDataSourcesOptions,\n DataSourceActions,\n DataSourceEvents,\n DataSourceAllowedActions,\n DataSourceAllowedEvents,\n RootMessenger,\n} from './data-sources';\n\n// Utilities\nexport { normalizeAssetId } from './utils';\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metamask-previews/assets-controller",
|
|
3
|
-
"version": "0.0.0-preview-
|
|
3
|
+
"version": "0.0.0-preview-40468f94",
|
|
4
4
|
"description": "Tracks assets balances/prices and handles token detection across all digital assets",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"MetaMask",
|
|
@@ -54,17 +54,12 @@
|
|
|
54
54
|
"@metamask/base-controller": "^9.0.0",
|
|
55
55
|
"@metamask/controller-utils": "^11.18.0",
|
|
56
56
|
"@metamask/core-backend": "^5.0.0",
|
|
57
|
-
"@metamask/keyring-api": "^21.0.0",
|
|
58
57
|
"@metamask/keyring-controller": "^25.1.0",
|
|
59
58
|
"@metamask/keyring-internal-api": "^9.0.0",
|
|
60
|
-
"@metamask/keyring-snap-client": "^8.0.0",
|
|
61
59
|
"@metamask/messenger": "^0.3.0",
|
|
62
60
|
"@metamask/network-controller": "^29.0.0",
|
|
63
61
|
"@metamask/network-enablement-controller": "^4.1.0",
|
|
64
|
-
"@metamask/permission-controller": "^12.2.0",
|
|
65
62
|
"@metamask/polling-controller": "^16.0.2",
|
|
66
|
-
"@metamask/snaps-controllers": "^17.2.0",
|
|
67
|
-
"@metamask/snaps-utils": "^11.7.0",
|
|
68
63
|
"@metamask/utils": "^11.9.0",
|
|
69
64
|
"async-mutex": "^0.5.0",
|
|
70
65
|
"bignumber.js": "^9.1.2",
|