@metamask-previews/assets-controllers 93.1.0-preview-c92c27f1 → 93.1.0-preview-d717276a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/CHANGELOG.md +8 -10
  2. package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.cjs +14 -9
  3. package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.cjs.map +1 -1
  4. package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.d.cts.map +1 -1
  5. package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.d.mts.map +1 -1
  6. package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.mjs +14 -9
  7. package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.mjs.map +1 -1
  8. package/dist/NftDetectionController.cjs +10 -6
  9. package/dist/NftDetectionController.cjs.map +1 -1
  10. package/dist/NftDetectionController.d.cts +4 -0
  11. package/dist/NftDetectionController.d.cts.map +1 -1
  12. package/dist/NftDetectionController.d.mts +4 -0
  13. package/dist/NftDetectionController.d.mts.map +1 -1
  14. package/dist/NftDetectionController.mjs +10 -6
  15. package/dist/NftDetectionController.mjs.map +1 -1
  16. package/dist/Standards/NftStandards/ERC721/ERC721Standard.cjs +1 -1
  17. package/dist/Standards/NftStandards/ERC721/ERC721Standard.cjs.map +1 -1
  18. package/dist/Standards/NftStandards/ERC721/ERC721Standard.mjs +1 -1
  19. package/dist/Standards/NftStandards/ERC721/ERC721Standard.mjs.map +1 -1
  20. package/dist/TokenBalancesController.cjs +377 -337
  21. package/dist/TokenBalancesController.cjs.map +1 -1
  22. package/dist/TokenBalancesController.d.cts +38 -17
  23. package/dist/TokenBalancesController.d.cts.map +1 -1
  24. package/dist/TokenBalancesController.d.mts +38 -17
  25. package/dist/TokenBalancesController.d.mts.map +1 -1
  26. package/dist/TokenBalancesController.mjs +377 -337
  27. package/dist/TokenBalancesController.mjs.map +1 -1
  28. package/dist/TokenDetectionController.cjs +205 -44
  29. package/dist/TokenDetectionController.cjs.map +1 -1
  30. package/dist/TokenDetectionController.d.cts +10 -12
  31. package/dist/TokenDetectionController.d.cts.map +1 -1
  32. package/dist/TokenDetectionController.d.mts +10 -12
  33. package/dist/TokenDetectionController.d.mts.map +1 -1
  34. package/dist/TokenDetectionController.mjs +206 -45
  35. package/dist/TokenDetectionController.mjs.map +1 -1
  36. package/dist/rpc-service/rpc-balance-fetcher.cjs +0 -4
  37. package/dist/rpc-service/rpc-balance-fetcher.cjs.map +1 -1
  38. package/dist/rpc-service/rpc-balance-fetcher.d.cts.map +1 -1
  39. package/dist/rpc-service/rpc-balance-fetcher.d.mts.map +1 -1
  40. package/dist/rpc-service/rpc-balance-fetcher.mjs +0 -4
  41. package/dist/rpc-service/rpc-balance-fetcher.mjs.map +1 -1
  42. package/package.json +3 -3
@@ -1,15 +1,14 @@
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, KeyringControllerGetStateAction, KeyringControllerLockEvent, KeyringControllerUnlockEvent } from "@metamask/keyring-controller";
4
+ import type { KeyringControllerAccountRemovedEvent } 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";
10
9
  import type { Hex } from "@metamask/utils";
11
10
  import type { AccountTrackerControllerGetStateAction, AccountTrackerUpdateNativeBalancesAction, AccountTrackerUpdateStakedBalancesAction } from "./AccountTrackerController.mjs";
12
- import type { TokenDetectionControllerAddDetectedTokensViaWsAction, TokenDetectionControllerDetectTokensAction } from "./TokenDetectionController.mjs";
11
+ import type { TokenDetectionControllerAddDetectedTokensViaWsAction } from "./TokenDetectionController.mjs";
13
12
  import type { TokensControllerGetStateAction, TokensControllerStateChangeEvent } from "./TokensController.mjs";
14
13
  export type ChainIdHex = Hex;
15
14
  export type ChecksumAddress = Hex;
@@ -34,8 +33,8 @@ export type NativeBalanceEvent = {
34
33
  payload: unknown[];
35
34
  };
36
35
  export type TokenBalancesControllerEvents = TokenBalancesControllerStateChangeEvent | NativeBalanceEvent;
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;
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;
39
38
  export type TokenBalancesControllerMessenger = Messenger<typeof CONTROLLER, TokenBalancesControllerActions | AllowedActions, TokenBalancesControllerEvents | AllowedEvents>;
40
39
  export type ChainPollingConfig = {
41
40
  /** Polling interval in milliseconds for this chain */
@@ -65,17 +64,20 @@ export type TokenBalancesControllerOptions = {
65
64
  websocketActivePollingInterval?: number;
66
65
  };
67
66
  /**
68
- * Convert CAIP chain ID or hex chain ID to hex chain ID.
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")
69
69
  *
70
- * @param chainId - CAIP chain ID or hex chain ID.
71
- * @returns Hex chain ID.
70
+ * @param chainId - CAIP chain ID (e.g., "eip155:1") or hex chain ID (e.g., "0x1")
71
+ * @returns Hex chain ID (e.g., "0x1")
72
+ * @throws {Error} If chainId is neither a valid CAIP-2 chain ID nor a hex string
72
73
  */
73
74
  export declare const caipChainIdToHex: (chainId: string) => ChainIdHex;
74
75
  /**
75
- * Extract token address from asset type.
76
+ * Extract token address from asset type
77
+ * Returns tuple of [tokenAddress, isNativeToken] or null if invalid
76
78
  *
77
- * @param assetType - Asset type string.
78
- * @returns Tuple of [tokenAddress, isNativeToken] or null if invalid.
79
+ * @param assetType - Asset type string (e.g., 'eip155:1/erc20:0x...' or 'eip155:1/slip44:60')
80
+ * @returns Tuple of [tokenAddress, isNativeToken] or null if invalid
79
81
  */
80
82
  export declare const parseAssetType: (assetType: string) => [
81
83
  string,
@@ -112,28 +114,47 @@ export declare class TokenBalancesController extends TokenBalancesController_bas
112
114
  #private;
113
115
  constructor({ messenger, interval, websocketActivePollingInterval, chainPollingIntervals, state, queryMultipleAccounts, accountsApiChainIds, allowExternalServices, platform, }: TokenBalancesControllerOptions);
114
116
  /**
115
- * Whether the controller is active (keyring is unlocked).
116
- * When locked, balance updates should be skipped.
117
+ * Override to support per-chain polling intervals by grouping chains by interval
117
118
  *
118
- * @returns Whether the keyring is unlocked.
119
+ * @param options0 - The polling options
120
+ * @param options0.chainIds - Chain IDs to start polling for
119
121
  */
120
- get isActive(): boolean;
121
122
  _startPolling({ chainIds }: {
122
123
  chainIds: ChainIdHex[];
123
124
  }): void;
125
+ /**
126
+ * Override to handle our custom polling approach
127
+ *
128
+ * @param tokenSetId - The token set ID to stop polling for
129
+ */
124
130
  _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
+ */
125
137
  getChainPollingConfig(chainId: ChainIdHex): ChainPollingConfig;
126
138
  _executePoll({ chainIds, queryAllAccounts, }: {
127
139
  chainIds: ChainIdHex[];
128
140
  queryAllAccounts?: boolean;
129
141
  }): 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
+ */
130
149
  updateChainPollingConfigs(configs: Record<ChainIdHex, ChainPollingConfig>, options?: UpdateChainPollingConfigsOptions): void;
131
- updateBalances({ chainIds, tokenAddresses, queryAllAccounts, }?: {
150
+ updateBalances({ chainIds, queryAllAccounts, }?: {
132
151
  chainIds?: ChainIdHex[];
133
- tokenAddresses?: string[];
134
152
  queryAllAccounts?: boolean;
135
153
  }): Promise<void>;
136
154
  resetState(): void;
155
+ /**
156
+ * Clean up all timers and resources when controller is destroyed
157
+ */
137
158
  destroy(): void;
138
159
  }
139
160
  export default TokenBalancesController;
@@ -1 +1 @@
1
- {"version":3,"file":"TokenBalancesController.d.mts","sourceRoot":"","sources":["../src/TokenBalancesController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokenBalancesController.d.mts","sourceRoot":"","sources":["../src/TokenBalancesController.ts"],"names":[],"mappings":"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"}