@metamask-previews/assets-controller 0.0.0-preview-3ec2a74 → 0.0.0-preview-6ae8a59c
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 +5 -0
- package/dist/data-sources/RpcDataSource.cjs +415 -186
- package/dist/data-sources/RpcDataSource.cjs.map +1 -1
- package/dist/data-sources/RpcDataSource.d.cts +115 -30
- package/dist/data-sources/RpcDataSource.d.cts.map +1 -1
- package/dist/data-sources/RpcDataSource.d.mts +115 -30
- package/dist/data-sources/RpcDataSource.d.mts.map +1 -1
- package/dist/data-sources/RpcDataSource.mjs +413 -185
- package/dist/data-sources/RpcDataSource.mjs.map +1 -1
- package/dist/data-sources/evm-rpc-services/clients/MulticallClient.cjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/clients/MulticallClient.d.cts.map +1 -0
- package/dist/data-sources/evm-rpc-services/clients/MulticallClient.d.mts.map +1 -0
- package/dist/data-sources/evm-rpc-services/clients/MulticallClient.mjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/clients/index.cjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/clients/index.d.cts.map +1 -0
- package/dist/data-sources/evm-rpc-services/clients/index.d.mts.map +1 -0
- package/dist/data-sources/evm-rpc-services/clients/index.mjs.map +1 -0
- package/dist/data-sources/{rpc-datasource → evm-rpc-services}/index.cjs +4 -1
- package/dist/data-sources/evm-rpc-services/index.cjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/index.d.cts +5 -0
- package/dist/data-sources/evm-rpc-services/index.d.cts.map +1 -0
- package/dist/data-sources/evm-rpc-services/index.d.mts +5 -0
- package/dist/data-sources/evm-rpc-services/index.d.mts.map +1 -0
- package/dist/data-sources/{rpc-datasource → evm-rpc-services}/index.mjs +1 -0
- package/dist/data-sources/evm-rpc-services/index.mjs.map +1 -0
- package/dist/data-sources/{rpc-datasource → evm-rpc-services}/services/BalanceFetcher.cjs +33 -3
- package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.cjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.cts +68 -0
- package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.cts.map +1 -0
- package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.mts +68 -0
- package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.mts.map +1 -0
- package/dist/data-sources/{rpc-datasource → evm-rpc-services}/services/BalanceFetcher.mjs +33 -3
- package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.mjs.map +1 -0
- package/dist/data-sources/{rpc-datasource → evm-rpc-services}/services/TokenDetector.cjs +33 -3
- package/dist/data-sources/evm-rpc-services/services/TokenDetector.cjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/services/TokenDetector.d.cts +66 -0
- package/dist/data-sources/evm-rpc-services/services/TokenDetector.d.cts.map +1 -0
- package/dist/data-sources/evm-rpc-services/services/TokenDetector.d.mts +66 -0
- package/dist/data-sources/evm-rpc-services/services/TokenDetector.d.mts.map +1 -0
- package/dist/data-sources/{rpc-datasource → evm-rpc-services}/services/TokenDetector.mjs +33 -3
- package/dist/data-sources/evm-rpc-services/services/TokenDetector.mjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/services/index.cjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/services/index.d.cts +3 -0
- package/dist/data-sources/evm-rpc-services/services/index.d.cts.map +1 -0
- package/dist/data-sources/evm-rpc-services/services/index.d.mts +3 -0
- package/dist/data-sources/evm-rpc-services/services/index.d.mts.map +1 -0
- package/dist/data-sources/evm-rpc-services/services/index.mjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/assets.cjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/assets.d.cts.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/assets.d.mts.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/assets.mjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/config.cjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/config.d.cts.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/config.d.mts.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/config.mjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/core.cjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/core.d.cts.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/core.d.mts.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/core.mjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/index.cjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/index.d.cts.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/index.d.mts.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/index.mjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/multicall.cjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/multicall.d.cts.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/multicall.d.mts.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/multicall.mjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/services.cjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/services.d.cts.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/services.d.mts.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/services.mjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/state.cjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/state.d.cts.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/state.d.mts.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/state.mjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/utils/batch.cjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/utils/batch.d.cts.map +1 -0
- package/dist/data-sources/evm-rpc-services/utils/batch.d.mts.map +1 -0
- package/dist/data-sources/evm-rpc-services/utils/batch.mjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/utils/index.cjs.map +1 -0
- package/dist/data-sources/evm-rpc-services/utils/index.d.cts.map +1 -0
- package/dist/data-sources/evm-rpc-services/utils/index.d.mts.map +1 -0
- package/dist/data-sources/evm-rpc-services/utils/index.mjs.map +1 -0
- package/dist/data-sources/initDataSources.cjs +5 -1
- package/dist/data-sources/initDataSources.cjs.map +1 -1
- package/dist/data-sources/initDataSources.d.cts +15 -0
- package/dist/data-sources/initDataSources.d.cts.map +1 -1
- package/dist/data-sources/initDataSources.d.mts +15 -0
- package/dist/data-sources/initDataSources.d.mts.map +1 -1
- package/dist/data-sources/initDataSources.mjs +5 -1
- package/dist/data-sources/initDataSources.mjs.map +1 -1
- package/package.json +5 -2
- package/dist/data-sources/rpc-datasource/clients/MulticallClient.cjs.map +0 -1
- package/dist/data-sources/rpc-datasource/clients/MulticallClient.d.cts.map +0 -1
- package/dist/data-sources/rpc-datasource/clients/MulticallClient.d.mts.map +0 -1
- package/dist/data-sources/rpc-datasource/clients/MulticallClient.mjs.map +0 -1
- package/dist/data-sources/rpc-datasource/clients/index.cjs.map +0 -1
- package/dist/data-sources/rpc-datasource/clients/index.d.cts.map +0 -1
- package/dist/data-sources/rpc-datasource/clients/index.d.mts.map +0 -1
- package/dist/data-sources/rpc-datasource/clients/index.mjs.map +0 -1
- package/dist/data-sources/rpc-datasource/index.cjs.map +0 -1
- package/dist/data-sources/rpc-datasource/index.d.cts +0 -4
- package/dist/data-sources/rpc-datasource/index.d.cts.map +0 -1
- package/dist/data-sources/rpc-datasource/index.d.mts +0 -4
- package/dist/data-sources/rpc-datasource/index.d.mts.map +0 -1
- package/dist/data-sources/rpc-datasource/index.mjs.map +0 -1
- package/dist/data-sources/rpc-datasource/services/BalanceFetcher.cjs.map +0 -1
- package/dist/data-sources/rpc-datasource/services/BalanceFetcher.d.cts +0 -16
- package/dist/data-sources/rpc-datasource/services/BalanceFetcher.d.cts.map +0 -1
- package/dist/data-sources/rpc-datasource/services/BalanceFetcher.d.mts +0 -16
- package/dist/data-sources/rpc-datasource/services/BalanceFetcher.d.mts.map +0 -1
- package/dist/data-sources/rpc-datasource/services/BalanceFetcher.mjs.map +0 -1
- package/dist/data-sources/rpc-datasource/services/TokenDetector.cjs.map +0 -1
- package/dist/data-sources/rpc-datasource/services/TokenDetector.d.cts +0 -14
- package/dist/data-sources/rpc-datasource/services/TokenDetector.d.cts.map +0 -1
- package/dist/data-sources/rpc-datasource/services/TokenDetector.d.mts +0 -14
- package/dist/data-sources/rpc-datasource/services/TokenDetector.d.mts.map +0 -1
- package/dist/data-sources/rpc-datasource/services/TokenDetector.mjs.map +0 -1
- package/dist/data-sources/rpc-datasource/services/index.cjs.map +0 -1
- package/dist/data-sources/rpc-datasource/services/index.d.cts +0 -3
- package/dist/data-sources/rpc-datasource/services/index.d.cts.map +0 -1
- package/dist/data-sources/rpc-datasource/services/index.d.mts +0 -3
- package/dist/data-sources/rpc-datasource/services/index.d.mts.map +0 -1
- package/dist/data-sources/rpc-datasource/services/index.mjs.map +0 -1
- package/dist/data-sources/rpc-datasource/types/assets.cjs.map +0 -1
- package/dist/data-sources/rpc-datasource/types/assets.d.cts.map +0 -1
- package/dist/data-sources/rpc-datasource/types/assets.d.mts.map +0 -1
- package/dist/data-sources/rpc-datasource/types/assets.mjs.map +0 -1
- package/dist/data-sources/rpc-datasource/types/config.cjs.map +0 -1
- package/dist/data-sources/rpc-datasource/types/config.d.cts.map +0 -1
- package/dist/data-sources/rpc-datasource/types/config.d.mts.map +0 -1
- package/dist/data-sources/rpc-datasource/types/config.mjs.map +0 -1
- package/dist/data-sources/rpc-datasource/types/core.cjs.map +0 -1
- package/dist/data-sources/rpc-datasource/types/core.d.cts.map +0 -1
- package/dist/data-sources/rpc-datasource/types/core.d.mts.map +0 -1
- package/dist/data-sources/rpc-datasource/types/core.mjs.map +0 -1
- package/dist/data-sources/rpc-datasource/types/index.cjs.map +0 -1
- package/dist/data-sources/rpc-datasource/types/index.d.cts.map +0 -1
- package/dist/data-sources/rpc-datasource/types/index.d.mts.map +0 -1
- package/dist/data-sources/rpc-datasource/types/index.mjs.map +0 -1
- package/dist/data-sources/rpc-datasource/types/multicall.cjs.map +0 -1
- package/dist/data-sources/rpc-datasource/types/multicall.d.cts.map +0 -1
- package/dist/data-sources/rpc-datasource/types/multicall.d.mts.map +0 -1
- package/dist/data-sources/rpc-datasource/types/multicall.mjs.map +0 -1
- package/dist/data-sources/rpc-datasource/types/services.cjs.map +0 -1
- package/dist/data-sources/rpc-datasource/types/services.d.cts.map +0 -1
- package/dist/data-sources/rpc-datasource/types/services.d.mts.map +0 -1
- package/dist/data-sources/rpc-datasource/types/services.mjs.map +0 -1
- package/dist/data-sources/rpc-datasource/types/state.cjs.map +0 -1
- package/dist/data-sources/rpc-datasource/types/state.d.cts.map +0 -1
- package/dist/data-sources/rpc-datasource/types/state.d.mts.map +0 -1
- package/dist/data-sources/rpc-datasource/types/state.mjs.map +0 -1
- package/dist/data-sources/rpc-datasource/utils/batch.cjs.map +0 -1
- package/dist/data-sources/rpc-datasource/utils/batch.d.cts.map +0 -1
- package/dist/data-sources/rpc-datasource/utils/batch.d.mts.map +0 -1
- package/dist/data-sources/rpc-datasource/utils/batch.mjs.map +0 -1
- package/dist/data-sources/rpc-datasource/utils/index.cjs.map +0 -1
- package/dist/data-sources/rpc-datasource/utils/index.d.cts.map +0 -1
- package/dist/data-sources/rpc-datasource/utils/index.d.mts.map +0 -1
- package/dist/data-sources/rpc-datasource/utils/index.mjs.map +0 -1
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/clients/MulticallClient.cjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/clients/MulticallClient.d.cts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/clients/MulticallClient.d.mts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/clients/MulticallClient.mjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/clients/index.cjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/clients/index.d.cts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/clients/index.d.mts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/clients/index.mjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/services/index.cjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/services/index.mjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/assets.cjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/assets.d.cts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/assets.d.mts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/assets.mjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/config.cjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/config.d.cts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/config.d.mts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/config.mjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/core.cjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/core.d.cts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/core.d.mts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/core.mjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/index.cjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/index.d.cts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/index.d.mts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/index.mjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/multicall.cjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/multicall.d.cts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/multicall.d.mts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/multicall.mjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/services.cjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/services.d.cts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/services.d.mts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/services.mjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/state.cjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/state.d.cts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/state.d.mts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/state.mjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/utils/batch.cjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/utils/batch.d.cts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/utils/batch.d.mts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/utils/batch.mjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/utils/index.cjs +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/utils/index.d.cts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/utils/index.d.mts +0 -0
- /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/utils/index.mjs +0 -0
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import type { ControllerGetStateAction, ControllerStateChangeEvent } from "@metamask/base-controller";
|
|
2
|
+
import { BaseController } from "@metamask/base-controller";
|
|
3
|
+
import type { InternalAccount } from "@metamask/keyring-internal-api";
|
|
1
4
|
import type { Messenger } from "@metamask/messenger";
|
|
2
5
|
import type { NetworkState, NetworkStatus } from "@metamask/network-controller";
|
|
3
|
-
import {
|
|
4
|
-
import type {
|
|
6
|
+
import type { Hex } from "@metamask/utils";
|
|
7
|
+
import type { SubscriptionRequest } from "./AbstractDataSource.mjs";
|
|
5
8
|
import type { ChainId, DataRequest, DataResponse, Middleware } from "../types.mjs";
|
|
6
9
|
declare const CONTROLLER_NAME = "RpcDataSource";
|
|
7
10
|
export type RpcDataSourceGetAssetsMiddlewareAction = {
|
|
@@ -24,7 +27,8 @@ export type RpcDataSourceUnsubscribeAction = {
|
|
|
24
27
|
type: 'RpcDataSource:unsubscribe';
|
|
25
28
|
handler: (subscriptionId: string) => Promise<void>;
|
|
26
29
|
};
|
|
27
|
-
export type
|
|
30
|
+
export type RpcDataSourceGetStateAction = ControllerGetStateAction<typeof CONTROLLER_NAME, RpcDataSourceState>;
|
|
31
|
+
export type RpcDataSourceActions = RpcDataSourceGetStateAction | RpcDataSourceGetAssetsMiddlewareAction | RpcDataSourceGetActiveChainsAction | RpcDataSourceFetchAction | RpcDataSourceSubscribeAction | RpcDataSourceUnsubscribeAction;
|
|
28
32
|
export type RpcDataSourceActiveChainsChangedEvent = {
|
|
29
33
|
type: 'RpcDataSource:activeChainsUpdated';
|
|
30
34
|
payload: [ChainId[]];
|
|
@@ -33,7 +37,8 @@ export type RpcDataSourceAssetsUpdatedEvent = {
|
|
|
33
37
|
type: 'RpcDataSource:assetsUpdated';
|
|
34
38
|
payload: [DataResponse, string | undefined];
|
|
35
39
|
};
|
|
36
|
-
export type
|
|
40
|
+
export type RpcDataSourceStateChangeEvent = ControllerStateChangeEvent<typeof CONTROLLER_NAME, RpcDataSourceState>;
|
|
41
|
+
export type RpcDataSourceEvents = RpcDataSourceStateChangeEvent | RpcDataSourceActiveChainsChangedEvent | RpcDataSourceAssetsUpdatedEvent;
|
|
37
42
|
export type NetworkControllerGetStateAction = {
|
|
38
43
|
type: 'NetworkController:getState';
|
|
39
44
|
handler: () => NetworkState;
|
|
@@ -71,7 +76,35 @@ type AssetsControllerAssetsUpdateAction = {
|
|
|
71
76
|
type: 'AssetsController:assetsUpdate';
|
|
72
77
|
handler: (response: DataResponse, sourceId: string) => Promise<void>;
|
|
73
78
|
};
|
|
74
|
-
|
|
79
|
+
type TokenListControllerGetStateAction = {
|
|
80
|
+
type: 'TokenListController:getState';
|
|
81
|
+
handler: () => {
|
|
82
|
+
tokensChainsCache: Record<string, {
|
|
83
|
+
timestamp: number;
|
|
84
|
+
data: Record<string, unknown>;
|
|
85
|
+
}>;
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
type AssetsControllerGetStateAction = {
|
|
89
|
+
type: 'AssetsController:getState';
|
|
90
|
+
handler: () => {
|
|
91
|
+
allTokens: Record<string, Record<string, {
|
|
92
|
+
address: string;
|
|
93
|
+
}[]>>;
|
|
94
|
+
allDetectedTokens: Record<string, Record<string, {
|
|
95
|
+
address: string;
|
|
96
|
+
}[]>>;
|
|
97
|
+
allIgnoredTokens: Record<string, Record<string, string[]>>;
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
type NetworkEnablementControllerGetStateAction = {
|
|
101
|
+
type: 'NetworkEnablementController:getState';
|
|
102
|
+
handler: () => {
|
|
103
|
+
enabledNetworkMap: Record<string, Record<string, boolean>>;
|
|
104
|
+
nativeAssetIdentifiers: Record<string, string>;
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
export type RpcDataSourceAllowedActions = NetworkControllerGetStateAction | NetworkControllerGetNetworkClientByIdAction | AssetsControllerActiveChainsUpdateAction | AssetsControllerAssetsUpdateAction | AssetsControllerGetStateAction | TokenListControllerGetStateAction | NetworkEnablementControllerGetStateAction;
|
|
75
108
|
export type RpcDataSourceAllowedEvents = NetworkControllerStateChangeEvent;
|
|
76
109
|
export type RpcDataSourceMessenger = Messenger<typeof CONTROLLER_NAME, RpcDataSourceActions | RpcDataSourceAllowedActions, RpcDataSourceEvents | RpcDataSourceAllowedEvents>;
|
|
77
110
|
/** Network status for each chain */
|
|
@@ -83,22 +116,31 @@ export type ChainStatus = {
|
|
|
83
116
|
/** Network client ID for getting the provider */
|
|
84
117
|
networkClientId: string;
|
|
85
118
|
};
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
chainStatuses: Record<ChainId, ChainStatus>;
|
|
89
|
-
} & DataSourceState;
|
|
119
|
+
/** RpcDataSource is stateless */
|
|
120
|
+
export type RpcDataSourceState = Record<never, never>;
|
|
90
121
|
export type RpcDataSourceOptions = {
|
|
91
122
|
messenger: RpcDataSourceMessenger;
|
|
92
123
|
/** Request timeout in ms */
|
|
93
124
|
timeout?: number;
|
|
94
|
-
/**
|
|
95
|
-
|
|
96
|
-
|
|
125
|
+
/** Balance polling interval in ms (default: 30s) */
|
|
126
|
+
balanceInterval?: number;
|
|
127
|
+
/** Token detection polling interval in ms (default: 180s / 3 min) */
|
|
128
|
+
detectionInterval?: number;
|
|
129
|
+
/** Whether token detection is enabled */
|
|
130
|
+
tokenDetectionEnabled?: boolean;
|
|
97
131
|
};
|
|
132
|
+
/**
|
|
133
|
+
* Convert CAIP chain ID or hex chain ID to hex chain ID.
|
|
134
|
+
*
|
|
135
|
+
* @param chainId - CAIP chain ID or hex chain ID.
|
|
136
|
+
* @returns Hex chain ID.
|
|
137
|
+
*/
|
|
138
|
+
export declare const caipChainIdToHex: (chainId: string) => Hex;
|
|
98
139
|
/**
|
|
99
140
|
* Data source for fetching balances via RPC calls.
|
|
100
141
|
*
|
|
101
|
-
*
|
|
142
|
+
* Orchestrates polling through BalanceFetcher and TokenDetector,
|
|
143
|
+
* each of which handle their own polling intervals.
|
|
102
144
|
*
|
|
103
145
|
* Communicates with AssetsController via Messenger:
|
|
104
146
|
*
|
|
@@ -112,9 +154,21 @@ export type RpcDataSourceOptions = {
|
|
|
112
154
|
* - RpcDataSource:activeChainsUpdated
|
|
113
155
|
* - RpcDataSource:assetsUpdated
|
|
114
156
|
*/
|
|
115
|
-
export declare class RpcDataSource extends
|
|
157
|
+
export declare class RpcDataSource extends BaseController<typeof CONTROLLER_NAME, RpcDataSourceState, RpcDataSourceMessenger> {
|
|
116
158
|
#private;
|
|
117
159
|
constructor(options: RpcDataSourceOptions);
|
|
160
|
+
/**
|
|
161
|
+
* Get the data source name.
|
|
162
|
+
*
|
|
163
|
+
* @returns The name of this data source.
|
|
164
|
+
*/
|
|
165
|
+
getName(): string;
|
|
166
|
+
/**
|
|
167
|
+
* Get currently active chains.
|
|
168
|
+
*
|
|
169
|
+
* @returns Promise resolving to array of active chain IDs.
|
|
170
|
+
*/
|
|
171
|
+
getActiveChains(): Promise<ChainId[]>;
|
|
118
172
|
/**
|
|
119
173
|
* Get the status of all configured chains.
|
|
120
174
|
*
|
|
@@ -124,31 +178,62 @@ export declare class RpcDataSource extends AbstractDataSource<typeof CONTROLLER_
|
|
|
124
178
|
/**
|
|
125
179
|
* Get the status of a specific chain.
|
|
126
180
|
*
|
|
127
|
-
* @param chainId - The
|
|
128
|
-
* @returns The chain status
|
|
181
|
+
* @param chainId - The chain ID to get status for.
|
|
182
|
+
* @returns The chain status or undefined if not found.
|
|
129
183
|
*/
|
|
130
184
|
getChainStatus(chainId: ChainId): ChainStatus | undefined;
|
|
185
|
+
/**
|
|
186
|
+
* Set the balance polling interval.
|
|
187
|
+
*
|
|
188
|
+
* @param interval - The polling interval in milliseconds.
|
|
189
|
+
*/
|
|
190
|
+
setBalancePollingInterval(interval: number): void;
|
|
191
|
+
/**
|
|
192
|
+
* Get the current balance polling interval.
|
|
193
|
+
*
|
|
194
|
+
* @returns The polling interval in milliseconds, or undefined if not set.
|
|
195
|
+
*/
|
|
196
|
+
getBalancePollingInterval(): number | undefined;
|
|
197
|
+
/**
|
|
198
|
+
* Set the token detection polling interval.
|
|
199
|
+
*
|
|
200
|
+
* @param interval - The polling interval in milliseconds.
|
|
201
|
+
*/
|
|
202
|
+
setDetectionPollingInterval(interval: number): void;
|
|
203
|
+
/**
|
|
204
|
+
* Get the current token detection polling interval.
|
|
205
|
+
*
|
|
206
|
+
* @returns The polling interval in milliseconds, or undefined if not set.
|
|
207
|
+
*/
|
|
208
|
+
getDetectionPollingInterval(): number | undefined;
|
|
131
209
|
fetch(request: DataRequest): Promise<DataResponse>;
|
|
132
210
|
/**
|
|
133
|
-
*
|
|
134
|
-
* This middleware:
|
|
135
|
-
* - Supports multiple accounts in a single request
|
|
136
|
-
* - Filters request to only chains this data source supports
|
|
137
|
-
* - Fetches balances for those chains for all accounts
|
|
138
|
-
* - Merges response into context
|
|
139
|
-
* - Removes handled chains from request for next middleware
|
|
211
|
+
* Run token detection for an account on a chain.
|
|
140
212
|
*
|
|
141
|
-
* @
|
|
213
|
+
* @param chainId - The chain ID to detect tokens on.
|
|
214
|
+
* @param account - The account to detect tokens for.
|
|
215
|
+
* @returns Promise resolving to a DataResponse with detected assets.
|
|
142
216
|
*/
|
|
217
|
+
detectTokens(chainId: ChainId, account: InternalAccount): Promise<DataResponse>;
|
|
143
218
|
get assetsMiddleware(): Middleware;
|
|
219
|
+
/**
|
|
220
|
+
* Subscribe to updates for the given request.
|
|
221
|
+
* Starts polling through BalanceFetcher and TokenDetector.
|
|
222
|
+
*
|
|
223
|
+
* @param subscriptionRequest - The subscription request details.
|
|
224
|
+
*/
|
|
144
225
|
subscribe(subscriptionRequest: SubscriptionRequest): Promise<void>;
|
|
226
|
+
/**
|
|
227
|
+
* Unsubscribe from updates and stop polling.
|
|
228
|
+
*
|
|
229
|
+
* @param subscriptionId - The subscription ID to unsubscribe.
|
|
230
|
+
*/
|
|
231
|
+
unsubscribe(subscriptionId: string): Promise<void>;
|
|
232
|
+
/**
|
|
233
|
+
* Destroy the data source and clean up resources.
|
|
234
|
+
*/
|
|
235
|
+
destroy(): void;
|
|
145
236
|
}
|
|
146
|
-
/**
|
|
147
|
-
* Creates an RpcDataSource instance.
|
|
148
|
-
*
|
|
149
|
-
* @param options - Configuration options for the data source.
|
|
150
|
-
* @returns A new RpcDataSource instance.
|
|
151
|
-
*/
|
|
152
237
|
export declare function createRpcDataSource(options: RpcDataSourceOptions): RpcDataSource;
|
|
153
238
|
export {};
|
|
154
239
|
//# sourceMappingURL=RpcDataSource.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RpcDataSource.d.mts","sourceRoot":"","sources":["../../src/data-sources/RpcDataSource.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RpcDataSource.d.mts","sourceRoot":"","sources":["../../src/data-sources/RpcDataSource.ts"],"names":[],"mappings":"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"}
|