@metamask-previews/assets-controllers 93.1.0-preview-aabe1c65 → 93.1.0-preview-c92c27f1
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 +9 -0
- package/dist/TokenBalancesController.cjs +337 -377
- package/dist/TokenBalancesController.cjs.map +1 -1
- package/dist/TokenBalancesController.d.cts +17 -38
- package/dist/TokenBalancesController.d.cts.map +1 -1
- package/dist/TokenBalancesController.d.mts +17 -38
- package/dist/TokenBalancesController.d.mts.map +1 -1
- package/dist/TokenBalancesController.mjs +337 -377
- package/dist/TokenBalancesController.mjs.map +1 -1
- package/dist/TokenDetectionController.cjs +44 -205
- package/dist/TokenDetectionController.cjs.map +1 -1
- package/dist/TokenDetectionController.d.cts +12 -10
- package/dist/TokenDetectionController.d.cts.map +1 -1
- package/dist/TokenDetectionController.d.mts +12 -10
- package/dist/TokenDetectionController.d.mts.map +1 -1
- package/dist/TokenDetectionController.mjs +45 -206
- package/dist/TokenDetectionController.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import type { AccountsControllerGetSelectedAccountAction, AccountsControllerListAccountsAction, AccountsControllerSelectedEvmAccountChangeEvent } from "@metamask/accounts-controller";
|
|
2
2
|
import type { ControllerGetStateAction, ControllerStateChangeEvent } from "@metamask/base-controller";
|
|
3
3
|
import type { AccountActivityServiceBalanceUpdatedEvent, AccountActivityServiceStatusChangedEvent } from "@metamask/core-backend";
|
|
4
|
-
import type { KeyringControllerAccountRemovedEvent } from "@metamask/keyring-controller";
|
|
4
|
+
import type { KeyringControllerAccountRemovedEvent, KeyringControllerGetStateAction, KeyringControllerLockEvent, KeyringControllerUnlockEvent } from "@metamask/keyring-controller";
|
|
5
5
|
import type { Messenger } from "@metamask/messenger";
|
|
6
6
|
import type { NetworkControllerGetNetworkClientByIdAction, NetworkControllerGetStateAction, NetworkControllerStateChangeEvent } from "@metamask/network-controller";
|
|
7
7
|
import type { PreferencesControllerGetStateAction, PreferencesControllerStateChangeEvent } from "@metamask/preferences-controller";
|
|
8
8
|
import type { AuthenticationController } from "@metamask/profile-sync-controller";
|
|
9
|
+
import type { TransactionControllerIncomingTransactionsReceivedEvent, TransactionControllerTransactionConfirmedEvent } from "@metamask/transaction-controller";
|
|
9
10
|
import type { Hex } from "@metamask/utils";
|
|
10
11
|
import type { AccountTrackerControllerGetStateAction, AccountTrackerUpdateNativeBalancesAction, AccountTrackerUpdateStakedBalancesAction } from "./AccountTrackerController.mjs";
|
|
11
|
-
import type { TokenDetectionControllerAddDetectedTokensViaWsAction } from "./TokenDetectionController.mjs";
|
|
12
|
+
import type { TokenDetectionControllerAddDetectedTokensViaWsAction, TokenDetectionControllerDetectTokensAction } from "./TokenDetectionController.mjs";
|
|
12
13
|
import type { TokensControllerGetStateAction, TokensControllerStateChangeEvent } from "./TokensController.mjs";
|
|
13
14
|
export type ChainIdHex = Hex;
|
|
14
15
|
export type ChecksumAddress = Hex;
|
|
@@ -33,8 +34,8 @@ export type NativeBalanceEvent = {
|
|
|
33
34
|
payload: unknown[];
|
|
34
35
|
};
|
|
35
36
|
export type TokenBalancesControllerEvents = TokenBalancesControllerStateChangeEvent | NativeBalanceEvent;
|
|
36
|
-
export type AllowedActions = NetworkControllerGetNetworkClientByIdAction | NetworkControllerGetStateAction | TokensControllerGetStateAction | TokenDetectionControllerAddDetectedTokensViaWsAction | PreferencesControllerGetStateAction | AccountsControllerGetSelectedAccountAction | AccountsControllerListAccountsAction | AccountTrackerControllerGetStateAction | AccountTrackerUpdateNativeBalancesAction | AccountTrackerUpdateStakedBalancesAction | AuthenticationController.AuthenticationControllerGetBearerToken;
|
|
37
|
-
export type AllowedEvents = TokensControllerStateChangeEvent | PreferencesControllerStateChangeEvent | NetworkControllerStateChangeEvent | KeyringControllerAccountRemovedEvent | AccountActivityServiceBalanceUpdatedEvent | AccountActivityServiceStatusChangedEvent | AccountsControllerSelectedEvmAccountChangeEvent;
|
|
37
|
+
export type AllowedActions = NetworkControllerGetNetworkClientByIdAction | NetworkControllerGetStateAction | TokensControllerGetStateAction | TokenDetectionControllerAddDetectedTokensViaWsAction | TokenDetectionControllerDetectTokensAction | PreferencesControllerGetStateAction | AccountsControllerGetSelectedAccountAction | AccountsControllerListAccountsAction | AccountTrackerControllerGetStateAction | AccountTrackerUpdateNativeBalancesAction | AccountTrackerUpdateStakedBalancesAction | KeyringControllerGetStateAction | AuthenticationController.AuthenticationControllerGetBearerToken;
|
|
38
|
+
export type AllowedEvents = TokensControllerStateChangeEvent | PreferencesControllerStateChangeEvent | NetworkControllerStateChangeEvent | KeyringControllerAccountRemovedEvent | KeyringControllerLockEvent | KeyringControllerUnlockEvent | AccountActivityServiceBalanceUpdatedEvent | AccountActivityServiceStatusChangedEvent | AccountsControllerSelectedEvmAccountChangeEvent | TransactionControllerTransactionConfirmedEvent | TransactionControllerIncomingTransactionsReceivedEvent;
|
|
38
39
|
export type TokenBalancesControllerMessenger = Messenger<typeof CONTROLLER, TokenBalancesControllerActions | AllowedActions, TokenBalancesControllerEvents | AllowedEvents>;
|
|
39
40
|
export type ChainPollingConfig = {
|
|
40
41
|
/** Polling interval in milliseconds for this chain */
|
|
@@ -64,20 +65,17 @@ export type TokenBalancesControllerOptions = {
|
|
|
64
65
|
websocketActivePollingInterval?: number;
|
|
65
66
|
};
|
|
66
67
|
/**
|
|
67
|
-
* Convert CAIP chain ID or hex chain ID to hex chain ID
|
|
68
|
-
* Handles both CAIP-2 format (e.g., "eip155:1") and hex format (e.g., "0x1")
|
|
68
|
+
* Convert CAIP chain ID or hex chain ID to hex chain ID.
|
|
69
69
|
*
|
|
70
|
-
* @param chainId - CAIP chain ID
|
|
71
|
-
* @returns Hex chain ID
|
|
72
|
-
* @throws {Error} If chainId is neither a valid CAIP-2 chain ID nor a hex string
|
|
70
|
+
* @param chainId - CAIP chain ID or hex chain ID.
|
|
71
|
+
* @returns Hex chain ID.
|
|
73
72
|
*/
|
|
74
73
|
export declare const caipChainIdToHex: (chainId: string) => ChainIdHex;
|
|
75
74
|
/**
|
|
76
|
-
* Extract token address from asset type
|
|
77
|
-
* Returns tuple of [tokenAddress, isNativeToken] or null if invalid
|
|
75
|
+
* Extract token address from asset type.
|
|
78
76
|
*
|
|
79
|
-
* @param assetType - Asset type string
|
|
80
|
-
* @returns Tuple of [tokenAddress, isNativeToken] or null if invalid
|
|
77
|
+
* @param assetType - Asset type string.
|
|
78
|
+
* @returns Tuple of [tokenAddress, isNativeToken] or null if invalid.
|
|
81
79
|
*/
|
|
82
80
|
export declare const parseAssetType: (assetType: string) => [
|
|
83
81
|
string,
|
|
@@ -114,47 +112,28 @@ export declare class TokenBalancesController extends TokenBalancesController_bas
|
|
|
114
112
|
#private;
|
|
115
113
|
constructor({ messenger, interval, websocketActivePollingInterval, chainPollingIntervals, state, queryMultipleAccounts, accountsApiChainIds, allowExternalServices, platform, }: TokenBalancesControllerOptions);
|
|
116
114
|
/**
|
|
117
|
-
*
|
|
115
|
+
* Whether the controller is active (keyring is unlocked).
|
|
116
|
+
* When locked, balance updates should be skipped.
|
|
118
117
|
*
|
|
119
|
-
* @
|
|
120
|
-
* @param options0.chainIds - Chain IDs to start polling for
|
|
118
|
+
* @returns Whether the keyring is unlocked.
|
|
121
119
|
*/
|
|
120
|
+
get isActive(): boolean;
|
|
122
121
|
_startPolling({ chainIds }: {
|
|
123
122
|
chainIds: ChainIdHex[];
|
|
124
123
|
}): void;
|
|
125
|
-
/**
|
|
126
|
-
* Override to handle our custom polling approach
|
|
127
|
-
*
|
|
128
|
-
* @param tokenSetId - The token set ID to stop polling for
|
|
129
|
-
*/
|
|
130
124
|
_stopPollingByPollingTokenSetId(tokenSetId: string): void;
|
|
131
|
-
/**
|
|
132
|
-
* Get polling configuration for a chain (includes default fallback)
|
|
133
|
-
*
|
|
134
|
-
* @param chainId - The chain ID to get config for
|
|
135
|
-
* @returns The polling configuration for the chain
|
|
136
|
-
*/
|
|
137
125
|
getChainPollingConfig(chainId: ChainIdHex): ChainPollingConfig;
|
|
138
126
|
_executePoll({ chainIds, queryAllAccounts, }: {
|
|
139
127
|
chainIds: ChainIdHex[];
|
|
140
128
|
queryAllAccounts?: boolean;
|
|
141
129
|
}): Promise<void>;
|
|
142
|
-
/**
|
|
143
|
-
* Update multiple chain polling configurations at once
|
|
144
|
-
*
|
|
145
|
-
* @param configs - Object mapping chain IDs to polling configurations
|
|
146
|
-
* @param options - Optional configuration for the update behavior
|
|
147
|
-
* @param options.immediateUpdate - Whether to immediately fetch balances after updating configs (default: true)
|
|
148
|
-
*/
|
|
149
130
|
updateChainPollingConfigs(configs: Record<ChainIdHex, ChainPollingConfig>, options?: UpdateChainPollingConfigsOptions): void;
|
|
150
|
-
updateBalances({ chainIds, queryAllAccounts, }?: {
|
|
131
|
+
updateBalances({ chainIds, tokenAddresses, queryAllAccounts, }?: {
|
|
151
132
|
chainIds?: ChainIdHex[];
|
|
133
|
+
tokenAddresses?: string[];
|
|
152
134
|
queryAllAccounts?: boolean;
|
|
153
135
|
}): Promise<void>;
|
|
154
136
|
resetState(): void;
|
|
155
|
-
/**
|
|
156
|
-
* Clean up all timers and resources when controller is destroyed
|
|
157
|
-
*/
|
|
158
137
|
destroy(): void;
|
|
159
138
|
}
|
|
160
139
|
export default TokenBalancesController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenBalancesController.d.mts","sourceRoot":"","sources":["../src/TokenBalancesController.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,0CAA0C,EAC1C,oCAAoC,EACpC,+CAA+C,EAChD,sCAAsC;AACvC,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAE3B,kCAAkC;AAQnC,OAAO,KAAK,EAEV,yCAAyC,EACzC,wCAAwC,EACzC,+BAA+B;AAChC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"TokenBalancesController.d.mts","sourceRoot":"","sources":["../src/TokenBalancesController.ts"],"names":[],"mappings":"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"}
|