@metamask-previews/core-backend 9.0.0-preview-b63fbdb38 → 9.0.0-preview-e12b5ece6

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 CHANGED
@@ -7,9 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Added
11
+
12
+ - Add `bypassServerCache` option to `FetchOptions` ([#10068](https://github.com/MetaMask/core/pull/10068))
13
+ - When true, the v5/v6 multi-account balances requests skip the client-side query cache (stale time defaults to 0) and append a random `bypassServerCache` query param so the Accounts API's server-side cache (keyed on the full URL) misses. Intended for hard refreshes only, e.g. right after a transaction confirms.
14
+
10
15
  ### Changed
11
16
 
12
17
  - Bump `@metamask/remote-feature-flag-controller` from `^6.0.0` to `^6.1.0` ([#9980](https://github.com/MetaMask/core/pull/9980))
18
+ - Bump `@metamask/utils` from `^11.11.0` to `^11.12.0` ([#10076](https://github.com/MetaMask/core/pull/10076))
13
19
 
14
20
  ## [9.0.0]
15
21
 
@@ -15,6 +15,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.AccountsApiClient = void 0;
16
16
  const base_client_js_1 = require("../base-client.cjs");
17
17
  const shared_types_js_1 = require("../shared-types.cjs");
18
+ /**
19
+ * Generate a short random value for the `bypassServerCache` query param. The
20
+ * Accounts API's server-side cache keys on the full URL including query
21
+ * params, so a unique value forces a cache miss ("hard refresh").
22
+ *
23
+ * @returns An 8-character alphanumeric string.
24
+ */
25
+ function generateBypassServerCache() {
26
+ return Math.random().toString(36).slice(2, 10).padEnd(8, '0');
27
+ }
18
28
  /**
19
29
  * Accounts API Client.
20
30
  * Provides methods for interacting with the Accounts API.
@@ -309,11 +319,15 @@ class AccountsApiClient extends base_client_js_1.BaseApiClient {
309
319
  networks: queryOptions?.networks,
310
320
  filterMMListTokens: queryOptions?.filterMMListTokens,
311
321
  includeStakedAssets: queryOptions?.includeStakedAssets,
322
+ bypassServerCache: options?.bypassServerCache
323
+ ? generateBypassServerCache()
324
+ : undefined,
312
325
  },
313
326
  });
314
327
  },
315
328
  ...(0, shared_types_js_1.getQueryOptionsOverrides)(options),
316
- staleTime: options?.staleTime ?? base_client_js_1.STALE_TIMES.BALANCES,
329
+ staleTime: options?.staleTime ??
330
+ (options?.bypassServerCache ? 0 : base_client_js_1.STALE_TIMES.BALANCES),
317
331
  gcTime: options?.gcTime ?? base_client_js_1.GC_TIMES.DEFAULT,
318
332
  };
319
333
  }
@@ -398,11 +412,15 @@ class AccountsApiClient extends base_client_js_1.BaseApiClient {
398
412
  vsCurrency: queryOptions?.vsCurrency,
399
413
  includeAssetIds: queryOptions?.includeAssetIds,
400
414
  excludeAssetIds: queryOptions?.excludeAssetIds,
415
+ bypassServerCache: options?.bypassServerCache
416
+ ? generateBypassServerCache()
417
+ : undefined,
401
418
  },
402
419
  });
403
420
  },
404
421
  ...(0, shared_types_js_1.getQueryOptionsOverrides)(options),
405
- staleTime: options?.staleTime ?? base_client_js_1.STALE_TIMES.BALANCES,
422
+ staleTime: options?.staleTime ??
423
+ (options?.bypassServerCache ? 0 : base_client_js_1.STALE_TIMES.BALANCES),
406
424
  gcTime: options?.gcTime ?? base_client_js_1.GC_TIMES.DEFAULT,
407
425
  };
408
426
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.cjs","sourceRoot":"","sources":["../../../src/api/accounts/client.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Accounts API Client - accounts.api.cx.metamask.io\n *\n * Handles all account-related API calls including:\n * - Supported networks\n * - Active networks\n * - Balances (v2, v4, v5)\n * - Transactions\n * - Relationships\n * - NFTs\n * - Token discovery\n */\n\nimport type {\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n QueryFunctionContext,\n} from '@tanstack/query-core';\n\nimport {\n BaseApiClient,\n API_URLS,\n STALE_TIMES,\n GC_TIMES,\n} from '../base-client.js';\nimport { getQueryOptionsOverrides } from '../shared-types.js';\nimport type { FetchOptions } from '../shared-types.js';\nimport type {\n V1SupportedNetworksResponse,\n V2SupportedNetworksResponse,\n V2ActiveNetworksResponse,\n V2BalancesResponse,\n V4BalancesResponse,\n V5BalancesResponse,\n V6BalancesResponse,\n V6VsCurrency,\n V1TransactionByHashResponse,\n V1AccountTransactionsResponse,\n V4MultiAccountTransactionsResponse,\n V1AccountRelationshipResult,\n V2NftsResponse,\n V2TokensResponse,\n} from './types.js';\n\n/**\n * Accounts API Client.\n * Provides methods for interacting with the Accounts API.\n */\nexport class AccountsApiClient extends BaseApiClient {\n // ==========================================================================\n // CACHE MANAGEMENT\n // ==========================================================================\n\n /**\n * Invalidate all balance queries.\n */\n async invalidateBalances(): Promise<void> {\n await this.queryClient.invalidateQueries({\n queryKey: ['accounts', 'balances'],\n });\n }\n\n /**\n * Invalidate all account queries.\n */\n async invalidateAccounts(): Promise<void> {\n await this.queryClient.invalidateQueries({\n queryKey: ['accounts'],\n });\n }\n\n // ==========================================================================\n // SUPPORTED NETWORKS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 supported networks.\n *\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1SupportedNetworksQueryOptions(\n options?: FetchOptions,\n ): FetchQueryOptions<V1SupportedNetworksResponse> {\n return {\n queryKey: ['accounts', 'v1SupportedNetworks'],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V1SupportedNetworksResponse>(\n API_URLS.ACCOUNTS,\n '/v1/supportedNetworks',\n { signal },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.SUPPORTED_NETWORKS,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get list of supported networks (v1 endpoint).\n *\n * @param options - Fetch options including cache settings.\n * @returns The list of supported networks.\n */\n async fetchV1SupportedNetworks(\n options?: FetchOptions,\n ): Promise<V1SupportedNetworksResponse> {\n return this.queryClient.fetchQuery(\n this.getV1SupportedNetworksQueryOptions(options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v2 supported networks.\n *\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2SupportedNetworksQueryOptions(\n options?: FetchOptions,\n ): FetchQueryOptions<V2SupportedNetworksResponse> {\n return {\n queryKey: ['accounts', 'v2SupportedNetworks'],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V2SupportedNetworksResponse>(\n API_URLS.ACCOUNTS,\n '/v2/supportedNetworks',\n { signal },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.SUPPORTED_NETWORKS,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get list of supported networks (v2 endpoint).\n *\n * @param options - Fetch options including cache settings.\n * @returns The list of supported networks.\n */\n async fetchV2SupportedNetworks(\n options?: FetchOptions,\n ): Promise<V2SupportedNetworksResponse> {\n return this.queryClient.fetchQuery(\n this.getV2SupportedNetworksQueryOptions(options),\n );\n }\n\n // ==========================================================================\n // ACTIVE NETWORKS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v2 active networks.\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2ActiveNetworksQueryOptions(\n accountIds: string[],\n queryOptions?: { filterMMListTokens?: boolean; networks?: string[] },\n options?: FetchOptions,\n ): FetchQueryOptions<V2ActiveNetworksResponse> {\n return {\n queryKey: [\n 'accounts',\n 'v2ActiveNetworks',\n {\n accountIds: [...accountIds].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V2ActiveNetworksResponse> => {\n if (accountIds.length === 0) {\n return { activeNetworks: [] };\n }\n return this.fetch<V2ActiveNetworksResponse>(\n API_URLS.ACCOUNTS,\n '/v2/activeNetworks',\n {\n signal,\n params: {\n accountIds,\n filterMMListTokens: queryOptions?.filterMMListTokens,\n networks: queryOptions?.networks,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.NETWORKS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get active networks by CAIP-10 account IDs (v2 endpoint).\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns The active networks response.\n */\n async fetchV2ActiveNetworks(\n accountIds: string[],\n queryOptions?: { filterMMListTokens?: boolean; networks?: string[] },\n options?: FetchOptions,\n ): Promise<V2ActiveNetworksResponse> {\n if (accountIds.length === 0) {\n return { activeNetworks: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV2ActiveNetworksQueryOptions(accountIds, queryOptions, options),\n );\n }\n\n // ==========================================================================\n // BALANCES\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v2 balances.\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.filterSupportedTokens - Whether to filter supported tokens.\n * @param queryOptions.includeTokenAddresses - Token addresses to include.\n * @param queryOptions.includeStakedAssets - Whether to include staked assets.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2BalancesQueryOptions(\n address: string,\n queryOptions?: {\n networks?: number[];\n filterSupportedTokens?: boolean;\n includeTokenAddresses?: string[];\n includeStakedAssets?: boolean;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V2BalancesResponse> {\n return {\n queryKey: [\n 'accounts',\n 'balances',\n 'v2',\n {\n address,\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n includeTokenAddresses:\n queryOptions.includeTokenAddresses &&\n [...queryOptions.includeTokenAddresses].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V2BalancesResponse> => {\n if (address === '') {\n return { count: 0, balances: [], unprocessedNetworks: [] };\n }\n return this.fetch<V2BalancesResponse>(\n API_URLS.ACCOUNTS,\n `/v2/accounts/${address}/balances`,\n {\n signal,\n params: {\n networks: queryOptions?.networks,\n filterSupportedTokens: queryOptions?.filterSupportedTokens,\n includeTokenAddresses: queryOptions?.includeTokenAddresses,\n includeStakedAssets: queryOptions?.includeStakedAssets,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.BALANCES,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get account balances for a single address (v2 endpoint).\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.filterSupportedTokens - Whether to filter supported tokens.\n * @param queryOptions.includeTokenAddresses - Token addresses to include.\n * @param queryOptions.includeStakedAssets - Whether to include staked assets.\n * @param options - Fetch options including cache settings.\n * @returns The account balances response.\n */\n async fetchV2Balances(\n address: string,\n queryOptions?: {\n networks?: number[];\n filterSupportedTokens?: boolean;\n includeTokenAddresses?: string[];\n includeStakedAssets?: boolean;\n },\n options?: FetchOptions,\n ): Promise<V2BalancesResponse> {\n if (address === '') {\n return { count: 0, balances: [], unprocessedNetworks: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV2BalancesQueryOptions(address, queryOptions, options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v4 multi-account balances.\n *\n * @param accountAddresses - Array of account addresses.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV4MultiAccountBalancesQueryOptions(\n accountAddresses: string[],\n queryOptions?: { networks?: number[] },\n options?: FetchOptions,\n ): FetchQueryOptions<V4BalancesResponse> {\n return {\n queryKey: [\n 'accounts',\n 'balances',\n 'v4',\n {\n accountAddresses: [...accountAddresses].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V4BalancesResponse> => {\n if (accountAddresses.length === 0) {\n return { count: 0, balances: [], unprocessedNetworks: [] };\n }\n return this.fetch<V4BalancesResponse>(\n API_URLS.ACCOUNTS,\n '/v4/multiaccount/balances',\n {\n signal,\n params: {\n accountAddresses,\n networks: queryOptions?.networks,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.BALANCES,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get balances for multiple accounts (v4 endpoint).\n *\n * @param accountAddresses - Array of account addresses.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns The multi-account balances response.\n */\n async fetchV4MultiAccountBalances(\n accountAddresses: string[],\n queryOptions?: { networks?: number[] },\n options?: FetchOptions,\n ): Promise<V4BalancesResponse> {\n if (accountAddresses.length === 0) {\n return { count: 0, balances: [], unprocessedNetworks: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV4MultiAccountBalancesQueryOptions(\n accountAddresses,\n queryOptions,\n options,\n ),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v5 multi-account balances.\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.includeStakedAssets - Whether to include staked assets.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV5MultiAccountBalancesQueryOptions(\n accountIds: string[],\n queryOptions?: {\n filterMMListTokens?: boolean;\n networks?: string[];\n includeStakedAssets?: boolean;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V5BalancesResponse> {\n return {\n queryKey: [\n 'accounts',\n 'balances',\n 'v5',\n {\n accountIds: [...accountIds].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V5BalancesResponse> => {\n if (accountIds.length === 0) {\n return { count: 0, unprocessedNetworks: [], balances: [] };\n }\n return this.fetch<V5BalancesResponse>(\n API_URLS.ACCOUNTS,\n '/v5/multiaccount/balances',\n {\n signal,\n params: {\n accountIds,\n networks: queryOptions?.networks,\n filterMMListTokens: queryOptions?.filterMMListTokens,\n includeStakedAssets: queryOptions?.includeStakedAssets,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.BALANCES,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get balances for multiple accounts using CAIP-10 IDs (v5 endpoint).\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.includeStakedAssets - Whether to include staked assets.\n * @param options - Fetch options including cache settings.\n * @returns The multi-account balances response.\n */\n async fetchV5MultiAccountBalances(\n accountIds: string[],\n queryOptions?: {\n filterMMListTokens?: boolean;\n networks?: string[];\n includeStakedAssets?: boolean;\n },\n options?: FetchOptions,\n ): Promise<V5BalancesResponse> {\n if (accountIds.length === 0) {\n return { count: 0, unprocessedNetworks: [], balances: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV5MultiAccountBalancesQueryOptions(\n accountIds,\n queryOptions,\n options,\n ),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v6 multi-account balances.\n * The v6 endpoint returns token balances and, optionally, DeFi positions and\n * spot prices.\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Comma-separated CAIP-2 chain IDs to filter by.\n * @param queryOptions.filterSupportedTokens - Whether to filter the assets to only tokens existing in the Token API.\n * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.\n * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.\n * @param queryOptions.includeLabels - Whether to include asset metadata labels in the response.\n * @param queryOptions.includeCanonicalHead - Whether to include the canonical head asset ID in the response.\n * @param queryOptions.includeDeFiBalances - Whether to include DeFi positions (token balances are always returned).\n * @param queryOptions.forceFetchDeFiPositions - Whether to fetch DeFi positions for all accounts, skipping the cached non-DeFi-user check.\n * @param queryOptions.includePrices - Whether to include spot prices for each token and DeFi position asset.\n * @param queryOptions.vsCurrency - Quote currency for spot prices when `includePrices` is true (default `usd`).\n * @param queryOptions.includeAssetIds - ERC-20 CAIP-19 asset IDs to confirm detection for; undetected IDs are returned in `unprocessedIncludeAssetIds`.\n * @param queryOptions.excludeAssetIds - ERC-20 CAIP-19 asset IDs to exclude from balance results.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV6MultiAccountBalancesQueryOptions(\n accountIds: string[],\n queryOptions?: {\n networks?: string[];\n filterSupportedTokens?: boolean;\n startTimestamp?: number;\n endTimestamp?: number;\n includeLabels?: boolean;\n includeCanonicalHead?: boolean;\n includeDeFiBalances?: boolean;\n forceFetchDeFiPositions?: boolean;\n includePrices?: boolean;\n vsCurrency?: V6VsCurrency;\n includeAssetIds?: string[];\n excludeAssetIds?: string[];\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V6BalancesResponse> {\n return {\n queryKey: [\n 'accounts',\n 'balances',\n 'v6',\n {\n accountIds: [...accountIds].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n includeAssetIds:\n queryOptions.includeAssetIds &&\n [...queryOptions.includeAssetIds].sort(),\n excludeAssetIds:\n queryOptions.excludeAssetIds &&\n [...queryOptions.excludeAssetIds].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V6BalancesResponse> => {\n if (accountIds.length === 0) {\n return {\n unprocessedNetworks: [],\n unprocessedIncludeAssetIds: [],\n balances: [],\n };\n }\n return this.fetch<V6BalancesResponse>(\n API_URLS.ACCOUNTS,\n '/v6/multiaccount/balances',\n {\n signal,\n params: {\n accountIds,\n networks: queryOptions?.networks,\n filterSupportedTokens: queryOptions?.filterSupportedTokens,\n startTimestamp: queryOptions?.startTimestamp,\n endTimestamp: queryOptions?.endTimestamp,\n includeLabels: queryOptions?.includeLabels,\n includeCanonicalHead: queryOptions?.includeCanonicalHead,\n includeDeFiBalances: queryOptions?.includeDeFiBalances,\n forceFetchDeFiPositions: queryOptions?.forceFetchDeFiPositions,\n includePrices: queryOptions?.includePrices,\n vsCurrency: queryOptions?.vsCurrency,\n includeAssetIds: queryOptions?.includeAssetIds,\n excludeAssetIds: queryOptions?.excludeAssetIds,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.BALANCES,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get balances and DeFi positions for multiple accounts using CAIP-10 IDs\n * (v6 endpoint).\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Comma-separated CAIP-2 chain IDs to filter by.\n * @param queryOptions.filterSupportedTokens - Whether to filter the assets to only tokens existing in the Token API.\n * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.\n * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.\n * @param queryOptions.includeLabels - Whether to include asset metadata labels in the response.\n * @param queryOptions.includeCanonicalHead - Whether to include the canonical head asset ID in the response.\n * @param queryOptions.includeDeFiBalances - Whether to include DeFi positions (token balances are always returned).\n * @param queryOptions.forceFetchDeFiPositions - Whether to fetch DeFi positions for all accounts, skipping the cached non-DeFi-user check.\n * @param queryOptions.includePrices - Whether to include spot prices for each token and DeFi position asset.\n * @param queryOptions.vsCurrency - Quote currency for spot prices when `includePrices` is true (default `usd`).\n * @param queryOptions.includeAssetIds - ERC-20 CAIP-19 asset IDs to confirm detection for; undetected IDs are returned in `unprocessedIncludeAssetIds`.\n * @param queryOptions.excludeAssetIds - ERC-20 CAIP-19 asset IDs to exclude from balance results.\n * @param options - Fetch options including cache settings.\n * @returns The multi-account balances and DeFi positions response.\n */\n async fetchV6MultiAccountBalances(\n accountIds: string[],\n queryOptions?: {\n networks?: string[];\n filterSupportedTokens?: boolean;\n startTimestamp?: number;\n endTimestamp?: number;\n includeLabels?: boolean;\n includeCanonicalHead?: boolean;\n includeDeFiBalances?: boolean;\n forceFetchDeFiPositions?: boolean;\n includePrices?: boolean;\n vsCurrency?: V6VsCurrency;\n includeAssetIds?: string[];\n excludeAssetIds?: string[];\n },\n options?: FetchOptions,\n ): Promise<V6BalancesResponse> {\n if (accountIds.length === 0) {\n return {\n unprocessedNetworks: [],\n unprocessedIncludeAssetIds: [],\n balances: [],\n };\n }\n return this.queryClient.fetchQuery(\n this.getV6MultiAccountBalancesQueryOptions(\n accountIds,\n queryOptions,\n options,\n ),\n );\n }\n\n // ==========================================================================\n // TRANSACTIONS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 transaction by hash.\n *\n * @param chainId - The chain ID.\n * @param txHash - The transaction hash.\n * @param queryOptions - Query filter options.\n * @param queryOptions.includeLogs - Whether to include logs.\n * @param queryOptions.includeValueTransfers - Whether to include value transfers.\n * @param queryOptions.includeTxMetadata - Whether to include transaction metadata.\n * @param queryOptions.lang - Language for metadata.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1TransactionByHashQueryOptions(\n chainId: number,\n txHash: string,\n queryOptions?: {\n includeLogs?: boolean;\n includeValueTransfers?: boolean;\n includeTxMetadata?: boolean;\n lang?: string;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V1TransactionByHashResponse> {\n return {\n queryKey: [\n 'accounts',\n 'transactions',\n 'v1ByHash',\n { chainId, txHash, options: queryOptions },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V1TransactionByHashResponse>(\n API_URLS.ACCOUNTS,\n `/v1/networks/${chainId}/transactions/${txHash}`,\n {\n signal,\n params: {\n includeLogs: queryOptions?.includeLogs,\n includeValueTransfers: queryOptions?.includeValueTransfers,\n includeTxMetadata: queryOptions?.includeTxMetadata,\n lang: queryOptions?.lang,\n },\n },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRANSACTIONS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get a specific transaction by hash (v1 endpoint).\n *\n * @param chainId - The chain ID.\n * @param txHash - The transaction hash.\n * @param queryOptions - Query filter options.\n * @param queryOptions.includeLogs - Whether to include logs.\n * @param queryOptions.includeValueTransfers - Whether to include value transfers.\n * @param queryOptions.includeTxMetadata - Whether to include transaction metadata.\n * @param queryOptions.lang - Language for metadata.\n * @param options - Fetch options including cache settings.\n * @returns The transaction details.\n */\n async fetchV1TransactionByHash(\n chainId: number,\n txHash: string,\n queryOptions?: {\n includeLogs?: boolean;\n includeValueTransfers?: boolean;\n includeTxMetadata?: boolean;\n lang?: string;\n },\n options?: FetchOptions,\n ): Promise<V1TransactionByHashResponse> {\n return this.queryClient.fetchQuery(\n this.getV1TransactionByHashQueryOptions(\n chainId,\n txHash,\n queryOptions,\n options,\n ),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v1 account transactions.\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.chainIds - Chain IDs to filter by.\n * @param queryOptions.cursor - Pagination cursor.\n * @param queryOptions.startTimestamp - Start timestamp filter.\n * @param queryOptions.endTimestamp - End timestamp filter.\n * @param queryOptions.sortDirection - Sort direction (ASC/DESC).\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useInfiniteQuery, useSuspenseQuery, etc.\n */\n getV1AccountTransactionsQueryOptions(\n address: string,\n queryOptions?: {\n chainIds?: string[];\n cursor?: string;\n startTimestamp?: number;\n endTimestamp?: number;\n sortDirection?: 'ASC' | 'DESC';\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V1AccountTransactionsResponse> {\n return {\n queryKey: [\n 'accounts',\n 'transactions',\n 'v1Account',\n {\n address,\n options: queryOptions && {\n ...queryOptions,\n chainIds:\n queryOptions.chainIds && [...queryOptions.chainIds].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V1AccountTransactionsResponse> => {\n if (address === '') {\n return { data: [], pageInfo: { count: 0, hasNextPage: false } };\n }\n return this.fetch<V1AccountTransactionsResponse>(\n API_URLS.ACCOUNTS,\n `/v1/accounts/${address}/transactions`,\n {\n signal,\n params: {\n networks: queryOptions?.chainIds,\n cursor: queryOptions?.cursor,\n startTimestamp: queryOptions?.startTimestamp,\n endTimestamp: queryOptions?.endTimestamp,\n sortDirection: queryOptions?.sortDirection,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRANSACTIONS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get account transactions (v1 endpoint).\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.chainIds - Chain IDs to filter by.\n * @param queryOptions.cursor - Pagination cursor.\n * @param queryOptions.startTimestamp - Start timestamp filter.\n * @param queryOptions.endTimestamp - End timestamp filter.\n * @param queryOptions.sortDirection - Sort direction (ASC/DESC).\n * @param options - Fetch options including cache settings.\n * @returns The account transactions response.\n */\n async fetchV1AccountTransactions(\n address: string,\n queryOptions?: {\n chainIds?: string[];\n cursor?: string;\n startTimestamp?: number;\n endTimestamp?: number;\n sortDirection?: 'ASC' | 'DESC';\n },\n options?: FetchOptions,\n ): Promise<V1AccountTransactionsResponse> {\n if (address === '') {\n return { data: [], pageInfo: { count: 0, hasNextPage: false } };\n }\n return this.queryClient.fetchQuery(\n this.getV1AccountTransactionsQueryOptions(address, queryOptions, options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v4 multi-account transactions.\n * Use this with `queryClient.fetchQuery()`, `useQuery()`, `useInfiniteQuery()`,\n * `useSuspenseQuery()`, etc. for flexibility across query permutations.\n *\n * @param accountAddresses - Array of CAIP-10 account addresses.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Comma-separated CAIP-2 network IDs.\n * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.\n * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.\n * @param queryOptions.cursor - Pagination cursor (deprecated, use after).\n * @param queryOptions.limit - Maximum number of transactions to request (default 50).\n * @param queryOptions.after - JWT containing the endCursor for the query.\n * @param queryOptions.before - JWT containing the startCursor for the query.\n * @param queryOptions.sortDirection - Sort direction (ASC/DESC).\n * @param queryOptions.includeLogs - Whether to include logs.\n * @param queryOptions.includeTxMetadata - Whether to include transaction metadata.\n * @param queryOptions.maxLogsPerTx - Maximum number of logs per transaction.\n * @param queryOptions.lang - Language for transaction category (default \"en\").\n * @param options - Fetch options including cache settings.\n * @returns Query options object compatible with fetchQuery/useQuery/useInfiniteQuery.\n */\n getV4MultiAccountTransactionsQueryOptions(\n accountAddresses: string[],\n queryOptions?: {\n networks?: string[];\n startTimestamp?: number;\n endTimestamp?: number;\n cursor?: string;\n limit?: number;\n after?: string;\n before?: string;\n sortDirection?: 'ASC' | 'DESC';\n includeLogs?: boolean;\n includeTxMetadata?: boolean;\n maxLogsPerTx?: number;\n lang?: string;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V4MultiAccountTransactionsResponse> {\n return {\n queryKey: [\n 'accounts',\n 'transactions',\n 'v4MultiAccount',\n {\n accountAddresses: [...accountAddresses].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V4MultiAccountTransactionsResponse>(\n API_URLS.ACCOUNTS,\n '/v4/multiaccount/transactions',\n {\n signal,\n params: {\n accountAddresses,\n networks: queryOptions?.networks,\n startTimestamp: queryOptions?.startTimestamp,\n endTimestamp: queryOptions?.endTimestamp,\n cursor: queryOptions?.cursor,\n limit: queryOptions?.limit,\n after: queryOptions?.after,\n before: queryOptions?.before,\n sortDirection: queryOptions?.sortDirection,\n includeLogs: queryOptions?.includeLogs,\n includeTxMetadata: queryOptions?.includeTxMetadata,\n maxLogsPerTx: queryOptions?.maxLogsPerTx,\n lang: queryOptions?.lang,\n },\n },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRANSACTIONS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Returns TanStack Query options for v4 multi-account transactions,\n * designed for use with `useInfiniteQuery`.\n *\n * @param params - API endpoint parameters (excluding pagination cursors).\n * @param params.accountAddresses - Array of CAIP-10 account addresses.\n * @param params.networks - CAIP-2 network IDs to filter by.\n * @param params.startTimestamp - Start timestamp (epoch).\n * @param params.endTimestamp - End timestamp (epoch).\n * @param params.limit - Max transactions per page (default 50).\n * @param params.sortDirection - Sort direction (ASC/DESC).\n * @param params.includeLogs - Whether to include logs.\n * @param params.includeTxMetadata - Whether to include transaction metadata.\n * @param params.maxLogsPerTx - Max logs per transaction.\n * @param params.lang - Language for transaction category (default \"en\").\n * @param options - Fetch options including cache settings.\n * @returns Options object compatible with `useInfiniteQuery`.\n */\n getV4MultiAccountTransactionsInfiniteQueryOptions(\n params: {\n accountAddresses: string[];\n networks?: string[];\n startTimestamp?: number;\n endTimestamp?: number;\n limit?: number;\n sortDirection?: 'ASC' | 'DESC';\n includeLogs?: boolean;\n includeTxMetadata?: boolean;\n maxLogsPerTx?: number;\n lang?: string;\n },\n options?: FetchOptions,\n ): FetchInfiniteQueryOptions<\n V4MultiAccountTransactionsResponse,\n Error,\n V4MultiAccountTransactionsResponse,\n readonly unknown[],\n string | undefined\n > {\n return {\n queryKey: [\n 'accounts',\n 'transactions',\n 'v4MultiAccount',\n {\n accountAddresses: [...params.accountAddresses].sort(),\n networks: params.networks && [...params.networks].sort(),\n startTimestamp: params.startTimestamp,\n endTimestamp: params.endTimestamp,\n limit: params.limit,\n sortDirection: params.sortDirection,\n includeLogs: params.includeLogs,\n includeTxMetadata: params.includeTxMetadata,\n maxLogsPerTx: params.maxLogsPerTx,\n lang: params.lang,\n },\n ] as const,\n queryFn: ({\n pageParam,\n signal,\n }: {\n pageParam?: string;\n signal?: AbortSignal;\n }) =>\n this.fetch<V4MultiAccountTransactionsResponse>(\n API_URLS.ACCOUNTS,\n '/v4/multiaccount/transactions',\n {\n signal,\n params: {\n accountAddresses: params.accountAddresses,\n networks: params.networks,\n startTimestamp: params.startTimestamp,\n endTimestamp: params.endTimestamp,\n cursor: pageParam,\n limit: params.limit,\n sortDirection: params.sortDirection,\n includeLogs: params.includeLogs,\n includeTxMetadata: params.includeTxMetadata,\n maxLogsPerTx: params.maxLogsPerTx,\n lang: params.lang,\n },\n },\n ),\n getNextPageParam: ({ pageInfo }: V4MultiAccountTransactionsResponse) =>\n pageInfo.hasNextPage ? pageInfo.endCursor : undefined,\n initialPageParam: options?.initialPageParam,\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRANSACTIONS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get multi-account transactions (v4 endpoint).\n *\n * @param accountAddresses - Array of CAIP-10 account addresses.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Comma-separated CAIP-2 network IDs.\n * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.\n * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.\n * @param queryOptions.cursor - Pagination cursor (deprecated, use after).\n * @param queryOptions.limit - Maximum number of transactions to request (default 50).\n * @param queryOptions.after - JWT containing the endCursor for the query.\n * @param queryOptions.before - JWT containing the startCursor for the query.\n * @param queryOptions.sortDirection - Sort direction (ASC/DESC).\n * @param queryOptions.includeLogs - Whether to include logs.\n * @param queryOptions.includeTxMetadata - Whether to include transaction metadata.\n * @param queryOptions.maxLogsPerTx - Maximum number of logs per transaction.\n * @param queryOptions.lang - Language for transaction category (default \"en\").\n * @param options - Fetch options including cache settings.\n * @returns The multi-account transactions response.\n */\n async fetchV4MultiAccountTransactions(\n accountAddresses: string[],\n queryOptions?: {\n networks?: string[];\n startTimestamp?: number;\n endTimestamp?: number;\n cursor?: string;\n limit?: number;\n after?: string;\n before?: string;\n sortDirection?: 'ASC' | 'DESC';\n includeLogs?: boolean;\n includeTxMetadata?: boolean;\n maxLogsPerTx?: number;\n lang?: string;\n },\n options?: FetchOptions,\n ): Promise<V4MultiAccountTransactionsResponse> {\n return this.queryClient.fetchQuery(\n this.getV4MultiAccountTransactionsQueryOptions(\n accountAddresses,\n queryOptions,\n options,\n ),\n );\n }\n\n // ==========================================================================\n // RELATIONSHIPS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 account relationship.\n *\n * @param chainId - The chain ID.\n * @param from - The from address.\n * @param to - The to address.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1AccountRelationshipQueryOptions(\n chainId: number,\n from: string,\n to: string,\n options?: FetchOptions,\n ): FetchQueryOptions<V1AccountRelationshipResult> {\n return {\n queryKey: ['accounts', 'v1Relationship', chainId, from, to],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V1AccountRelationshipResult> =>\n this.fetch<V1AccountRelationshipResult>(\n API_URLS.ACCOUNTS,\n `/v1/networks/${chainId}/accounts/${from}/relationships/${to}`,\n { signal },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.DEFAULT,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get account address relationship (v1 endpoint).\n *\n * @param chainId - The chain ID.\n * @param from - The from address.\n * @param to - The to address.\n * @param options - Fetch options including cache settings.\n * @returns The account relationship result.\n */\n async fetchV1AccountRelationship(\n chainId: number,\n from: string,\n to: string,\n options?: FetchOptions,\n ): Promise<V1AccountRelationshipResult> {\n return this.queryClient.fetchQuery(\n this.getV1AccountRelationshipQueryOptions(chainId, from, to, options),\n );\n }\n\n // ==========================================================================\n // NFTs\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v2 account NFTs.\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.cursor - Pagination cursor.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2AccountNftsQueryOptions(\n address: string,\n queryOptions?: { networks?: number[]; cursor?: string },\n options?: FetchOptions,\n ): FetchQueryOptions<V2NftsResponse> {\n return {\n queryKey: [\n 'accounts',\n 'v2Nfts',\n {\n address,\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V2NftsResponse> => {\n if (address === '') {\n return { data: [], pageInfo: { count: 0, hasNextPage: false } };\n }\n return this.fetch<V2NftsResponse>(\n API_URLS.ACCOUNTS,\n `/v2/accounts/${address}/nfts`,\n {\n signal,\n params: {\n networks: queryOptions?.networks,\n cursor: queryOptions?.cursor,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.DEFAULT,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get NFTs owned by an account (v2 endpoint).\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.cursor - Pagination cursor.\n * @param options - Fetch options including cache settings.\n * @returns The NFTs response.\n */\n async fetchV2AccountNfts(\n address: string,\n queryOptions?: { networks?: number[]; cursor?: string },\n options?: FetchOptions,\n ): Promise<V2NftsResponse> {\n if (address === '') {\n return { data: [], pageInfo: { count: 0, hasNextPage: false } };\n }\n return this.queryClient.fetchQuery(\n this.getV2AccountNftsQueryOptions(address, queryOptions, options),\n );\n }\n\n // ==========================================================================\n // TOKEN DISCOVERY\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v2 account tokens.\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2AccountTokensQueryOptions(\n address: string,\n queryOptions?: { networks?: number[] },\n options?: FetchOptions,\n ): FetchQueryOptions<V2TokensResponse> {\n return {\n queryKey: [\n 'accounts',\n 'v2Tokens',\n {\n address,\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V2TokensResponse> => {\n if (address === '') {\n return { data: [] };\n }\n return this.fetch<V2TokensResponse>(\n API_URLS.ACCOUNTS,\n `/v2/accounts/${address}/tokens`,\n {\n signal,\n params: { networks: queryOptions?.networks },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.DEFAULT,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get ERC20 tokens detected for an account (v2 endpoint).\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns The tokens response.\n */\n async fetchV2AccountTokens(\n address: string,\n queryOptions?: { networks?: number[] },\n options?: FetchOptions,\n ): Promise<V2TokensResponse> {\n if (address === '') {\n return { data: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV2AccountTokensQueryOptions(address, queryOptions, options),\n );\n }\n}\n"]}
1
+ {"version":3,"file":"client.cjs","sourceRoot":"","sources":["../../../src/api/accounts/client.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Accounts API Client - accounts.api.cx.metamask.io\n *\n * Handles all account-related API calls including:\n * - Supported networks\n * - Active networks\n * - Balances (v2, v4, v5)\n * - Transactions\n * - Relationships\n * - NFTs\n * - Token discovery\n */\n\nimport type {\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n QueryFunctionContext,\n} from '@tanstack/query-core';\n\nimport {\n BaseApiClient,\n API_URLS,\n STALE_TIMES,\n GC_TIMES,\n} from '../base-client.js';\nimport { getQueryOptionsOverrides } from '../shared-types.js';\nimport type { FetchOptions } from '../shared-types.js';\nimport type {\n V1SupportedNetworksResponse,\n V2SupportedNetworksResponse,\n V2ActiveNetworksResponse,\n V2BalancesResponse,\n V4BalancesResponse,\n V5BalancesResponse,\n V6BalancesResponse,\n V6VsCurrency,\n V1TransactionByHashResponse,\n V1AccountTransactionsResponse,\n V4MultiAccountTransactionsResponse,\n V1AccountRelationshipResult,\n V2NftsResponse,\n V2TokensResponse,\n} from './types.js';\n\n/**\n * Generate a short random value for the `bypassServerCache` query param. The\n * Accounts API's server-side cache keys on the full URL including query\n * params, so a unique value forces a cache miss (\"hard refresh\").\n *\n * @returns An 8-character alphanumeric string.\n */\nfunction generateBypassServerCache(): string {\n return Math.random().toString(36).slice(2, 10).padEnd(8, '0');\n}\n\n/**\n * Accounts API Client.\n * Provides methods for interacting with the Accounts API.\n */\nexport class AccountsApiClient extends BaseApiClient {\n // ==========================================================================\n // CACHE MANAGEMENT\n // ==========================================================================\n\n /**\n * Invalidate all balance queries.\n */\n async invalidateBalances(): Promise<void> {\n await this.queryClient.invalidateQueries({\n queryKey: ['accounts', 'balances'],\n });\n }\n\n /**\n * Invalidate all account queries.\n */\n async invalidateAccounts(): Promise<void> {\n await this.queryClient.invalidateQueries({\n queryKey: ['accounts'],\n });\n }\n\n // ==========================================================================\n // SUPPORTED NETWORKS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 supported networks.\n *\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1SupportedNetworksQueryOptions(\n options?: FetchOptions,\n ): FetchQueryOptions<V1SupportedNetworksResponse> {\n return {\n queryKey: ['accounts', 'v1SupportedNetworks'],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V1SupportedNetworksResponse>(\n API_URLS.ACCOUNTS,\n '/v1/supportedNetworks',\n { signal },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.SUPPORTED_NETWORKS,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get list of supported networks (v1 endpoint).\n *\n * @param options - Fetch options including cache settings.\n * @returns The list of supported networks.\n */\n async fetchV1SupportedNetworks(\n options?: FetchOptions,\n ): Promise<V1SupportedNetworksResponse> {\n return this.queryClient.fetchQuery(\n this.getV1SupportedNetworksQueryOptions(options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v2 supported networks.\n *\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2SupportedNetworksQueryOptions(\n options?: FetchOptions,\n ): FetchQueryOptions<V2SupportedNetworksResponse> {\n return {\n queryKey: ['accounts', 'v2SupportedNetworks'],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V2SupportedNetworksResponse>(\n API_URLS.ACCOUNTS,\n '/v2/supportedNetworks',\n { signal },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.SUPPORTED_NETWORKS,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get list of supported networks (v2 endpoint).\n *\n * @param options - Fetch options including cache settings.\n * @returns The list of supported networks.\n */\n async fetchV2SupportedNetworks(\n options?: FetchOptions,\n ): Promise<V2SupportedNetworksResponse> {\n return this.queryClient.fetchQuery(\n this.getV2SupportedNetworksQueryOptions(options),\n );\n }\n\n // ==========================================================================\n // ACTIVE NETWORKS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v2 active networks.\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2ActiveNetworksQueryOptions(\n accountIds: string[],\n queryOptions?: { filterMMListTokens?: boolean; networks?: string[] },\n options?: FetchOptions,\n ): FetchQueryOptions<V2ActiveNetworksResponse> {\n return {\n queryKey: [\n 'accounts',\n 'v2ActiveNetworks',\n {\n accountIds: [...accountIds].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V2ActiveNetworksResponse> => {\n if (accountIds.length === 0) {\n return { activeNetworks: [] };\n }\n return this.fetch<V2ActiveNetworksResponse>(\n API_URLS.ACCOUNTS,\n '/v2/activeNetworks',\n {\n signal,\n params: {\n accountIds,\n filterMMListTokens: queryOptions?.filterMMListTokens,\n networks: queryOptions?.networks,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.NETWORKS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get active networks by CAIP-10 account IDs (v2 endpoint).\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns The active networks response.\n */\n async fetchV2ActiveNetworks(\n accountIds: string[],\n queryOptions?: { filterMMListTokens?: boolean; networks?: string[] },\n options?: FetchOptions,\n ): Promise<V2ActiveNetworksResponse> {\n if (accountIds.length === 0) {\n return { activeNetworks: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV2ActiveNetworksQueryOptions(accountIds, queryOptions, options),\n );\n }\n\n // ==========================================================================\n // BALANCES\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v2 balances.\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.filterSupportedTokens - Whether to filter supported tokens.\n * @param queryOptions.includeTokenAddresses - Token addresses to include.\n * @param queryOptions.includeStakedAssets - Whether to include staked assets.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2BalancesQueryOptions(\n address: string,\n queryOptions?: {\n networks?: number[];\n filterSupportedTokens?: boolean;\n includeTokenAddresses?: string[];\n includeStakedAssets?: boolean;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V2BalancesResponse> {\n return {\n queryKey: [\n 'accounts',\n 'balances',\n 'v2',\n {\n address,\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n includeTokenAddresses:\n queryOptions.includeTokenAddresses &&\n [...queryOptions.includeTokenAddresses].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V2BalancesResponse> => {\n if (address === '') {\n return { count: 0, balances: [], unprocessedNetworks: [] };\n }\n return this.fetch<V2BalancesResponse>(\n API_URLS.ACCOUNTS,\n `/v2/accounts/${address}/balances`,\n {\n signal,\n params: {\n networks: queryOptions?.networks,\n filterSupportedTokens: queryOptions?.filterSupportedTokens,\n includeTokenAddresses: queryOptions?.includeTokenAddresses,\n includeStakedAssets: queryOptions?.includeStakedAssets,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.BALANCES,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get account balances for a single address (v2 endpoint).\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.filterSupportedTokens - Whether to filter supported tokens.\n * @param queryOptions.includeTokenAddresses - Token addresses to include.\n * @param queryOptions.includeStakedAssets - Whether to include staked assets.\n * @param options - Fetch options including cache settings.\n * @returns The account balances response.\n */\n async fetchV2Balances(\n address: string,\n queryOptions?: {\n networks?: number[];\n filterSupportedTokens?: boolean;\n includeTokenAddresses?: string[];\n includeStakedAssets?: boolean;\n },\n options?: FetchOptions,\n ): Promise<V2BalancesResponse> {\n if (address === '') {\n return { count: 0, balances: [], unprocessedNetworks: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV2BalancesQueryOptions(address, queryOptions, options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v4 multi-account balances.\n *\n * @param accountAddresses - Array of account addresses.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV4MultiAccountBalancesQueryOptions(\n accountAddresses: string[],\n queryOptions?: { networks?: number[] },\n options?: FetchOptions,\n ): FetchQueryOptions<V4BalancesResponse> {\n return {\n queryKey: [\n 'accounts',\n 'balances',\n 'v4',\n {\n accountAddresses: [...accountAddresses].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V4BalancesResponse> => {\n if (accountAddresses.length === 0) {\n return { count: 0, balances: [], unprocessedNetworks: [] };\n }\n return this.fetch<V4BalancesResponse>(\n API_URLS.ACCOUNTS,\n '/v4/multiaccount/balances',\n {\n signal,\n params: {\n accountAddresses,\n networks: queryOptions?.networks,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.BALANCES,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get balances for multiple accounts (v4 endpoint).\n *\n * @param accountAddresses - Array of account addresses.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns The multi-account balances response.\n */\n async fetchV4MultiAccountBalances(\n accountAddresses: string[],\n queryOptions?: { networks?: number[] },\n options?: FetchOptions,\n ): Promise<V4BalancesResponse> {\n if (accountAddresses.length === 0) {\n return { count: 0, balances: [], unprocessedNetworks: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV4MultiAccountBalancesQueryOptions(\n accountAddresses,\n queryOptions,\n options,\n ),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v5 multi-account balances.\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.includeStakedAssets - Whether to include staked assets.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV5MultiAccountBalancesQueryOptions(\n accountIds: string[],\n queryOptions?: {\n filterMMListTokens?: boolean;\n networks?: string[];\n includeStakedAssets?: boolean;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V5BalancesResponse> {\n return {\n queryKey: [\n 'accounts',\n 'balances',\n 'v5',\n {\n accountIds: [...accountIds].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V5BalancesResponse> => {\n if (accountIds.length === 0) {\n return { count: 0, unprocessedNetworks: [], balances: [] };\n }\n return this.fetch<V5BalancesResponse>(\n API_URLS.ACCOUNTS,\n '/v5/multiaccount/balances',\n {\n signal,\n params: {\n accountIds,\n networks: queryOptions?.networks,\n filterMMListTokens: queryOptions?.filterMMListTokens,\n includeStakedAssets: queryOptions?.includeStakedAssets,\n bypassServerCache: options?.bypassServerCache\n ? generateBypassServerCache()\n : undefined,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime:\n options?.staleTime ??\n (options?.bypassServerCache ? 0 : STALE_TIMES.BALANCES),\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get balances for multiple accounts using CAIP-10 IDs (v5 endpoint).\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.includeStakedAssets - Whether to include staked assets.\n * @param options - Fetch options including cache settings.\n * @returns The multi-account balances response.\n */\n async fetchV5MultiAccountBalances(\n accountIds: string[],\n queryOptions?: {\n filterMMListTokens?: boolean;\n networks?: string[];\n includeStakedAssets?: boolean;\n },\n options?: FetchOptions,\n ): Promise<V5BalancesResponse> {\n if (accountIds.length === 0) {\n return { count: 0, unprocessedNetworks: [], balances: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV5MultiAccountBalancesQueryOptions(\n accountIds,\n queryOptions,\n options,\n ),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v6 multi-account balances.\n * The v6 endpoint returns token balances and, optionally, DeFi positions and\n * spot prices.\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Comma-separated CAIP-2 chain IDs to filter by.\n * @param queryOptions.filterSupportedTokens - Whether to filter the assets to only tokens existing in the Token API.\n * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.\n * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.\n * @param queryOptions.includeLabels - Whether to include asset metadata labels in the response.\n * @param queryOptions.includeCanonicalHead - Whether to include the canonical head asset ID in the response.\n * @param queryOptions.includeDeFiBalances - Whether to include DeFi positions (token balances are always returned).\n * @param queryOptions.forceFetchDeFiPositions - Whether to fetch DeFi positions for all accounts, skipping the cached non-DeFi-user check.\n * @param queryOptions.includePrices - Whether to include spot prices for each token and DeFi position asset.\n * @param queryOptions.vsCurrency - Quote currency for spot prices when `includePrices` is true (default `usd`).\n * @param queryOptions.includeAssetIds - ERC-20 CAIP-19 asset IDs to confirm detection for; undetected IDs are returned in `unprocessedIncludeAssetIds`.\n * @param queryOptions.excludeAssetIds - ERC-20 CAIP-19 asset IDs to exclude from balance results.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV6MultiAccountBalancesQueryOptions(\n accountIds: string[],\n queryOptions?: {\n networks?: string[];\n filterSupportedTokens?: boolean;\n startTimestamp?: number;\n endTimestamp?: number;\n includeLabels?: boolean;\n includeCanonicalHead?: boolean;\n includeDeFiBalances?: boolean;\n forceFetchDeFiPositions?: boolean;\n includePrices?: boolean;\n vsCurrency?: V6VsCurrency;\n includeAssetIds?: string[];\n excludeAssetIds?: string[];\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V6BalancesResponse> {\n return {\n queryKey: [\n 'accounts',\n 'balances',\n 'v6',\n {\n accountIds: [...accountIds].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n includeAssetIds:\n queryOptions.includeAssetIds &&\n [...queryOptions.includeAssetIds].sort(),\n excludeAssetIds:\n queryOptions.excludeAssetIds &&\n [...queryOptions.excludeAssetIds].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V6BalancesResponse> => {\n if (accountIds.length === 0) {\n return {\n unprocessedNetworks: [],\n unprocessedIncludeAssetIds: [],\n balances: [],\n };\n }\n return this.fetch<V6BalancesResponse>(\n API_URLS.ACCOUNTS,\n '/v6/multiaccount/balances',\n {\n signal,\n params: {\n accountIds,\n networks: queryOptions?.networks,\n filterSupportedTokens: queryOptions?.filterSupportedTokens,\n startTimestamp: queryOptions?.startTimestamp,\n endTimestamp: queryOptions?.endTimestamp,\n includeLabels: queryOptions?.includeLabels,\n includeCanonicalHead: queryOptions?.includeCanonicalHead,\n includeDeFiBalances: queryOptions?.includeDeFiBalances,\n forceFetchDeFiPositions: queryOptions?.forceFetchDeFiPositions,\n includePrices: queryOptions?.includePrices,\n vsCurrency: queryOptions?.vsCurrency,\n includeAssetIds: queryOptions?.includeAssetIds,\n excludeAssetIds: queryOptions?.excludeAssetIds,\n bypassServerCache: options?.bypassServerCache\n ? generateBypassServerCache()\n : undefined,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime:\n options?.staleTime ??\n (options?.bypassServerCache ? 0 : STALE_TIMES.BALANCES),\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get balances and DeFi positions for multiple accounts using CAIP-10 IDs\n * (v6 endpoint).\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Comma-separated CAIP-2 chain IDs to filter by.\n * @param queryOptions.filterSupportedTokens - Whether to filter the assets to only tokens existing in the Token API.\n * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.\n * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.\n * @param queryOptions.includeLabels - Whether to include asset metadata labels in the response.\n * @param queryOptions.includeCanonicalHead - Whether to include the canonical head asset ID in the response.\n * @param queryOptions.includeDeFiBalances - Whether to include DeFi positions (token balances are always returned).\n * @param queryOptions.forceFetchDeFiPositions - Whether to fetch DeFi positions for all accounts, skipping the cached non-DeFi-user check.\n * @param queryOptions.includePrices - Whether to include spot prices for each token and DeFi position asset.\n * @param queryOptions.vsCurrency - Quote currency for spot prices when `includePrices` is true (default `usd`).\n * @param queryOptions.includeAssetIds - ERC-20 CAIP-19 asset IDs to confirm detection for; undetected IDs are returned in `unprocessedIncludeAssetIds`.\n * @param queryOptions.excludeAssetIds - ERC-20 CAIP-19 asset IDs to exclude from balance results.\n * @param options - Fetch options including cache settings.\n * @returns The multi-account balances and DeFi positions response.\n */\n async fetchV6MultiAccountBalances(\n accountIds: string[],\n queryOptions?: {\n networks?: string[];\n filterSupportedTokens?: boolean;\n startTimestamp?: number;\n endTimestamp?: number;\n includeLabels?: boolean;\n includeCanonicalHead?: boolean;\n includeDeFiBalances?: boolean;\n forceFetchDeFiPositions?: boolean;\n includePrices?: boolean;\n vsCurrency?: V6VsCurrency;\n includeAssetIds?: string[];\n excludeAssetIds?: string[];\n },\n options?: FetchOptions,\n ): Promise<V6BalancesResponse> {\n if (accountIds.length === 0) {\n return {\n unprocessedNetworks: [],\n unprocessedIncludeAssetIds: [],\n balances: [],\n };\n }\n return this.queryClient.fetchQuery(\n this.getV6MultiAccountBalancesQueryOptions(\n accountIds,\n queryOptions,\n options,\n ),\n );\n }\n\n // ==========================================================================\n // TRANSACTIONS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 transaction by hash.\n *\n * @param chainId - The chain ID.\n * @param txHash - The transaction hash.\n * @param queryOptions - Query filter options.\n * @param queryOptions.includeLogs - Whether to include logs.\n * @param queryOptions.includeValueTransfers - Whether to include value transfers.\n * @param queryOptions.includeTxMetadata - Whether to include transaction metadata.\n * @param queryOptions.lang - Language for metadata.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1TransactionByHashQueryOptions(\n chainId: number,\n txHash: string,\n queryOptions?: {\n includeLogs?: boolean;\n includeValueTransfers?: boolean;\n includeTxMetadata?: boolean;\n lang?: string;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V1TransactionByHashResponse> {\n return {\n queryKey: [\n 'accounts',\n 'transactions',\n 'v1ByHash',\n { chainId, txHash, options: queryOptions },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V1TransactionByHashResponse>(\n API_URLS.ACCOUNTS,\n `/v1/networks/${chainId}/transactions/${txHash}`,\n {\n signal,\n params: {\n includeLogs: queryOptions?.includeLogs,\n includeValueTransfers: queryOptions?.includeValueTransfers,\n includeTxMetadata: queryOptions?.includeTxMetadata,\n lang: queryOptions?.lang,\n },\n },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRANSACTIONS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get a specific transaction by hash (v1 endpoint).\n *\n * @param chainId - The chain ID.\n * @param txHash - The transaction hash.\n * @param queryOptions - Query filter options.\n * @param queryOptions.includeLogs - Whether to include logs.\n * @param queryOptions.includeValueTransfers - Whether to include value transfers.\n * @param queryOptions.includeTxMetadata - Whether to include transaction metadata.\n * @param queryOptions.lang - Language for metadata.\n * @param options - Fetch options including cache settings.\n * @returns The transaction details.\n */\n async fetchV1TransactionByHash(\n chainId: number,\n txHash: string,\n queryOptions?: {\n includeLogs?: boolean;\n includeValueTransfers?: boolean;\n includeTxMetadata?: boolean;\n lang?: string;\n },\n options?: FetchOptions,\n ): Promise<V1TransactionByHashResponse> {\n return this.queryClient.fetchQuery(\n this.getV1TransactionByHashQueryOptions(\n chainId,\n txHash,\n queryOptions,\n options,\n ),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v1 account transactions.\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.chainIds - Chain IDs to filter by.\n * @param queryOptions.cursor - Pagination cursor.\n * @param queryOptions.startTimestamp - Start timestamp filter.\n * @param queryOptions.endTimestamp - End timestamp filter.\n * @param queryOptions.sortDirection - Sort direction (ASC/DESC).\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useInfiniteQuery, useSuspenseQuery, etc.\n */\n getV1AccountTransactionsQueryOptions(\n address: string,\n queryOptions?: {\n chainIds?: string[];\n cursor?: string;\n startTimestamp?: number;\n endTimestamp?: number;\n sortDirection?: 'ASC' | 'DESC';\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V1AccountTransactionsResponse> {\n return {\n queryKey: [\n 'accounts',\n 'transactions',\n 'v1Account',\n {\n address,\n options: queryOptions && {\n ...queryOptions,\n chainIds:\n queryOptions.chainIds && [...queryOptions.chainIds].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V1AccountTransactionsResponse> => {\n if (address === '') {\n return { data: [], pageInfo: { count: 0, hasNextPage: false } };\n }\n return this.fetch<V1AccountTransactionsResponse>(\n API_URLS.ACCOUNTS,\n `/v1/accounts/${address}/transactions`,\n {\n signal,\n params: {\n networks: queryOptions?.chainIds,\n cursor: queryOptions?.cursor,\n startTimestamp: queryOptions?.startTimestamp,\n endTimestamp: queryOptions?.endTimestamp,\n sortDirection: queryOptions?.sortDirection,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRANSACTIONS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get account transactions (v1 endpoint).\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.chainIds - Chain IDs to filter by.\n * @param queryOptions.cursor - Pagination cursor.\n * @param queryOptions.startTimestamp - Start timestamp filter.\n * @param queryOptions.endTimestamp - End timestamp filter.\n * @param queryOptions.sortDirection - Sort direction (ASC/DESC).\n * @param options - Fetch options including cache settings.\n * @returns The account transactions response.\n */\n async fetchV1AccountTransactions(\n address: string,\n queryOptions?: {\n chainIds?: string[];\n cursor?: string;\n startTimestamp?: number;\n endTimestamp?: number;\n sortDirection?: 'ASC' | 'DESC';\n },\n options?: FetchOptions,\n ): Promise<V1AccountTransactionsResponse> {\n if (address === '') {\n return { data: [], pageInfo: { count: 0, hasNextPage: false } };\n }\n return this.queryClient.fetchQuery(\n this.getV1AccountTransactionsQueryOptions(address, queryOptions, options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v4 multi-account transactions.\n * Use this with `queryClient.fetchQuery()`, `useQuery()`, `useInfiniteQuery()`,\n * `useSuspenseQuery()`, etc. for flexibility across query permutations.\n *\n * @param accountAddresses - Array of CAIP-10 account addresses.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Comma-separated CAIP-2 network IDs.\n * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.\n * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.\n * @param queryOptions.cursor - Pagination cursor (deprecated, use after).\n * @param queryOptions.limit - Maximum number of transactions to request (default 50).\n * @param queryOptions.after - JWT containing the endCursor for the query.\n * @param queryOptions.before - JWT containing the startCursor for the query.\n * @param queryOptions.sortDirection - Sort direction (ASC/DESC).\n * @param queryOptions.includeLogs - Whether to include logs.\n * @param queryOptions.includeTxMetadata - Whether to include transaction metadata.\n * @param queryOptions.maxLogsPerTx - Maximum number of logs per transaction.\n * @param queryOptions.lang - Language for transaction category (default \"en\").\n * @param options - Fetch options including cache settings.\n * @returns Query options object compatible with fetchQuery/useQuery/useInfiniteQuery.\n */\n getV4MultiAccountTransactionsQueryOptions(\n accountAddresses: string[],\n queryOptions?: {\n networks?: string[];\n startTimestamp?: number;\n endTimestamp?: number;\n cursor?: string;\n limit?: number;\n after?: string;\n before?: string;\n sortDirection?: 'ASC' | 'DESC';\n includeLogs?: boolean;\n includeTxMetadata?: boolean;\n maxLogsPerTx?: number;\n lang?: string;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V4MultiAccountTransactionsResponse> {\n return {\n queryKey: [\n 'accounts',\n 'transactions',\n 'v4MultiAccount',\n {\n accountAddresses: [...accountAddresses].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V4MultiAccountTransactionsResponse>(\n API_URLS.ACCOUNTS,\n '/v4/multiaccount/transactions',\n {\n signal,\n params: {\n accountAddresses,\n networks: queryOptions?.networks,\n startTimestamp: queryOptions?.startTimestamp,\n endTimestamp: queryOptions?.endTimestamp,\n cursor: queryOptions?.cursor,\n limit: queryOptions?.limit,\n after: queryOptions?.after,\n before: queryOptions?.before,\n sortDirection: queryOptions?.sortDirection,\n includeLogs: queryOptions?.includeLogs,\n includeTxMetadata: queryOptions?.includeTxMetadata,\n maxLogsPerTx: queryOptions?.maxLogsPerTx,\n lang: queryOptions?.lang,\n },\n },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRANSACTIONS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Returns TanStack Query options for v4 multi-account transactions,\n * designed for use with `useInfiniteQuery`.\n *\n * @param params - API endpoint parameters (excluding pagination cursors).\n * @param params.accountAddresses - Array of CAIP-10 account addresses.\n * @param params.networks - CAIP-2 network IDs to filter by.\n * @param params.startTimestamp - Start timestamp (epoch).\n * @param params.endTimestamp - End timestamp (epoch).\n * @param params.limit - Max transactions per page (default 50).\n * @param params.sortDirection - Sort direction (ASC/DESC).\n * @param params.includeLogs - Whether to include logs.\n * @param params.includeTxMetadata - Whether to include transaction metadata.\n * @param params.maxLogsPerTx - Max logs per transaction.\n * @param params.lang - Language for transaction category (default \"en\").\n * @param options - Fetch options including cache settings.\n * @returns Options object compatible with `useInfiniteQuery`.\n */\n getV4MultiAccountTransactionsInfiniteQueryOptions(\n params: {\n accountAddresses: string[];\n networks?: string[];\n startTimestamp?: number;\n endTimestamp?: number;\n limit?: number;\n sortDirection?: 'ASC' | 'DESC';\n includeLogs?: boolean;\n includeTxMetadata?: boolean;\n maxLogsPerTx?: number;\n lang?: string;\n },\n options?: FetchOptions,\n ): FetchInfiniteQueryOptions<\n V4MultiAccountTransactionsResponse,\n Error,\n V4MultiAccountTransactionsResponse,\n readonly unknown[],\n string | undefined\n > {\n return {\n queryKey: [\n 'accounts',\n 'transactions',\n 'v4MultiAccount',\n {\n accountAddresses: [...params.accountAddresses].sort(),\n networks: params.networks && [...params.networks].sort(),\n startTimestamp: params.startTimestamp,\n endTimestamp: params.endTimestamp,\n limit: params.limit,\n sortDirection: params.sortDirection,\n includeLogs: params.includeLogs,\n includeTxMetadata: params.includeTxMetadata,\n maxLogsPerTx: params.maxLogsPerTx,\n lang: params.lang,\n },\n ] as const,\n queryFn: ({\n pageParam,\n signal,\n }: {\n pageParam?: string;\n signal?: AbortSignal;\n }) =>\n this.fetch<V4MultiAccountTransactionsResponse>(\n API_URLS.ACCOUNTS,\n '/v4/multiaccount/transactions',\n {\n signal,\n params: {\n accountAddresses: params.accountAddresses,\n networks: params.networks,\n startTimestamp: params.startTimestamp,\n endTimestamp: params.endTimestamp,\n cursor: pageParam,\n limit: params.limit,\n sortDirection: params.sortDirection,\n includeLogs: params.includeLogs,\n includeTxMetadata: params.includeTxMetadata,\n maxLogsPerTx: params.maxLogsPerTx,\n lang: params.lang,\n },\n },\n ),\n getNextPageParam: ({ pageInfo }: V4MultiAccountTransactionsResponse) =>\n pageInfo.hasNextPage ? pageInfo.endCursor : undefined,\n initialPageParam: options?.initialPageParam,\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRANSACTIONS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get multi-account transactions (v4 endpoint).\n *\n * @param accountAddresses - Array of CAIP-10 account addresses.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Comma-separated CAIP-2 network IDs.\n * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.\n * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.\n * @param queryOptions.cursor - Pagination cursor (deprecated, use after).\n * @param queryOptions.limit - Maximum number of transactions to request (default 50).\n * @param queryOptions.after - JWT containing the endCursor for the query.\n * @param queryOptions.before - JWT containing the startCursor for the query.\n * @param queryOptions.sortDirection - Sort direction (ASC/DESC).\n * @param queryOptions.includeLogs - Whether to include logs.\n * @param queryOptions.includeTxMetadata - Whether to include transaction metadata.\n * @param queryOptions.maxLogsPerTx - Maximum number of logs per transaction.\n * @param queryOptions.lang - Language for transaction category (default \"en\").\n * @param options - Fetch options including cache settings.\n * @returns The multi-account transactions response.\n */\n async fetchV4MultiAccountTransactions(\n accountAddresses: string[],\n queryOptions?: {\n networks?: string[];\n startTimestamp?: number;\n endTimestamp?: number;\n cursor?: string;\n limit?: number;\n after?: string;\n before?: string;\n sortDirection?: 'ASC' | 'DESC';\n includeLogs?: boolean;\n includeTxMetadata?: boolean;\n maxLogsPerTx?: number;\n lang?: string;\n },\n options?: FetchOptions,\n ): Promise<V4MultiAccountTransactionsResponse> {\n return this.queryClient.fetchQuery(\n this.getV4MultiAccountTransactionsQueryOptions(\n accountAddresses,\n queryOptions,\n options,\n ),\n );\n }\n\n // ==========================================================================\n // RELATIONSHIPS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 account relationship.\n *\n * @param chainId - The chain ID.\n * @param from - The from address.\n * @param to - The to address.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1AccountRelationshipQueryOptions(\n chainId: number,\n from: string,\n to: string,\n options?: FetchOptions,\n ): FetchQueryOptions<V1AccountRelationshipResult> {\n return {\n queryKey: ['accounts', 'v1Relationship', chainId, from, to],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V1AccountRelationshipResult> =>\n this.fetch<V1AccountRelationshipResult>(\n API_URLS.ACCOUNTS,\n `/v1/networks/${chainId}/accounts/${from}/relationships/${to}`,\n { signal },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.DEFAULT,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get account address relationship (v1 endpoint).\n *\n * @param chainId - The chain ID.\n * @param from - The from address.\n * @param to - The to address.\n * @param options - Fetch options including cache settings.\n * @returns The account relationship result.\n */\n async fetchV1AccountRelationship(\n chainId: number,\n from: string,\n to: string,\n options?: FetchOptions,\n ): Promise<V1AccountRelationshipResult> {\n return this.queryClient.fetchQuery(\n this.getV1AccountRelationshipQueryOptions(chainId, from, to, options),\n );\n }\n\n // ==========================================================================\n // NFTs\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v2 account NFTs.\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.cursor - Pagination cursor.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2AccountNftsQueryOptions(\n address: string,\n queryOptions?: { networks?: number[]; cursor?: string },\n options?: FetchOptions,\n ): FetchQueryOptions<V2NftsResponse> {\n return {\n queryKey: [\n 'accounts',\n 'v2Nfts',\n {\n address,\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V2NftsResponse> => {\n if (address === '') {\n return { data: [], pageInfo: { count: 0, hasNextPage: false } };\n }\n return this.fetch<V2NftsResponse>(\n API_URLS.ACCOUNTS,\n `/v2/accounts/${address}/nfts`,\n {\n signal,\n params: {\n networks: queryOptions?.networks,\n cursor: queryOptions?.cursor,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.DEFAULT,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get NFTs owned by an account (v2 endpoint).\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.cursor - Pagination cursor.\n * @param options - Fetch options including cache settings.\n * @returns The NFTs response.\n */\n async fetchV2AccountNfts(\n address: string,\n queryOptions?: { networks?: number[]; cursor?: string },\n options?: FetchOptions,\n ): Promise<V2NftsResponse> {\n if (address === '') {\n return { data: [], pageInfo: { count: 0, hasNextPage: false } };\n }\n return this.queryClient.fetchQuery(\n this.getV2AccountNftsQueryOptions(address, queryOptions, options),\n );\n }\n\n // ==========================================================================\n // TOKEN DISCOVERY\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v2 account tokens.\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2AccountTokensQueryOptions(\n address: string,\n queryOptions?: { networks?: number[] },\n options?: FetchOptions,\n ): FetchQueryOptions<V2TokensResponse> {\n return {\n queryKey: [\n 'accounts',\n 'v2Tokens',\n {\n address,\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V2TokensResponse> => {\n if (address === '') {\n return { data: [] };\n }\n return this.fetch<V2TokensResponse>(\n API_URLS.ACCOUNTS,\n `/v2/accounts/${address}/tokens`,\n {\n signal,\n params: { networks: queryOptions?.networks },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.DEFAULT,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get ERC20 tokens detected for an account (v2 endpoint).\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns The tokens response.\n */\n async fetchV2AccountTokens(\n address: string,\n queryOptions?: { networks?: number[] },\n options?: FetchOptions,\n ): Promise<V2TokensResponse> {\n if (address === '') {\n return { data: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV2AccountTokensQueryOptions(address, queryOptions, options),\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.cts","sourceRoot":"","sources":["../../../src/api/accounts/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.cts","sourceRoot":"","sources":["../../../src/api/accounts/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.mts","sourceRoot":"","sources":["../../../src/api/accounts/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.mts","sourceRoot":"","sources":["../../../src/api/accounts/client.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,16 @@
12
12
  */
13
13
  import { BaseApiClient, API_URLS, STALE_TIMES, GC_TIMES } from "../base-client.mjs";
14
14
  import { getQueryOptionsOverrides } from "../shared-types.mjs";
15
+ /**
16
+ * Generate a short random value for the `bypassServerCache` query param. The
17
+ * Accounts API's server-side cache keys on the full URL including query
18
+ * params, so a unique value forces a cache miss ("hard refresh").
19
+ *
20
+ * @returns An 8-character alphanumeric string.
21
+ */
22
+ function generateBypassServerCache() {
23
+ return Math.random().toString(36).slice(2, 10).padEnd(8, '0');
24
+ }
15
25
  /**
16
26
  * Accounts API Client.
17
27
  * Provides methods for interacting with the Accounts API.
@@ -306,11 +316,15 @@ export class AccountsApiClient extends BaseApiClient {
306
316
  networks: queryOptions?.networks,
307
317
  filterMMListTokens: queryOptions?.filterMMListTokens,
308
318
  includeStakedAssets: queryOptions?.includeStakedAssets,
319
+ bypassServerCache: options?.bypassServerCache
320
+ ? generateBypassServerCache()
321
+ : undefined,
309
322
  },
310
323
  });
311
324
  },
312
325
  ...getQueryOptionsOverrides(options),
313
- staleTime: options?.staleTime ?? STALE_TIMES.BALANCES,
326
+ staleTime: options?.staleTime ??
327
+ (options?.bypassServerCache ? 0 : STALE_TIMES.BALANCES),
314
328
  gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,
315
329
  };
316
330
  }
@@ -395,11 +409,15 @@ export class AccountsApiClient extends BaseApiClient {
395
409
  vsCurrency: queryOptions?.vsCurrency,
396
410
  includeAssetIds: queryOptions?.includeAssetIds,
397
411
  excludeAssetIds: queryOptions?.excludeAssetIds,
412
+ bypassServerCache: options?.bypassServerCache
413
+ ? generateBypassServerCache()
414
+ : undefined,
398
415
  },
399
416
  });
400
417
  },
401
418
  ...getQueryOptionsOverrides(options),
402
- staleTime: options?.staleTime ?? STALE_TIMES.BALANCES,
419
+ staleTime: options?.staleTime ??
420
+ (options?.bypassServerCache ? 0 : STALE_TIMES.BALANCES),
403
421
  gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,
404
422
  };
405
423
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.mjs","sourceRoot":"","sources":["../../../src/api/accounts/client.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Accounts API Client - accounts.api.cx.metamask.io\n *\n * Handles all account-related API calls including:\n * - Supported networks\n * - Active networks\n * - Balances (v2, v4, v5)\n * - Transactions\n * - Relationships\n * - NFTs\n * - Token discovery\n */\n\nimport type {\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n QueryFunctionContext,\n} from '@tanstack/query-core';\n\nimport {\n BaseApiClient,\n API_URLS,\n STALE_TIMES,\n GC_TIMES,\n} from '../base-client.js';\nimport { getQueryOptionsOverrides } from '../shared-types.js';\nimport type { FetchOptions } from '../shared-types.js';\nimport type {\n V1SupportedNetworksResponse,\n V2SupportedNetworksResponse,\n V2ActiveNetworksResponse,\n V2BalancesResponse,\n V4BalancesResponse,\n V5BalancesResponse,\n V6BalancesResponse,\n V6VsCurrency,\n V1TransactionByHashResponse,\n V1AccountTransactionsResponse,\n V4MultiAccountTransactionsResponse,\n V1AccountRelationshipResult,\n V2NftsResponse,\n V2TokensResponse,\n} from './types.js';\n\n/**\n * Accounts API Client.\n * Provides methods for interacting with the Accounts API.\n */\nexport class AccountsApiClient extends BaseApiClient {\n // ==========================================================================\n // CACHE MANAGEMENT\n // ==========================================================================\n\n /**\n * Invalidate all balance queries.\n */\n async invalidateBalances(): Promise<void> {\n await this.queryClient.invalidateQueries({\n queryKey: ['accounts', 'balances'],\n });\n }\n\n /**\n * Invalidate all account queries.\n */\n async invalidateAccounts(): Promise<void> {\n await this.queryClient.invalidateQueries({\n queryKey: ['accounts'],\n });\n }\n\n // ==========================================================================\n // SUPPORTED NETWORKS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 supported networks.\n *\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1SupportedNetworksQueryOptions(\n options?: FetchOptions,\n ): FetchQueryOptions<V1SupportedNetworksResponse> {\n return {\n queryKey: ['accounts', 'v1SupportedNetworks'],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V1SupportedNetworksResponse>(\n API_URLS.ACCOUNTS,\n '/v1/supportedNetworks',\n { signal },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.SUPPORTED_NETWORKS,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get list of supported networks (v1 endpoint).\n *\n * @param options - Fetch options including cache settings.\n * @returns The list of supported networks.\n */\n async fetchV1SupportedNetworks(\n options?: FetchOptions,\n ): Promise<V1SupportedNetworksResponse> {\n return this.queryClient.fetchQuery(\n this.getV1SupportedNetworksQueryOptions(options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v2 supported networks.\n *\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2SupportedNetworksQueryOptions(\n options?: FetchOptions,\n ): FetchQueryOptions<V2SupportedNetworksResponse> {\n return {\n queryKey: ['accounts', 'v2SupportedNetworks'],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V2SupportedNetworksResponse>(\n API_URLS.ACCOUNTS,\n '/v2/supportedNetworks',\n { signal },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.SUPPORTED_NETWORKS,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get list of supported networks (v2 endpoint).\n *\n * @param options - Fetch options including cache settings.\n * @returns The list of supported networks.\n */\n async fetchV2SupportedNetworks(\n options?: FetchOptions,\n ): Promise<V2SupportedNetworksResponse> {\n return this.queryClient.fetchQuery(\n this.getV2SupportedNetworksQueryOptions(options),\n );\n }\n\n // ==========================================================================\n // ACTIVE NETWORKS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v2 active networks.\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2ActiveNetworksQueryOptions(\n accountIds: string[],\n queryOptions?: { filterMMListTokens?: boolean; networks?: string[] },\n options?: FetchOptions,\n ): FetchQueryOptions<V2ActiveNetworksResponse> {\n return {\n queryKey: [\n 'accounts',\n 'v2ActiveNetworks',\n {\n accountIds: [...accountIds].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V2ActiveNetworksResponse> => {\n if (accountIds.length === 0) {\n return { activeNetworks: [] };\n }\n return this.fetch<V2ActiveNetworksResponse>(\n API_URLS.ACCOUNTS,\n '/v2/activeNetworks',\n {\n signal,\n params: {\n accountIds,\n filterMMListTokens: queryOptions?.filterMMListTokens,\n networks: queryOptions?.networks,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.NETWORKS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get active networks by CAIP-10 account IDs (v2 endpoint).\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns The active networks response.\n */\n async fetchV2ActiveNetworks(\n accountIds: string[],\n queryOptions?: { filterMMListTokens?: boolean; networks?: string[] },\n options?: FetchOptions,\n ): Promise<V2ActiveNetworksResponse> {\n if (accountIds.length === 0) {\n return { activeNetworks: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV2ActiveNetworksQueryOptions(accountIds, queryOptions, options),\n );\n }\n\n // ==========================================================================\n // BALANCES\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v2 balances.\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.filterSupportedTokens - Whether to filter supported tokens.\n * @param queryOptions.includeTokenAddresses - Token addresses to include.\n * @param queryOptions.includeStakedAssets - Whether to include staked assets.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2BalancesQueryOptions(\n address: string,\n queryOptions?: {\n networks?: number[];\n filterSupportedTokens?: boolean;\n includeTokenAddresses?: string[];\n includeStakedAssets?: boolean;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V2BalancesResponse> {\n return {\n queryKey: [\n 'accounts',\n 'balances',\n 'v2',\n {\n address,\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n includeTokenAddresses:\n queryOptions.includeTokenAddresses &&\n [...queryOptions.includeTokenAddresses].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V2BalancesResponse> => {\n if (address === '') {\n return { count: 0, balances: [], unprocessedNetworks: [] };\n }\n return this.fetch<V2BalancesResponse>(\n API_URLS.ACCOUNTS,\n `/v2/accounts/${address}/balances`,\n {\n signal,\n params: {\n networks: queryOptions?.networks,\n filterSupportedTokens: queryOptions?.filterSupportedTokens,\n includeTokenAddresses: queryOptions?.includeTokenAddresses,\n includeStakedAssets: queryOptions?.includeStakedAssets,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.BALANCES,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get account balances for a single address (v2 endpoint).\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.filterSupportedTokens - Whether to filter supported tokens.\n * @param queryOptions.includeTokenAddresses - Token addresses to include.\n * @param queryOptions.includeStakedAssets - Whether to include staked assets.\n * @param options - Fetch options including cache settings.\n * @returns The account balances response.\n */\n async fetchV2Balances(\n address: string,\n queryOptions?: {\n networks?: number[];\n filterSupportedTokens?: boolean;\n includeTokenAddresses?: string[];\n includeStakedAssets?: boolean;\n },\n options?: FetchOptions,\n ): Promise<V2BalancesResponse> {\n if (address === '') {\n return { count: 0, balances: [], unprocessedNetworks: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV2BalancesQueryOptions(address, queryOptions, options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v4 multi-account balances.\n *\n * @param accountAddresses - Array of account addresses.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV4MultiAccountBalancesQueryOptions(\n accountAddresses: string[],\n queryOptions?: { networks?: number[] },\n options?: FetchOptions,\n ): FetchQueryOptions<V4BalancesResponse> {\n return {\n queryKey: [\n 'accounts',\n 'balances',\n 'v4',\n {\n accountAddresses: [...accountAddresses].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V4BalancesResponse> => {\n if (accountAddresses.length === 0) {\n return { count: 0, balances: [], unprocessedNetworks: [] };\n }\n return this.fetch<V4BalancesResponse>(\n API_URLS.ACCOUNTS,\n '/v4/multiaccount/balances',\n {\n signal,\n params: {\n accountAddresses,\n networks: queryOptions?.networks,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.BALANCES,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get balances for multiple accounts (v4 endpoint).\n *\n * @param accountAddresses - Array of account addresses.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns The multi-account balances response.\n */\n async fetchV4MultiAccountBalances(\n accountAddresses: string[],\n queryOptions?: { networks?: number[] },\n options?: FetchOptions,\n ): Promise<V4BalancesResponse> {\n if (accountAddresses.length === 0) {\n return { count: 0, balances: [], unprocessedNetworks: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV4MultiAccountBalancesQueryOptions(\n accountAddresses,\n queryOptions,\n options,\n ),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v5 multi-account balances.\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.includeStakedAssets - Whether to include staked assets.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV5MultiAccountBalancesQueryOptions(\n accountIds: string[],\n queryOptions?: {\n filterMMListTokens?: boolean;\n networks?: string[];\n includeStakedAssets?: boolean;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V5BalancesResponse> {\n return {\n queryKey: [\n 'accounts',\n 'balances',\n 'v5',\n {\n accountIds: [...accountIds].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V5BalancesResponse> => {\n if (accountIds.length === 0) {\n return { count: 0, unprocessedNetworks: [], balances: [] };\n }\n return this.fetch<V5BalancesResponse>(\n API_URLS.ACCOUNTS,\n '/v5/multiaccount/balances',\n {\n signal,\n params: {\n accountIds,\n networks: queryOptions?.networks,\n filterMMListTokens: queryOptions?.filterMMListTokens,\n includeStakedAssets: queryOptions?.includeStakedAssets,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.BALANCES,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get balances for multiple accounts using CAIP-10 IDs (v5 endpoint).\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.includeStakedAssets - Whether to include staked assets.\n * @param options - Fetch options including cache settings.\n * @returns The multi-account balances response.\n */\n async fetchV5MultiAccountBalances(\n accountIds: string[],\n queryOptions?: {\n filterMMListTokens?: boolean;\n networks?: string[];\n includeStakedAssets?: boolean;\n },\n options?: FetchOptions,\n ): Promise<V5BalancesResponse> {\n if (accountIds.length === 0) {\n return { count: 0, unprocessedNetworks: [], balances: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV5MultiAccountBalancesQueryOptions(\n accountIds,\n queryOptions,\n options,\n ),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v6 multi-account balances.\n * The v6 endpoint returns token balances and, optionally, DeFi positions and\n * spot prices.\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Comma-separated CAIP-2 chain IDs to filter by.\n * @param queryOptions.filterSupportedTokens - Whether to filter the assets to only tokens existing in the Token API.\n * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.\n * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.\n * @param queryOptions.includeLabels - Whether to include asset metadata labels in the response.\n * @param queryOptions.includeCanonicalHead - Whether to include the canonical head asset ID in the response.\n * @param queryOptions.includeDeFiBalances - Whether to include DeFi positions (token balances are always returned).\n * @param queryOptions.forceFetchDeFiPositions - Whether to fetch DeFi positions for all accounts, skipping the cached non-DeFi-user check.\n * @param queryOptions.includePrices - Whether to include spot prices for each token and DeFi position asset.\n * @param queryOptions.vsCurrency - Quote currency for spot prices when `includePrices` is true (default `usd`).\n * @param queryOptions.includeAssetIds - ERC-20 CAIP-19 asset IDs to confirm detection for; undetected IDs are returned in `unprocessedIncludeAssetIds`.\n * @param queryOptions.excludeAssetIds - ERC-20 CAIP-19 asset IDs to exclude from balance results.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV6MultiAccountBalancesQueryOptions(\n accountIds: string[],\n queryOptions?: {\n networks?: string[];\n filterSupportedTokens?: boolean;\n startTimestamp?: number;\n endTimestamp?: number;\n includeLabels?: boolean;\n includeCanonicalHead?: boolean;\n includeDeFiBalances?: boolean;\n forceFetchDeFiPositions?: boolean;\n includePrices?: boolean;\n vsCurrency?: V6VsCurrency;\n includeAssetIds?: string[];\n excludeAssetIds?: string[];\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V6BalancesResponse> {\n return {\n queryKey: [\n 'accounts',\n 'balances',\n 'v6',\n {\n accountIds: [...accountIds].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n includeAssetIds:\n queryOptions.includeAssetIds &&\n [...queryOptions.includeAssetIds].sort(),\n excludeAssetIds:\n queryOptions.excludeAssetIds &&\n [...queryOptions.excludeAssetIds].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V6BalancesResponse> => {\n if (accountIds.length === 0) {\n return {\n unprocessedNetworks: [],\n unprocessedIncludeAssetIds: [],\n balances: [],\n };\n }\n return this.fetch<V6BalancesResponse>(\n API_URLS.ACCOUNTS,\n '/v6/multiaccount/balances',\n {\n signal,\n params: {\n accountIds,\n networks: queryOptions?.networks,\n filterSupportedTokens: queryOptions?.filterSupportedTokens,\n startTimestamp: queryOptions?.startTimestamp,\n endTimestamp: queryOptions?.endTimestamp,\n includeLabels: queryOptions?.includeLabels,\n includeCanonicalHead: queryOptions?.includeCanonicalHead,\n includeDeFiBalances: queryOptions?.includeDeFiBalances,\n forceFetchDeFiPositions: queryOptions?.forceFetchDeFiPositions,\n includePrices: queryOptions?.includePrices,\n vsCurrency: queryOptions?.vsCurrency,\n includeAssetIds: queryOptions?.includeAssetIds,\n excludeAssetIds: queryOptions?.excludeAssetIds,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.BALANCES,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get balances and DeFi positions for multiple accounts using CAIP-10 IDs\n * (v6 endpoint).\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Comma-separated CAIP-2 chain IDs to filter by.\n * @param queryOptions.filterSupportedTokens - Whether to filter the assets to only tokens existing in the Token API.\n * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.\n * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.\n * @param queryOptions.includeLabels - Whether to include asset metadata labels in the response.\n * @param queryOptions.includeCanonicalHead - Whether to include the canonical head asset ID in the response.\n * @param queryOptions.includeDeFiBalances - Whether to include DeFi positions (token balances are always returned).\n * @param queryOptions.forceFetchDeFiPositions - Whether to fetch DeFi positions for all accounts, skipping the cached non-DeFi-user check.\n * @param queryOptions.includePrices - Whether to include spot prices for each token and DeFi position asset.\n * @param queryOptions.vsCurrency - Quote currency for spot prices when `includePrices` is true (default `usd`).\n * @param queryOptions.includeAssetIds - ERC-20 CAIP-19 asset IDs to confirm detection for; undetected IDs are returned in `unprocessedIncludeAssetIds`.\n * @param queryOptions.excludeAssetIds - ERC-20 CAIP-19 asset IDs to exclude from balance results.\n * @param options - Fetch options including cache settings.\n * @returns The multi-account balances and DeFi positions response.\n */\n async fetchV6MultiAccountBalances(\n accountIds: string[],\n queryOptions?: {\n networks?: string[];\n filterSupportedTokens?: boolean;\n startTimestamp?: number;\n endTimestamp?: number;\n includeLabels?: boolean;\n includeCanonicalHead?: boolean;\n includeDeFiBalances?: boolean;\n forceFetchDeFiPositions?: boolean;\n includePrices?: boolean;\n vsCurrency?: V6VsCurrency;\n includeAssetIds?: string[];\n excludeAssetIds?: string[];\n },\n options?: FetchOptions,\n ): Promise<V6BalancesResponse> {\n if (accountIds.length === 0) {\n return {\n unprocessedNetworks: [],\n unprocessedIncludeAssetIds: [],\n balances: [],\n };\n }\n return this.queryClient.fetchQuery(\n this.getV6MultiAccountBalancesQueryOptions(\n accountIds,\n queryOptions,\n options,\n ),\n );\n }\n\n // ==========================================================================\n // TRANSACTIONS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 transaction by hash.\n *\n * @param chainId - The chain ID.\n * @param txHash - The transaction hash.\n * @param queryOptions - Query filter options.\n * @param queryOptions.includeLogs - Whether to include logs.\n * @param queryOptions.includeValueTransfers - Whether to include value transfers.\n * @param queryOptions.includeTxMetadata - Whether to include transaction metadata.\n * @param queryOptions.lang - Language for metadata.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1TransactionByHashQueryOptions(\n chainId: number,\n txHash: string,\n queryOptions?: {\n includeLogs?: boolean;\n includeValueTransfers?: boolean;\n includeTxMetadata?: boolean;\n lang?: string;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V1TransactionByHashResponse> {\n return {\n queryKey: [\n 'accounts',\n 'transactions',\n 'v1ByHash',\n { chainId, txHash, options: queryOptions },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V1TransactionByHashResponse>(\n API_URLS.ACCOUNTS,\n `/v1/networks/${chainId}/transactions/${txHash}`,\n {\n signal,\n params: {\n includeLogs: queryOptions?.includeLogs,\n includeValueTransfers: queryOptions?.includeValueTransfers,\n includeTxMetadata: queryOptions?.includeTxMetadata,\n lang: queryOptions?.lang,\n },\n },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRANSACTIONS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get a specific transaction by hash (v1 endpoint).\n *\n * @param chainId - The chain ID.\n * @param txHash - The transaction hash.\n * @param queryOptions - Query filter options.\n * @param queryOptions.includeLogs - Whether to include logs.\n * @param queryOptions.includeValueTransfers - Whether to include value transfers.\n * @param queryOptions.includeTxMetadata - Whether to include transaction metadata.\n * @param queryOptions.lang - Language for metadata.\n * @param options - Fetch options including cache settings.\n * @returns The transaction details.\n */\n async fetchV1TransactionByHash(\n chainId: number,\n txHash: string,\n queryOptions?: {\n includeLogs?: boolean;\n includeValueTransfers?: boolean;\n includeTxMetadata?: boolean;\n lang?: string;\n },\n options?: FetchOptions,\n ): Promise<V1TransactionByHashResponse> {\n return this.queryClient.fetchQuery(\n this.getV1TransactionByHashQueryOptions(\n chainId,\n txHash,\n queryOptions,\n options,\n ),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v1 account transactions.\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.chainIds - Chain IDs to filter by.\n * @param queryOptions.cursor - Pagination cursor.\n * @param queryOptions.startTimestamp - Start timestamp filter.\n * @param queryOptions.endTimestamp - End timestamp filter.\n * @param queryOptions.sortDirection - Sort direction (ASC/DESC).\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useInfiniteQuery, useSuspenseQuery, etc.\n */\n getV1AccountTransactionsQueryOptions(\n address: string,\n queryOptions?: {\n chainIds?: string[];\n cursor?: string;\n startTimestamp?: number;\n endTimestamp?: number;\n sortDirection?: 'ASC' | 'DESC';\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V1AccountTransactionsResponse> {\n return {\n queryKey: [\n 'accounts',\n 'transactions',\n 'v1Account',\n {\n address,\n options: queryOptions && {\n ...queryOptions,\n chainIds:\n queryOptions.chainIds && [...queryOptions.chainIds].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V1AccountTransactionsResponse> => {\n if (address === '') {\n return { data: [], pageInfo: { count: 0, hasNextPage: false } };\n }\n return this.fetch<V1AccountTransactionsResponse>(\n API_URLS.ACCOUNTS,\n `/v1/accounts/${address}/transactions`,\n {\n signal,\n params: {\n networks: queryOptions?.chainIds,\n cursor: queryOptions?.cursor,\n startTimestamp: queryOptions?.startTimestamp,\n endTimestamp: queryOptions?.endTimestamp,\n sortDirection: queryOptions?.sortDirection,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRANSACTIONS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get account transactions (v1 endpoint).\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.chainIds - Chain IDs to filter by.\n * @param queryOptions.cursor - Pagination cursor.\n * @param queryOptions.startTimestamp - Start timestamp filter.\n * @param queryOptions.endTimestamp - End timestamp filter.\n * @param queryOptions.sortDirection - Sort direction (ASC/DESC).\n * @param options - Fetch options including cache settings.\n * @returns The account transactions response.\n */\n async fetchV1AccountTransactions(\n address: string,\n queryOptions?: {\n chainIds?: string[];\n cursor?: string;\n startTimestamp?: number;\n endTimestamp?: number;\n sortDirection?: 'ASC' | 'DESC';\n },\n options?: FetchOptions,\n ): Promise<V1AccountTransactionsResponse> {\n if (address === '') {\n return { data: [], pageInfo: { count: 0, hasNextPage: false } };\n }\n return this.queryClient.fetchQuery(\n this.getV1AccountTransactionsQueryOptions(address, queryOptions, options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v4 multi-account transactions.\n * Use this with `queryClient.fetchQuery()`, `useQuery()`, `useInfiniteQuery()`,\n * `useSuspenseQuery()`, etc. for flexibility across query permutations.\n *\n * @param accountAddresses - Array of CAIP-10 account addresses.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Comma-separated CAIP-2 network IDs.\n * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.\n * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.\n * @param queryOptions.cursor - Pagination cursor (deprecated, use after).\n * @param queryOptions.limit - Maximum number of transactions to request (default 50).\n * @param queryOptions.after - JWT containing the endCursor for the query.\n * @param queryOptions.before - JWT containing the startCursor for the query.\n * @param queryOptions.sortDirection - Sort direction (ASC/DESC).\n * @param queryOptions.includeLogs - Whether to include logs.\n * @param queryOptions.includeTxMetadata - Whether to include transaction metadata.\n * @param queryOptions.maxLogsPerTx - Maximum number of logs per transaction.\n * @param queryOptions.lang - Language for transaction category (default \"en\").\n * @param options - Fetch options including cache settings.\n * @returns Query options object compatible with fetchQuery/useQuery/useInfiniteQuery.\n */\n getV4MultiAccountTransactionsQueryOptions(\n accountAddresses: string[],\n queryOptions?: {\n networks?: string[];\n startTimestamp?: number;\n endTimestamp?: number;\n cursor?: string;\n limit?: number;\n after?: string;\n before?: string;\n sortDirection?: 'ASC' | 'DESC';\n includeLogs?: boolean;\n includeTxMetadata?: boolean;\n maxLogsPerTx?: number;\n lang?: string;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V4MultiAccountTransactionsResponse> {\n return {\n queryKey: [\n 'accounts',\n 'transactions',\n 'v4MultiAccount',\n {\n accountAddresses: [...accountAddresses].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V4MultiAccountTransactionsResponse>(\n API_URLS.ACCOUNTS,\n '/v4/multiaccount/transactions',\n {\n signal,\n params: {\n accountAddresses,\n networks: queryOptions?.networks,\n startTimestamp: queryOptions?.startTimestamp,\n endTimestamp: queryOptions?.endTimestamp,\n cursor: queryOptions?.cursor,\n limit: queryOptions?.limit,\n after: queryOptions?.after,\n before: queryOptions?.before,\n sortDirection: queryOptions?.sortDirection,\n includeLogs: queryOptions?.includeLogs,\n includeTxMetadata: queryOptions?.includeTxMetadata,\n maxLogsPerTx: queryOptions?.maxLogsPerTx,\n lang: queryOptions?.lang,\n },\n },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRANSACTIONS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Returns TanStack Query options for v4 multi-account transactions,\n * designed for use with `useInfiniteQuery`.\n *\n * @param params - API endpoint parameters (excluding pagination cursors).\n * @param params.accountAddresses - Array of CAIP-10 account addresses.\n * @param params.networks - CAIP-2 network IDs to filter by.\n * @param params.startTimestamp - Start timestamp (epoch).\n * @param params.endTimestamp - End timestamp (epoch).\n * @param params.limit - Max transactions per page (default 50).\n * @param params.sortDirection - Sort direction (ASC/DESC).\n * @param params.includeLogs - Whether to include logs.\n * @param params.includeTxMetadata - Whether to include transaction metadata.\n * @param params.maxLogsPerTx - Max logs per transaction.\n * @param params.lang - Language for transaction category (default \"en\").\n * @param options - Fetch options including cache settings.\n * @returns Options object compatible with `useInfiniteQuery`.\n */\n getV4MultiAccountTransactionsInfiniteQueryOptions(\n params: {\n accountAddresses: string[];\n networks?: string[];\n startTimestamp?: number;\n endTimestamp?: number;\n limit?: number;\n sortDirection?: 'ASC' | 'DESC';\n includeLogs?: boolean;\n includeTxMetadata?: boolean;\n maxLogsPerTx?: number;\n lang?: string;\n },\n options?: FetchOptions,\n ): FetchInfiniteQueryOptions<\n V4MultiAccountTransactionsResponse,\n Error,\n V4MultiAccountTransactionsResponse,\n readonly unknown[],\n string | undefined\n > {\n return {\n queryKey: [\n 'accounts',\n 'transactions',\n 'v4MultiAccount',\n {\n accountAddresses: [...params.accountAddresses].sort(),\n networks: params.networks && [...params.networks].sort(),\n startTimestamp: params.startTimestamp,\n endTimestamp: params.endTimestamp,\n limit: params.limit,\n sortDirection: params.sortDirection,\n includeLogs: params.includeLogs,\n includeTxMetadata: params.includeTxMetadata,\n maxLogsPerTx: params.maxLogsPerTx,\n lang: params.lang,\n },\n ] as const,\n queryFn: ({\n pageParam,\n signal,\n }: {\n pageParam?: string;\n signal?: AbortSignal;\n }) =>\n this.fetch<V4MultiAccountTransactionsResponse>(\n API_URLS.ACCOUNTS,\n '/v4/multiaccount/transactions',\n {\n signal,\n params: {\n accountAddresses: params.accountAddresses,\n networks: params.networks,\n startTimestamp: params.startTimestamp,\n endTimestamp: params.endTimestamp,\n cursor: pageParam,\n limit: params.limit,\n sortDirection: params.sortDirection,\n includeLogs: params.includeLogs,\n includeTxMetadata: params.includeTxMetadata,\n maxLogsPerTx: params.maxLogsPerTx,\n lang: params.lang,\n },\n },\n ),\n getNextPageParam: ({ pageInfo }: V4MultiAccountTransactionsResponse) =>\n pageInfo.hasNextPage ? pageInfo.endCursor : undefined,\n initialPageParam: options?.initialPageParam,\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRANSACTIONS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get multi-account transactions (v4 endpoint).\n *\n * @param accountAddresses - Array of CAIP-10 account addresses.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Comma-separated CAIP-2 network IDs.\n * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.\n * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.\n * @param queryOptions.cursor - Pagination cursor (deprecated, use after).\n * @param queryOptions.limit - Maximum number of transactions to request (default 50).\n * @param queryOptions.after - JWT containing the endCursor for the query.\n * @param queryOptions.before - JWT containing the startCursor for the query.\n * @param queryOptions.sortDirection - Sort direction (ASC/DESC).\n * @param queryOptions.includeLogs - Whether to include logs.\n * @param queryOptions.includeTxMetadata - Whether to include transaction metadata.\n * @param queryOptions.maxLogsPerTx - Maximum number of logs per transaction.\n * @param queryOptions.lang - Language for transaction category (default \"en\").\n * @param options - Fetch options including cache settings.\n * @returns The multi-account transactions response.\n */\n async fetchV4MultiAccountTransactions(\n accountAddresses: string[],\n queryOptions?: {\n networks?: string[];\n startTimestamp?: number;\n endTimestamp?: number;\n cursor?: string;\n limit?: number;\n after?: string;\n before?: string;\n sortDirection?: 'ASC' | 'DESC';\n includeLogs?: boolean;\n includeTxMetadata?: boolean;\n maxLogsPerTx?: number;\n lang?: string;\n },\n options?: FetchOptions,\n ): Promise<V4MultiAccountTransactionsResponse> {\n return this.queryClient.fetchQuery(\n this.getV4MultiAccountTransactionsQueryOptions(\n accountAddresses,\n queryOptions,\n options,\n ),\n );\n }\n\n // ==========================================================================\n // RELATIONSHIPS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 account relationship.\n *\n * @param chainId - The chain ID.\n * @param from - The from address.\n * @param to - The to address.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1AccountRelationshipQueryOptions(\n chainId: number,\n from: string,\n to: string,\n options?: FetchOptions,\n ): FetchQueryOptions<V1AccountRelationshipResult> {\n return {\n queryKey: ['accounts', 'v1Relationship', chainId, from, to],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V1AccountRelationshipResult> =>\n this.fetch<V1AccountRelationshipResult>(\n API_URLS.ACCOUNTS,\n `/v1/networks/${chainId}/accounts/${from}/relationships/${to}`,\n { signal },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.DEFAULT,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get account address relationship (v1 endpoint).\n *\n * @param chainId - The chain ID.\n * @param from - The from address.\n * @param to - The to address.\n * @param options - Fetch options including cache settings.\n * @returns The account relationship result.\n */\n async fetchV1AccountRelationship(\n chainId: number,\n from: string,\n to: string,\n options?: FetchOptions,\n ): Promise<V1AccountRelationshipResult> {\n return this.queryClient.fetchQuery(\n this.getV1AccountRelationshipQueryOptions(chainId, from, to, options),\n );\n }\n\n // ==========================================================================\n // NFTs\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v2 account NFTs.\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.cursor - Pagination cursor.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2AccountNftsQueryOptions(\n address: string,\n queryOptions?: { networks?: number[]; cursor?: string },\n options?: FetchOptions,\n ): FetchQueryOptions<V2NftsResponse> {\n return {\n queryKey: [\n 'accounts',\n 'v2Nfts',\n {\n address,\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V2NftsResponse> => {\n if (address === '') {\n return { data: [], pageInfo: { count: 0, hasNextPage: false } };\n }\n return this.fetch<V2NftsResponse>(\n API_URLS.ACCOUNTS,\n `/v2/accounts/${address}/nfts`,\n {\n signal,\n params: {\n networks: queryOptions?.networks,\n cursor: queryOptions?.cursor,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.DEFAULT,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get NFTs owned by an account (v2 endpoint).\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.cursor - Pagination cursor.\n * @param options - Fetch options including cache settings.\n * @returns The NFTs response.\n */\n async fetchV2AccountNfts(\n address: string,\n queryOptions?: { networks?: number[]; cursor?: string },\n options?: FetchOptions,\n ): Promise<V2NftsResponse> {\n if (address === '') {\n return { data: [], pageInfo: { count: 0, hasNextPage: false } };\n }\n return this.queryClient.fetchQuery(\n this.getV2AccountNftsQueryOptions(address, queryOptions, options),\n );\n }\n\n // ==========================================================================\n // TOKEN DISCOVERY\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v2 account tokens.\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2AccountTokensQueryOptions(\n address: string,\n queryOptions?: { networks?: number[] },\n options?: FetchOptions,\n ): FetchQueryOptions<V2TokensResponse> {\n return {\n queryKey: [\n 'accounts',\n 'v2Tokens',\n {\n address,\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V2TokensResponse> => {\n if (address === '') {\n return { data: [] };\n }\n return this.fetch<V2TokensResponse>(\n API_URLS.ACCOUNTS,\n `/v2/accounts/${address}/tokens`,\n {\n signal,\n params: { networks: queryOptions?.networks },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.DEFAULT,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get ERC20 tokens detected for an account (v2 endpoint).\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns The tokens response.\n */\n async fetchV2AccountTokens(\n address: string,\n queryOptions?: { networks?: number[] },\n options?: FetchOptions,\n ): Promise<V2TokensResponse> {\n if (address === '') {\n return { data: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV2AccountTokensQueryOptions(address, queryOptions, options),\n );\n }\n}\n"]}
1
+ {"version":3,"file":"client.mjs","sourceRoot":"","sources":["../../../src/api/accounts/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,EACL,aAAa,EACb,QAAQ,EACR,WAAW,EACX,QAAQ,EACT,2BAA0B;AAC3B,OAAO,EAAE,wBAAwB,EAAE,4BAA2B;AAmB9D;;;;;;GAMG;AACH,SAAS,yBAAyB;IAChC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAChE,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAClD,6EAA6E;IAC7E,mBAAmB;IACnB,6EAA6E;IAE7E;;OAEG;IACH,KAAK,CAAC,kBAAkB;QACtB,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;YACvC,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;SACnC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB;QACtB,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;YACvC,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,qBAAqB;IACrB,6EAA6E;IAE7E;;;;;OAKG;IACH,kCAAkC,CAChC,OAAsB;QAEtB,OAAO;YACL,QAAQ,EAAE,CAAC,UAAU,EAAE,qBAAqB,CAAC;YAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,EAAwB,EAAE,EAAE,CAC5C,IAAI,CAAC,KAAK,CACR,QAAQ,CAAC,QAAQ,EACjB,uBAAuB,EACvB,EAAE,MAAM,EAAE,CACX;YACH,GAAG,wBAAwB,CAAC,OAAO,CAAC;YACpC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,WAAW,CAAC,kBAAkB;YAC/D,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC,QAAQ;SAC7C,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,wBAAwB,CAC5B,OAAsB;QAEtB,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAChC,IAAI,CAAC,kCAAkC,CAAC,OAAO,CAAC,CACjD,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,kCAAkC,CAChC,OAAsB;QAEtB,OAAO;YACL,QAAQ,EAAE,CAAC,UAAU,EAAE,qBAAqB,CAAC;YAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,EAAwB,EAAE,EAAE,CAC5C,IAAI,CAAC,KAAK,CACR,QAAQ,CAAC,QAAQ,EACjB,uBAAuB,EACvB,EAAE,MAAM,EAAE,CACX;YACH,GAAG,wBAAwB,CAAC,OAAO,CAAC;YACpC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,WAAW,CAAC,kBAAkB;YAC/D,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC,QAAQ;SAC7C,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,wBAAwB,CAC5B,OAAsB;QAEtB,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAChC,IAAI,CAAC,kCAAkC,CAAC,OAAO,CAAC,CACjD,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,kBAAkB;IAClB,6EAA6E;IAE7E;;;;;;;;;OASG;IACH,+BAA+B,CAC7B,UAAoB,EACpB,YAAoE,EACpE,OAAsB;QAEtB,OAAO;YACL,QAAQ,EAAE;gBACR,UAAU;gBACV,kBAAkB;gBAClB;oBACE,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE;oBAClC,OAAO,EAAE,YAAY,IAAI;wBACvB,GAAG,YAAY;wBACf,QAAQ,EACN,YAAY,CAAC,QAAQ,IAAI,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;qBAC7D;iBACF;aACF;YACD,OAAO,EAAE,KAAK,EAAE,EACd,MAAM,GACe,EAAqC,EAAE;gBAC5D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;gBAChC,CAAC;gBACD,OAAO,IAAI,CAAC,KAAK,CACf,QAAQ,CAAC,QAAQ,EACjB,oBAAoB,EACpB;oBACE,MAAM;oBACN,MAAM,EAAE;wBACN,UAAU;wBACV,kBAAkB,EAAE,YAAY,EAAE,kBAAkB;wBACpD,QAAQ,EAAE,YAAY,EAAE,QAAQ;qBACjC;iBACF,CACF,CAAC;YACJ,CAAC;YACD,GAAG,wBAAwB,CAAC,OAAO,CAAC;YACpC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,WAAW,CAAC,QAAQ;YACrD,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC,OAAO;SAC5C,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,qBAAqB,CACzB,UAAoB,EACpB,YAAoE,EACpE,OAAsB;QAEtB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAChC,IAAI,CAAC,+BAA+B,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CACxE,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,WAAW;IACX,6EAA6E;IAE7E;;;;;;;;;;;OAWG;IACH,yBAAyB,CACvB,OAAe,EACf,YAKC,EACD,OAAsB;QAEtB,OAAO;YACL,QAAQ,EAAE;gBACR,UAAU;gBACV,UAAU;gBACV,IAAI;gBACJ;oBACE,OAAO;oBACP,OAAO,EAAE,YAAY,IAAI;wBACvB,GAAG,YAAY;wBACf,QAAQ,EACN,YAAY,CAAC,QAAQ,IAAI,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;wBAC5D,qBAAqB,EACnB,YAAY,CAAC,qBAAqB;4BAClC,CAAC,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAC,IAAI,EAAE;qBACjD;iBACF;aACF;YACD,OAAO,EAAE,KAAK,EAAE,EACd,MAAM,GACe,EAA+B,EAAE;gBACtD,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;oBACnB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC;gBAC7D,CAAC;gBACD,OAAO,IAAI,CAAC,KAAK,CACf,QAAQ,CAAC,QAAQ,EACjB,gBAAgB,OAAO,WAAW,EAClC;oBACE,MAAM;oBACN,MAAM,EAAE;wBACN,QAAQ,EAAE,YAAY,EAAE,QAAQ;wBAChC,qBAAqB,EAAE,YAAY,EAAE,qBAAqB;wBAC1D,qBAAqB,EAAE,YAAY,EAAE,qBAAqB;wBAC1D,mBAAmB,EAAE,YAAY,EAAE,mBAAmB;qBACvD;iBACF,CACF,CAAC;YACJ,CAAC;YACD,GAAG,wBAAwB,CAAC,OAAO,CAAC;YACpC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,WAAW,CAAC,QAAQ;YACrD,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC,OAAO;SAC5C,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,eAAe,CACnB,OAAe,EACf,YAKC,EACD,OAAsB;QAEtB,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACnB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC;QAC7D,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAChC,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,CAC/D,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,qCAAqC,CACnC,gBAA0B,EAC1B,YAAsC,EACtC,OAAsB;QAEtB,OAAO;YACL,QAAQ,EAAE;gBACR,UAAU;gBACV,UAAU;gBACV,IAAI;gBACJ;oBACE,gBAAgB,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,IAAI,EAAE;oBAC9C,OAAO,EAAE,YAAY,IAAI;wBACvB,GAAG,YAAY;wBACf,QAAQ,EACN,YAAY,CAAC,QAAQ,IAAI,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;qBAC7D;iBACF;aACF;YACD,OAAO,EAAE,KAAK,EAAE,EACd,MAAM,GACe,EAA+B,EAAE;gBACtD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAClC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC;gBAC7D,CAAC;gBACD,OAAO,IAAI,CAAC,KAAK,CACf,QAAQ,CAAC,QAAQ,EACjB,2BAA2B,EAC3B;oBACE,MAAM;oBACN,MAAM,EAAE;wBACN,gBAAgB;wBAChB,QAAQ,EAAE,YAAY,EAAE,QAAQ;qBACjC;iBACF,CACF,CAAC;YACJ,CAAC;YACD,GAAG,wBAAwB,CAAC,OAAO,CAAC;YACpC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,WAAW,CAAC,QAAQ;YACrD,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC,OAAO;SAC5C,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,2BAA2B,CAC/B,gBAA0B,EAC1B,YAAsC,EACtC,OAAsB;QAEtB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC;QAC7D,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAChC,IAAI,CAAC,qCAAqC,CACxC,gBAAgB,EAChB,YAAY,EACZ,OAAO,CACR,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,qCAAqC,CACnC,UAAoB,EACpB,YAIC,EACD,OAAsB;QAEtB,OAAO;YACL,QAAQ,EAAE;gBACR,UAAU;gBACV,UAAU;gBACV,IAAI;gBACJ;oBACE,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE;oBAClC,OAAO,EAAE,YAAY,IAAI;wBACvB,GAAG,YAAY;wBACf,QAAQ,EACN,YAAY,CAAC,QAAQ,IAAI,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;qBAC7D;iBACF;aACF;YACD,OAAO,EAAE,KAAK,EAAE,EACd,MAAM,GACe,EAA+B,EAAE;gBACtD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,mBAAmB,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBAC7D,CAAC;gBACD,OAAO,IAAI,CAAC,KAAK,CACf,QAAQ,CAAC,QAAQ,EACjB,2BAA2B,EAC3B;oBACE,MAAM;oBACN,MAAM,EAAE;wBACN,UAAU;wBACV,QAAQ,EAAE,YAAY,EAAE,QAAQ;wBAChC,kBAAkB,EAAE,YAAY,EAAE,kBAAkB;wBACpD,mBAAmB,EAAE,YAAY,EAAE,mBAAmB;wBACtD,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;4BAC3C,CAAC,CAAC,yBAAyB,EAAE;4BAC7B,CAAC,CAAC,SAAS;qBACd;iBACF,CACF,CAAC;YACJ,CAAC;YACD,GAAG,wBAAwB,CAAC,OAAO,CAAC;YACpC,SAAS,EACP,OAAO,EAAE,SAAS;gBAClB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzD,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC,OAAO;SAC5C,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,2BAA2B,CAC/B,UAAoB,EACpB,YAIC,EACD,OAAsB;QAEtB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,mBAAmB,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC7D,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAChC,IAAI,CAAC,qCAAqC,CACxC,UAAU,EACV,YAAY,EACZ,OAAO,CACR,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,qCAAqC,CACnC,UAAoB,EACpB,YAaC,EACD,OAAsB;QAEtB,OAAO;YACL,QAAQ,EAAE;gBACR,UAAU;gBACV,UAAU;gBACV,IAAI;gBACJ;oBACE,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE;oBAClC,OAAO,EAAE,YAAY,IAAI;wBACvB,GAAG,YAAY;wBACf,QAAQ,EACN,YAAY,CAAC,QAAQ,IAAI,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;wBAC5D,eAAe,EACb,YAAY,CAAC,eAAe;4BAC5B,CAAC,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE;wBAC1C,eAAe,EACb,YAAY,CAAC,eAAe;4BAC5B,CAAC,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE;qBAC3C;iBACF;aACF;YACD,OAAO,EAAE,KAAK,EAAE,EACd,MAAM,GACe,EAA+B,EAAE;gBACtD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,OAAO;wBACL,mBAAmB,EAAE,EAAE;wBACvB,0BAA0B,EAAE,EAAE;wBAC9B,QAAQ,EAAE,EAAE;qBACb,CAAC;gBACJ,CAAC;gBACD,OAAO,IAAI,CAAC,KAAK,CACf,QAAQ,CAAC,QAAQ,EACjB,2BAA2B,EAC3B;oBACE,MAAM;oBACN,MAAM,EAAE;wBACN,UAAU;wBACV,QAAQ,EAAE,YAAY,EAAE,QAAQ;wBAChC,qBAAqB,EAAE,YAAY,EAAE,qBAAqB;wBAC1D,cAAc,EAAE,YAAY,EAAE,cAAc;wBAC5C,YAAY,EAAE,YAAY,EAAE,YAAY;wBACxC,aAAa,EAAE,YAAY,EAAE,aAAa;wBAC1C,oBAAoB,EAAE,YAAY,EAAE,oBAAoB;wBACxD,mBAAmB,EAAE,YAAY,EAAE,mBAAmB;wBACtD,uBAAuB,EAAE,YAAY,EAAE,uBAAuB;wBAC9D,aAAa,EAAE,YAAY,EAAE,aAAa;wBAC1C,UAAU,EAAE,YAAY,EAAE,UAAU;wBACpC,eAAe,EAAE,YAAY,EAAE,eAAe;wBAC9C,eAAe,EAAE,YAAY,EAAE,eAAe;wBAC9C,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;4BAC3C,CAAC,CAAC,yBAAyB,EAAE;4BAC7B,CAAC,CAAC,SAAS;qBACd;iBACF,CACF,CAAC;YACJ,CAAC;YACD,GAAG,wBAAwB,CAAC,OAAO,CAAC;YACpC,SAAS,EACP,OAAO,EAAE,SAAS;gBAClB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzD,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC,OAAO;SAC5C,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,2BAA2B,CAC/B,UAAoB,EACpB,YAaC,EACD,OAAsB;QAEtB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,mBAAmB,EAAE,EAAE;gBACvB,0BAA0B,EAAE,EAAE;gBAC9B,QAAQ,EAAE,EAAE;aACb,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAChC,IAAI,CAAC,qCAAqC,CACxC,UAAU,EACV,YAAY,EACZ,OAAO,CACR,CACF,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,eAAe;IACf,6EAA6E;IAE7E;;;;;;;;;;;;OAYG;IACH,kCAAkC,CAChC,OAAe,EACf,MAAc,EACd,YAKC,EACD,OAAsB;QAEtB,OAAO;YACL,QAAQ,EAAE;gBACR,UAAU;gBACV,cAAc;gBACd,UAAU;gBACV,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE;aAC3C;YACD,OAAO,EAAE,CAAC,EAAE,MAAM,EAAwB,EAAE,EAAE,CAC5C,IAAI,CAAC,KAAK,CACR,QAAQ,CAAC,QAAQ,EACjB,gBAAgB,OAAO,iBAAiB,MAAM,EAAE,EAChD;gBACE,MAAM;gBACN,MAAM,EAAE;oBACN,WAAW,EAAE,YAAY,EAAE,WAAW;oBACtC,qBAAqB,EAAE,YAAY,EAAE,qBAAqB;oBAC1D,iBAAiB,EAAE,YAAY,EAAE,iBAAiB;oBAClD,IAAI,EAAE,YAAY,EAAE,IAAI;iBACzB;aACF,CACF;YACH,GAAG,wBAAwB,CAAC,OAAO,CAAC;YACpC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,WAAW,CAAC,YAAY;YACzD,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC,OAAO;SAC5C,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,wBAAwB,CAC5B,OAAe,EACf,MAAc,EACd,YAKC,EACD,OAAsB;QAEtB,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAChC,IAAI,CAAC,kCAAkC,CACrC,OAAO,EACP,MAAM,EACN,YAAY,EACZ,OAAO,CACR,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,oCAAoC,CAClC,OAAe,EACf,YAMC,EACD,OAAsB;QAEtB,OAAO;YACL,QAAQ,EAAE;gBACR,UAAU;gBACV,cAAc;gBACd,WAAW;gBACX;oBACE,OAAO;oBACP,OAAO,EAAE,YAAY,IAAI;wBACvB,GAAG,YAAY;wBACf,QAAQ,EACN,YAAY,CAAC,QAAQ,IAAI,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;qBAC7D;iBACF;aACF;YACD,OAAO,EAAE,KAAK,EAAE,EACd,MAAM,GACe,EAA0C,EAAE;gBACjE,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;oBACnB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC;gBAClE,CAAC;gBACD,OAAO,IAAI,CAAC,KAAK,CACf,QAAQ,CAAC,QAAQ,EACjB,gBAAgB,OAAO,eAAe,EACtC;oBACE,MAAM;oBACN,MAAM,EAAE;wBACN,QAAQ,EAAE,YAAY,EAAE,QAAQ;wBAChC,MAAM,EAAE,YAAY,EAAE,MAAM;wBAC5B,cAAc,EAAE,YAAY,EAAE,cAAc;wBAC5C,YAAY,EAAE,YAAY,EAAE,YAAY;wBACxC,aAAa,EAAE,YAAY,EAAE,aAAa;qBAC3C;iBACF,CACF,CAAC;YACJ,CAAC;YACD,GAAG,wBAAwB,CAAC,OAAO,CAAC;YACpC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,WAAW,CAAC,YAAY;YACzD,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC,OAAO;SAC5C,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,0BAA0B,CAC9B,OAAe,EACf,YAMC,EACD,OAAsB;QAEtB,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACnB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAChC,IAAI,CAAC,oCAAoC,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,CAC1E,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,yCAAyC,CACvC,gBAA0B,EAC1B,YAaC,EACD,OAAsB;QAEtB,OAAO;YACL,QAAQ,EAAE;gBACR,UAAU;gBACV,cAAc;gBACd,gBAAgB;gBAChB;oBACE,gBAAgB,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,IAAI,EAAE;oBAC9C,OAAO,EAAE,YAAY,IAAI;wBACvB,GAAG,YAAY;wBACf,QAAQ,EACN,YAAY,CAAC,QAAQ,IAAI,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;qBAC7D;iBACF;aACF;YACD,OAAO,EAAE,CAAC,EAAE,MAAM,EAAwB,EAAE,EAAE,CAC5C,IAAI,CAAC,KAAK,CACR,QAAQ,CAAC,QAAQ,EACjB,+BAA+B,EAC/B;gBACE,MAAM;gBACN,MAAM,EAAE;oBACN,gBAAgB;oBAChB,QAAQ,EAAE,YAAY,EAAE,QAAQ;oBAChC,cAAc,EAAE,YAAY,EAAE,cAAc;oBAC5C,YAAY,EAAE,YAAY,EAAE,YAAY;oBACxC,MAAM,EAAE,YAAY,EAAE,MAAM;oBAC5B,KAAK,EAAE,YAAY,EAAE,KAAK;oBAC1B,KAAK,EAAE,YAAY,EAAE,KAAK;oBAC1B,MAAM,EAAE,YAAY,EAAE,MAAM;oBAC5B,aAAa,EAAE,YAAY,EAAE,aAAa;oBAC1C,WAAW,EAAE,YAAY,EAAE,WAAW;oBACtC,iBAAiB,EAAE,YAAY,EAAE,iBAAiB;oBAClD,YAAY,EAAE,YAAY,EAAE,YAAY;oBACxC,IAAI,EAAE,YAAY,EAAE,IAAI;iBACzB;aACF,CACF;YACH,GAAG,wBAAwB,CAAC,OAAO,CAAC;YACpC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,WAAW,CAAC,YAAY;YACzD,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC,OAAO;SAC5C,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,iDAAiD,CAC/C,MAWC,EACD,OAAsB;QAQtB,OAAO;YACL,QAAQ,EAAE;gBACR,UAAU;gBACV,cAAc;gBACd,gBAAgB;gBAChB;oBACE,gBAAgB,EAAE,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE;oBACrD,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;oBACxD,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;oBAC3C,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB;aACO;YACV,OAAO,EAAE,CAAC,EACR,SAAS,EACT,MAAM,GAIP,EAAE,EAAE,CACH,IAAI,CAAC,KAAK,CACR,QAAQ,CAAC,QAAQ,EACjB,+BAA+B,EAC/B;gBACE,MAAM;gBACN,MAAM,EAAE;oBACN,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;oBACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;oBAC3C,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB;aACF,CACF;YACH,gBAAgB,EAAE,CAAC,EAAE,QAAQ,EAAsC,EAAE,EAAE,CACrE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACvD,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;YAC3C,GAAG,wBAAwB,CAAC,OAAO,CAAC;YACpC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,WAAW,CAAC,YAAY;YACzD,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC,OAAO;SAC5C,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,+BAA+B,CACnC,gBAA0B,EAC1B,YAaC,EACD,OAAsB;QAEtB,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAChC,IAAI,CAAC,yCAAyC,CAC5C,gBAAgB,EAChB,YAAY,EACZ,OAAO,CACR,CACF,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,gBAAgB;IAChB,6EAA6E;IAE7E;;;;;;;;OAQG;IACH,oCAAoC,CAClC,OAAe,EACf,IAAY,EACZ,EAAU,EACV,OAAsB;QAEtB,OAAO;YACL,QAAQ,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;YAC3D,OAAO,EAAE,KAAK,EAAE,EACd,MAAM,GACe,EAAwC,EAAE,CAC/D,IAAI,CAAC,KAAK,CACR,QAAQ,CAAC,QAAQ,EACjB,gBAAgB,OAAO,aAAa,IAAI,kBAAkB,EAAE,EAAE,EAC9D,EAAE,MAAM,EAAE,CACX;YACH,GAAG,wBAAwB,CAAC,OAAO,CAAC;YACpC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,WAAW,CAAC,OAAO;YACpD,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC,OAAO;SAC5C,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,0BAA0B,CAC9B,OAAe,EACf,IAAY,EACZ,EAAU,EACV,OAAsB;QAEtB,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAChC,IAAI,CAAC,oCAAoC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CACtE,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,OAAO;IACP,6EAA6E;IAE7E;;;;;;;;;OASG;IACH,4BAA4B,CAC1B,OAAe,EACf,YAAuD,EACvD,OAAsB;QAEtB,OAAO;YACL,QAAQ,EAAE;gBACR,UAAU;gBACV,QAAQ;gBACR;oBACE,OAAO;oBACP,OAAO,EAAE,YAAY,IAAI;wBACvB,GAAG,YAAY;wBACf,QAAQ,EACN,YAAY,CAAC,QAAQ,IAAI,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;qBAC7D;iBACF;aACF;YACD,OAAO,EAAE,KAAK,EAAE,EACd,MAAM,GACe,EAA2B,EAAE;gBAClD,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;oBACnB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC;gBAClE,CAAC;gBACD,OAAO,IAAI,CAAC,KAAK,CACf,QAAQ,CAAC,QAAQ,EACjB,gBAAgB,OAAO,OAAO,EAC9B;oBACE,MAAM;oBACN,MAAM,EAAE;wBACN,QAAQ,EAAE,YAAY,EAAE,QAAQ;wBAChC,MAAM,EAAE,YAAY,EAAE,MAAM;qBAC7B;iBACF,CACF,CAAC;YACJ,CAAC;YACD,GAAG,wBAAwB,CAAC,OAAO,CAAC;YACpC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,WAAW,CAAC,OAAO;YACpD,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC,OAAO;SAC5C,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,kBAAkB,CACtB,OAAe,EACf,YAAuD,EACvD,OAAsB;QAEtB,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACnB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAChC,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,CAClE,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,kBAAkB;IAClB,6EAA6E;IAE7E;;;;;;;;OAQG;IACH,8BAA8B,CAC5B,OAAe,EACf,YAAsC,EACtC,OAAsB;QAEtB,OAAO;YACL,QAAQ,EAAE;gBACR,UAAU;gBACV,UAAU;gBACV;oBACE,OAAO;oBACP,OAAO,EAAE,YAAY,IAAI;wBACvB,GAAG,YAAY;wBACf,QAAQ,EACN,YAAY,CAAC,QAAQ,IAAI,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;qBAC7D;iBACF;aACF;YACD,OAAO,EAAE,KAAK,EAAE,EACd,MAAM,GACe,EAA6B,EAAE;gBACpD,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;oBACnB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBACtB,CAAC;gBACD,OAAO,IAAI,CAAC,KAAK,CACf,QAAQ,CAAC,QAAQ,EACjB,gBAAgB,OAAO,SAAS,EAChC;oBACE,MAAM;oBACN,MAAM,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;iBAC7C,CACF,CAAC;YACJ,CAAC;YACD,GAAG,wBAAwB,CAAC,OAAO,CAAC;YACpC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,WAAW,CAAC,OAAO;YACpD,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC,OAAO;SAC5C,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,oBAAoB,CACxB,OAAe,EACf,YAAsC,EACtC,OAAsB;QAEtB,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACnB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAChC,IAAI,CAAC,8BAA8B,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,CACpE,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * Accounts API Client - accounts.api.cx.metamask.io\n *\n * Handles all account-related API calls including:\n * - Supported networks\n * - Active networks\n * - Balances (v2, v4, v5)\n * - Transactions\n * - Relationships\n * - NFTs\n * - Token discovery\n */\n\nimport type {\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n QueryFunctionContext,\n} from '@tanstack/query-core';\n\nimport {\n BaseApiClient,\n API_URLS,\n STALE_TIMES,\n GC_TIMES,\n} from '../base-client.js';\nimport { getQueryOptionsOverrides } from '../shared-types.js';\nimport type { FetchOptions } from '../shared-types.js';\nimport type {\n V1SupportedNetworksResponse,\n V2SupportedNetworksResponse,\n V2ActiveNetworksResponse,\n V2BalancesResponse,\n V4BalancesResponse,\n V5BalancesResponse,\n V6BalancesResponse,\n V6VsCurrency,\n V1TransactionByHashResponse,\n V1AccountTransactionsResponse,\n V4MultiAccountTransactionsResponse,\n V1AccountRelationshipResult,\n V2NftsResponse,\n V2TokensResponse,\n} from './types.js';\n\n/**\n * Generate a short random value for the `bypassServerCache` query param. The\n * Accounts API's server-side cache keys on the full URL including query\n * params, so a unique value forces a cache miss (\"hard refresh\").\n *\n * @returns An 8-character alphanumeric string.\n */\nfunction generateBypassServerCache(): string {\n return Math.random().toString(36).slice(2, 10).padEnd(8, '0');\n}\n\n/**\n * Accounts API Client.\n * Provides methods for interacting with the Accounts API.\n */\nexport class AccountsApiClient extends BaseApiClient {\n // ==========================================================================\n // CACHE MANAGEMENT\n // ==========================================================================\n\n /**\n * Invalidate all balance queries.\n */\n async invalidateBalances(): Promise<void> {\n await this.queryClient.invalidateQueries({\n queryKey: ['accounts', 'balances'],\n });\n }\n\n /**\n * Invalidate all account queries.\n */\n async invalidateAccounts(): Promise<void> {\n await this.queryClient.invalidateQueries({\n queryKey: ['accounts'],\n });\n }\n\n // ==========================================================================\n // SUPPORTED NETWORKS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 supported networks.\n *\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1SupportedNetworksQueryOptions(\n options?: FetchOptions,\n ): FetchQueryOptions<V1SupportedNetworksResponse> {\n return {\n queryKey: ['accounts', 'v1SupportedNetworks'],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V1SupportedNetworksResponse>(\n API_URLS.ACCOUNTS,\n '/v1/supportedNetworks',\n { signal },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.SUPPORTED_NETWORKS,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get list of supported networks (v1 endpoint).\n *\n * @param options - Fetch options including cache settings.\n * @returns The list of supported networks.\n */\n async fetchV1SupportedNetworks(\n options?: FetchOptions,\n ): Promise<V1SupportedNetworksResponse> {\n return this.queryClient.fetchQuery(\n this.getV1SupportedNetworksQueryOptions(options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v2 supported networks.\n *\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2SupportedNetworksQueryOptions(\n options?: FetchOptions,\n ): FetchQueryOptions<V2SupportedNetworksResponse> {\n return {\n queryKey: ['accounts', 'v2SupportedNetworks'],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V2SupportedNetworksResponse>(\n API_URLS.ACCOUNTS,\n '/v2/supportedNetworks',\n { signal },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.SUPPORTED_NETWORKS,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get list of supported networks (v2 endpoint).\n *\n * @param options - Fetch options including cache settings.\n * @returns The list of supported networks.\n */\n async fetchV2SupportedNetworks(\n options?: FetchOptions,\n ): Promise<V2SupportedNetworksResponse> {\n return this.queryClient.fetchQuery(\n this.getV2SupportedNetworksQueryOptions(options),\n );\n }\n\n // ==========================================================================\n // ACTIVE NETWORKS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v2 active networks.\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2ActiveNetworksQueryOptions(\n accountIds: string[],\n queryOptions?: { filterMMListTokens?: boolean; networks?: string[] },\n options?: FetchOptions,\n ): FetchQueryOptions<V2ActiveNetworksResponse> {\n return {\n queryKey: [\n 'accounts',\n 'v2ActiveNetworks',\n {\n accountIds: [...accountIds].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V2ActiveNetworksResponse> => {\n if (accountIds.length === 0) {\n return { activeNetworks: [] };\n }\n return this.fetch<V2ActiveNetworksResponse>(\n API_URLS.ACCOUNTS,\n '/v2/activeNetworks',\n {\n signal,\n params: {\n accountIds,\n filterMMListTokens: queryOptions?.filterMMListTokens,\n networks: queryOptions?.networks,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.NETWORKS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get active networks by CAIP-10 account IDs (v2 endpoint).\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns The active networks response.\n */\n async fetchV2ActiveNetworks(\n accountIds: string[],\n queryOptions?: { filterMMListTokens?: boolean; networks?: string[] },\n options?: FetchOptions,\n ): Promise<V2ActiveNetworksResponse> {\n if (accountIds.length === 0) {\n return { activeNetworks: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV2ActiveNetworksQueryOptions(accountIds, queryOptions, options),\n );\n }\n\n // ==========================================================================\n // BALANCES\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v2 balances.\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.filterSupportedTokens - Whether to filter supported tokens.\n * @param queryOptions.includeTokenAddresses - Token addresses to include.\n * @param queryOptions.includeStakedAssets - Whether to include staked assets.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2BalancesQueryOptions(\n address: string,\n queryOptions?: {\n networks?: number[];\n filterSupportedTokens?: boolean;\n includeTokenAddresses?: string[];\n includeStakedAssets?: boolean;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V2BalancesResponse> {\n return {\n queryKey: [\n 'accounts',\n 'balances',\n 'v2',\n {\n address,\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n includeTokenAddresses:\n queryOptions.includeTokenAddresses &&\n [...queryOptions.includeTokenAddresses].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V2BalancesResponse> => {\n if (address === '') {\n return { count: 0, balances: [], unprocessedNetworks: [] };\n }\n return this.fetch<V2BalancesResponse>(\n API_URLS.ACCOUNTS,\n `/v2/accounts/${address}/balances`,\n {\n signal,\n params: {\n networks: queryOptions?.networks,\n filterSupportedTokens: queryOptions?.filterSupportedTokens,\n includeTokenAddresses: queryOptions?.includeTokenAddresses,\n includeStakedAssets: queryOptions?.includeStakedAssets,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.BALANCES,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get account balances for a single address (v2 endpoint).\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.filterSupportedTokens - Whether to filter supported tokens.\n * @param queryOptions.includeTokenAddresses - Token addresses to include.\n * @param queryOptions.includeStakedAssets - Whether to include staked assets.\n * @param options - Fetch options including cache settings.\n * @returns The account balances response.\n */\n async fetchV2Balances(\n address: string,\n queryOptions?: {\n networks?: number[];\n filterSupportedTokens?: boolean;\n includeTokenAddresses?: string[];\n includeStakedAssets?: boolean;\n },\n options?: FetchOptions,\n ): Promise<V2BalancesResponse> {\n if (address === '') {\n return { count: 0, balances: [], unprocessedNetworks: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV2BalancesQueryOptions(address, queryOptions, options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v4 multi-account balances.\n *\n * @param accountAddresses - Array of account addresses.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV4MultiAccountBalancesQueryOptions(\n accountAddresses: string[],\n queryOptions?: { networks?: number[] },\n options?: FetchOptions,\n ): FetchQueryOptions<V4BalancesResponse> {\n return {\n queryKey: [\n 'accounts',\n 'balances',\n 'v4',\n {\n accountAddresses: [...accountAddresses].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V4BalancesResponse> => {\n if (accountAddresses.length === 0) {\n return { count: 0, balances: [], unprocessedNetworks: [] };\n }\n return this.fetch<V4BalancesResponse>(\n API_URLS.ACCOUNTS,\n '/v4/multiaccount/balances',\n {\n signal,\n params: {\n accountAddresses,\n networks: queryOptions?.networks,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.BALANCES,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get balances for multiple accounts (v4 endpoint).\n *\n * @param accountAddresses - Array of account addresses.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns The multi-account balances response.\n */\n async fetchV4MultiAccountBalances(\n accountAddresses: string[],\n queryOptions?: { networks?: number[] },\n options?: FetchOptions,\n ): Promise<V4BalancesResponse> {\n if (accountAddresses.length === 0) {\n return { count: 0, balances: [], unprocessedNetworks: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV4MultiAccountBalancesQueryOptions(\n accountAddresses,\n queryOptions,\n options,\n ),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v5 multi-account balances.\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.includeStakedAssets - Whether to include staked assets.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV5MultiAccountBalancesQueryOptions(\n accountIds: string[],\n queryOptions?: {\n filterMMListTokens?: boolean;\n networks?: string[];\n includeStakedAssets?: boolean;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V5BalancesResponse> {\n return {\n queryKey: [\n 'accounts',\n 'balances',\n 'v5',\n {\n accountIds: [...accountIds].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V5BalancesResponse> => {\n if (accountIds.length === 0) {\n return { count: 0, unprocessedNetworks: [], balances: [] };\n }\n return this.fetch<V5BalancesResponse>(\n API_URLS.ACCOUNTS,\n '/v5/multiaccount/balances',\n {\n signal,\n params: {\n accountIds,\n networks: queryOptions?.networks,\n filterMMListTokens: queryOptions?.filterMMListTokens,\n includeStakedAssets: queryOptions?.includeStakedAssets,\n bypassServerCache: options?.bypassServerCache\n ? generateBypassServerCache()\n : undefined,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime:\n options?.staleTime ??\n (options?.bypassServerCache ? 0 : STALE_TIMES.BALANCES),\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get balances for multiple accounts using CAIP-10 IDs (v5 endpoint).\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.includeStakedAssets - Whether to include staked assets.\n * @param options - Fetch options including cache settings.\n * @returns The multi-account balances response.\n */\n async fetchV5MultiAccountBalances(\n accountIds: string[],\n queryOptions?: {\n filterMMListTokens?: boolean;\n networks?: string[];\n includeStakedAssets?: boolean;\n },\n options?: FetchOptions,\n ): Promise<V5BalancesResponse> {\n if (accountIds.length === 0) {\n return { count: 0, unprocessedNetworks: [], balances: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV5MultiAccountBalancesQueryOptions(\n accountIds,\n queryOptions,\n options,\n ),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v6 multi-account balances.\n * The v6 endpoint returns token balances and, optionally, DeFi positions and\n * spot prices.\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Comma-separated CAIP-2 chain IDs to filter by.\n * @param queryOptions.filterSupportedTokens - Whether to filter the assets to only tokens existing in the Token API.\n * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.\n * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.\n * @param queryOptions.includeLabels - Whether to include asset metadata labels in the response.\n * @param queryOptions.includeCanonicalHead - Whether to include the canonical head asset ID in the response.\n * @param queryOptions.includeDeFiBalances - Whether to include DeFi positions (token balances are always returned).\n * @param queryOptions.forceFetchDeFiPositions - Whether to fetch DeFi positions for all accounts, skipping the cached non-DeFi-user check.\n * @param queryOptions.includePrices - Whether to include spot prices for each token and DeFi position asset.\n * @param queryOptions.vsCurrency - Quote currency for spot prices when `includePrices` is true (default `usd`).\n * @param queryOptions.includeAssetIds - ERC-20 CAIP-19 asset IDs to confirm detection for; undetected IDs are returned in `unprocessedIncludeAssetIds`.\n * @param queryOptions.excludeAssetIds - ERC-20 CAIP-19 asset IDs to exclude from balance results.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV6MultiAccountBalancesQueryOptions(\n accountIds: string[],\n queryOptions?: {\n networks?: string[];\n filterSupportedTokens?: boolean;\n startTimestamp?: number;\n endTimestamp?: number;\n includeLabels?: boolean;\n includeCanonicalHead?: boolean;\n includeDeFiBalances?: boolean;\n forceFetchDeFiPositions?: boolean;\n includePrices?: boolean;\n vsCurrency?: V6VsCurrency;\n includeAssetIds?: string[];\n excludeAssetIds?: string[];\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V6BalancesResponse> {\n return {\n queryKey: [\n 'accounts',\n 'balances',\n 'v6',\n {\n accountIds: [...accountIds].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n includeAssetIds:\n queryOptions.includeAssetIds &&\n [...queryOptions.includeAssetIds].sort(),\n excludeAssetIds:\n queryOptions.excludeAssetIds &&\n [...queryOptions.excludeAssetIds].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V6BalancesResponse> => {\n if (accountIds.length === 0) {\n return {\n unprocessedNetworks: [],\n unprocessedIncludeAssetIds: [],\n balances: [],\n };\n }\n return this.fetch<V6BalancesResponse>(\n API_URLS.ACCOUNTS,\n '/v6/multiaccount/balances',\n {\n signal,\n params: {\n accountIds,\n networks: queryOptions?.networks,\n filterSupportedTokens: queryOptions?.filterSupportedTokens,\n startTimestamp: queryOptions?.startTimestamp,\n endTimestamp: queryOptions?.endTimestamp,\n includeLabels: queryOptions?.includeLabels,\n includeCanonicalHead: queryOptions?.includeCanonicalHead,\n includeDeFiBalances: queryOptions?.includeDeFiBalances,\n forceFetchDeFiPositions: queryOptions?.forceFetchDeFiPositions,\n includePrices: queryOptions?.includePrices,\n vsCurrency: queryOptions?.vsCurrency,\n includeAssetIds: queryOptions?.includeAssetIds,\n excludeAssetIds: queryOptions?.excludeAssetIds,\n bypassServerCache: options?.bypassServerCache\n ? generateBypassServerCache()\n : undefined,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime:\n options?.staleTime ??\n (options?.bypassServerCache ? 0 : STALE_TIMES.BALANCES),\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get balances and DeFi positions for multiple accounts using CAIP-10 IDs\n * (v6 endpoint).\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Comma-separated CAIP-2 chain IDs to filter by.\n * @param queryOptions.filterSupportedTokens - Whether to filter the assets to only tokens existing in the Token API.\n * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.\n * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.\n * @param queryOptions.includeLabels - Whether to include asset metadata labels in the response.\n * @param queryOptions.includeCanonicalHead - Whether to include the canonical head asset ID in the response.\n * @param queryOptions.includeDeFiBalances - Whether to include DeFi positions (token balances are always returned).\n * @param queryOptions.forceFetchDeFiPositions - Whether to fetch DeFi positions for all accounts, skipping the cached non-DeFi-user check.\n * @param queryOptions.includePrices - Whether to include spot prices for each token and DeFi position asset.\n * @param queryOptions.vsCurrency - Quote currency for spot prices when `includePrices` is true (default `usd`).\n * @param queryOptions.includeAssetIds - ERC-20 CAIP-19 asset IDs to confirm detection for; undetected IDs are returned in `unprocessedIncludeAssetIds`.\n * @param queryOptions.excludeAssetIds - ERC-20 CAIP-19 asset IDs to exclude from balance results.\n * @param options - Fetch options including cache settings.\n * @returns The multi-account balances and DeFi positions response.\n */\n async fetchV6MultiAccountBalances(\n accountIds: string[],\n queryOptions?: {\n networks?: string[];\n filterSupportedTokens?: boolean;\n startTimestamp?: number;\n endTimestamp?: number;\n includeLabels?: boolean;\n includeCanonicalHead?: boolean;\n includeDeFiBalances?: boolean;\n forceFetchDeFiPositions?: boolean;\n includePrices?: boolean;\n vsCurrency?: V6VsCurrency;\n includeAssetIds?: string[];\n excludeAssetIds?: string[];\n },\n options?: FetchOptions,\n ): Promise<V6BalancesResponse> {\n if (accountIds.length === 0) {\n return {\n unprocessedNetworks: [],\n unprocessedIncludeAssetIds: [],\n balances: [],\n };\n }\n return this.queryClient.fetchQuery(\n this.getV6MultiAccountBalancesQueryOptions(\n accountIds,\n queryOptions,\n options,\n ),\n );\n }\n\n // ==========================================================================\n // TRANSACTIONS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 transaction by hash.\n *\n * @param chainId - The chain ID.\n * @param txHash - The transaction hash.\n * @param queryOptions - Query filter options.\n * @param queryOptions.includeLogs - Whether to include logs.\n * @param queryOptions.includeValueTransfers - Whether to include value transfers.\n * @param queryOptions.includeTxMetadata - Whether to include transaction metadata.\n * @param queryOptions.lang - Language for metadata.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1TransactionByHashQueryOptions(\n chainId: number,\n txHash: string,\n queryOptions?: {\n includeLogs?: boolean;\n includeValueTransfers?: boolean;\n includeTxMetadata?: boolean;\n lang?: string;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V1TransactionByHashResponse> {\n return {\n queryKey: [\n 'accounts',\n 'transactions',\n 'v1ByHash',\n { chainId, txHash, options: queryOptions },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V1TransactionByHashResponse>(\n API_URLS.ACCOUNTS,\n `/v1/networks/${chainId}/transactions/${txHash}`,\n {\n signal,\n params: {\n includeLogs: queryOptions?.includeLogs,\n includeValueTransfers: queryOptions?.includeValueTransfers,\n includeTxMetadata: queryOptions?.includeTxMetadata,\n lang: queryOptions?.lang,\n },\n },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRANSACTIONS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get a specific transaction by hash (v1 endpoint).\n *\n * @param chainId - The chain ID.\n * @param txHash - The transaction hash.\n * @param queryOptions - Query filter options.\n * @param queryOptions.includeLogs - Whether to include logs.\n * @param queryOptions.includeValueTransfers - Whether to include value transfers.\n * @param queryOptions.includeTxMetadata - Whether to include transaction metadata.\n * @param queryOptions.lang - Language for metadata.\n * @param options - Fetch options including cache settings.\n * @returns The transaction details.\n */\n async fetchV1TransactionByHash(\n chainId: number,\n txHash: string,\n queryOptions?: {\n includeLogs?: boolean;\n includeValueTransfers?: boolean;\n includeTxMetadata?: boolean;\n lang?: string;\n },\n options?: FetchOptions,\n ): Promise<V1TransactionByHashResponse> {\n return this.queryClient.fetchQuery(\n this.getV1TransactionByHashQueryOptions(\n chainId,\n txHash,\n queryOptions,\n options,\n ),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v1 account transactions.\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.chainIds - Chain IDs to filter by.\n * @param queryOptions.cursor - Pagination cursor.\n * @param queryOptions.startTimestamp - Start timestamp filter.\n * @param queryOptions.endTimestamp - End timestamp filter.\n * @param queryOptions.sortDirection - Sort direction (ASC/DESC).\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useInfiniteQuery, useSuspenseQuery, etc.\n */\n getV1AccountTransactionsQueryOptions(\n address: string,\n queryOptions?: {\n chainIds?: string[];\n cursor?: string;\n startTimestamp?: number;\n endTimestamp?: number;\n sortDirection?: 'ASC' | 'DESC';\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V1AccountTransactionsResponse> {\n return {\n queryKey: [\n 'accounts',\n 'transactions',\n 'v1Account',\n {\n address,\n options: queryOptions && {\n ...queryOptions,\n chainIds:\n queryOptions.chainIds && [...queryOptions.chainIds].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V1AccountTransactionsResponse> => {\n if (address === '') {\n return { data: [], pageInfo: { count: 0, hasNextPage: false } };\n }\n return this.fetch<V1AccountTransactionsResponse>(\n API_URLS.ACCOUNTS,\n `/v1/accounts/${address}/transactions`,\n {\n signal,\n params: {\n networks: queryOptions?.chainIds,\n cursor: queryOptions?.cursor,\n startTimestamp: queryOptions?.startTimestamp,\n endTimestamp: queryOptions?.endTimestamp,\n sortDirection: queryOptions?.sortDirection,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRANSACTIONS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get account transactions (v1 endpoint).\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.chainIds - Chain IDs to filter by.\n * @param queryOptions.cursor - Pagination cursor.\n * @param queryOptions.startTimestamp - Start timestamp filter.\n * @param queryOptions.endTimestamp - End timestamp filter.\n * @param queryOptions.sortDirection - Sort direction (ASC/DESC).\n * @param options - Fetch options including cache settings.\n * @returns The account transactions response.\n */\n async fetchV1AccountTransactions(\n address: string,\n queryOptions?: {\n chainIds?: string[];\n cursor?: string;\n startTimestamp?: number;\n endTimestamp?: number;\n sortDirection?: 'ASC' | 'DESC';\n },\n options?: FetchOptions,\n ): Promise<V1AccountTransactionsResponse> {\n if (address === '') {\n return { data: [], pageInfo: { count: 0, hasNextPage: false } };\n }\n return this.queryClient.fetchQuery(\n this.getV1AccountTransactionsQueryOptions(address, queryOptions, options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v4 multi-account transactions.\n * Use this with `queryClient.fetchQuery()`, `useQuery()`, `useInfiniteQuery()`,\n * `useSuspenseQuery()`, etc. for flexibility across query permutations.\n *\n * @param accountAddresses - Array of CAIP-10 account addresses.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Comma-separated CAIP-2 network IDs.\n * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.\n * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.\n * @param queryOptions.cursor - Pagination cursor (deprecated, use after).\n * @param queryOptions.limit - Maximum number of transactions to request (default 50).\n * @param queryOptions.after - JWT containing the endCursor for the query.\n * @param queryOptions.before - JWT containing the startCursor for the query.\n * @param queryOptions.sortDirection - Sort direction (ASC/DESC).\n * @param queryOptions.includeLogs - Whether to include logs.\n * @param queryOptions.includeTxMetadata - Whether to include transaction metadata.\n * @param queryOptions.maxLogsPerTx - Maximum number of logs per transaction.\n * @param queryOptions.lang - Language for transaction category (default \"en\").\n * @param options - Fetch options including cache settings.\n * @returns Query options object compatible with fetchQuery/useQuery/useInfiniteQuery.\n */\n getV4MultiAccountTransactionsQueryOptions(\n accountAddresses: string[],\n queryOptions?: {\n networks?: string[];\n startTimestamp?: number;\n endTimestamp?: number;\n cursor?: string;\n limit?: number;\n after?: string;\n before?: string;\n sortDirection?: 'ASC' | 'DESC';\n includeLogs?: boolean;\n includeTxMetadata?: boolean;\n maxLogsPerTx?: number;\n lang?: string;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V4MultiAccountTransactionsResponse> {\n return {\n queryKey: [\n 'accounts',\n 'transactions',\n 'v4MultiAccount',\n {\n accountAddresses: [...accountAddresses].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V4MultiAccountTransactionsResponse>(\n API_URLS.ACCOUNTS,\n '/v4/multiaccount/transactions',\n {\n signal,\n params: {\n accountAddresses,\n networks: queryOptions?.networks,\n startTimestamp: queryOptions?.startTimestamp,\n endTimestamp: queryOptions?.endTimestamp,\n cursor: queryOptions?.cursor,\n limit: queryOptions?.limit,\n after: queryOptions?.after,\n before: queryOptions?.before,\n sortDirection: queryOptions?.sortDirection,\n includeLogs: queryOptions?.includeLogs,\n includeTxMetadata: queryOptions?.includeTxMetadata,\n maxLogsPerTx: queryOptions?.maxLogsPerTx,\n lang: queryOptions?.lang,\n },\n },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRANSACTIONS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Returns TanStack Query options for v4 multi-account transactions,\n * designed for use with `useInfiniteQuery`.\n *\n * @param params - API endpoint parameters (excluding pagination cursors).\n * @param params.accountAddresses - Array of CAIP-10 account addresses.\n * @param params.networks - CAIP-2 network IDs to filter by.\n * @param params.startTimestamp - Start timestamp (epoch).\n * @param params.endTimestamp - End timestamp (epoch).\n * @param params.limit - Max transactions per page (default 50).\n * @param params.sortDirection - Sort direction (ASC/DESC).\n * @param params.includeLogs - Whether to include logs.\n * @param params.includeTxMetadata - Whether to include transaction metadata.\n * @param params.maxLogsPerTx - Max logs per transaction.\n * @param params.lang - Language for transaction category (default \"en\").\n * @param options - Fetch options including cache settings.\n * @returns Options object compatible with `useInfiniteQuery`.\n */\n getV4MultiAccountTransactionsInfiniteQueryOptions(\n params: {\n accountAddresses: string[];\n networks?: string[];\n startTimestamp?: number;\n endTimestamp?: number;\n limit?: number;\n sortDirection?: 'ASC' | 'DESC';\n includeLogs?: boolean;\n includeTxMetadata?: boolean;\n maxLogsPerTx?: number;\n lang?: string;\n },\n options?: FetchOptions,\n ): FetchInfiniteQueryOptions<\n V4MultiAccountTransactionsResponse,\n Error,\n V4MultiAccountTransactionsResponse,\n readonly unknown[],\n string | undefined\n > {\n return {\n queryKey: [\n 'accounts',\n 'transactions',\n 'v4MultiAccount',\n {\n accountAddresses: [...params.accountAddresses].sort(),\n networks: params.networks && [...params.networks].sort(),\n startTimestamp: params.startTimestamp,\n endTimestamp: params.endTimestamp,\n limit: params.limit,\n sortDirection: params.sortDirection,\n includeLogs: params.includeLogs,\n includeTxMetadata: params.includeTxMetadata,\n maxLogsPerTx: params.maxLogsPerTx,\n lang: params.lang,\n },\n ] as const,\n queryFn: ({\n pageParam,\n signal,\n }: {\n pageParam?: string;\n signal?: AbortSignal;\n }) =>\n this.fetch<V4MultiAccountTransactionsResponse>(\n API_URLS.ACCOUNTS,\n '/v4/multiaccount/transactions',\n {\n signal,\n params: {\n accountAddresses: params.accountAddresses,\n networks: params.networks,\n startTimestamp: params.startTimestamp,\n endTimestamp: params.endTimestamp,\n cursor: pageParam,\n limit: params.limit,\n sortDirection: params.sortDirection,\n includeLogs: params.includeLogs,\n includeTxMetadata: params.includeTxMetadata,\n maxLogsPerTx: params.maxLogsPerTx,\n lang: params.lang,\n },\n },\n ),\n getNextPageParam: ({ pageInfo }: V4MultiAccountTransactionsResponse) =>\n pageInfo.hasNextPage ? pageInfo.endCursor : undefined,\n initialPageParam: options?.initialPageParam,\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRANSACTIONS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get multi-account transactions (v4 endpoint).\n *\n * @param accountAddresses - Array of CAIP-10 account addresses.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Comma-separated CAIP-2 network IDs.\n * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.\n * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.\n * @param queryOptions.cursor - Pagination cursor (deprecated, use after).\n * @param queryOptions.limit - Maximum number of transactions to request (default 50).\n * @param queryOptions.after - JWT containing the endCursor for the query.\n * @param queryOptions.before - JWT containing the startCursor for the query.\n * @param queryOptions.sortDirection - Sort direction (ASC/DESC).\n * @param queryOptions.includeLogs - Whether to include logs.\n * @param queryOptions.includeTxMetadata - Whether to include transaction metadata.\n * @param queryOptions.maxLogsPerTx - Maximum number of logs per transaction.\n * @param queryOptions.lang - Language for transaction category (default \"en\").\n * @param options - Fetch options including cache settings.\n * @returns The multi-account transactions response.\n */\n async fetchV4MultiAccountTransactions(\n accountAddresses: string[],\n queryOptions?: {\n networks?: string[];\n startTimestamp?: number;\n endTimestamp?: number;\n cursor?: string;\n limit?: number;\n after?: string;\n before?: string;\n sortDirection?: 'ASC' | 'DESC';\n includeLogs?: boolean;\n includeTxMetadata?: boolean;\n maxLogsPerTx?: number;\n lang?: string;\n },\n options?: FetchOptions,\n ): Promise<V4MultiAccountTransactionsResponse> {\n return this.queryClient.fetchQuery(\n this.getV4MultiAccountTransactionsQueryOptions(\n accountAddresses,\n queryOptions,\n options,\n ),\n );\n }\n\n // ==========================================================================\n // RELATIONSHIPS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 account relationship.\n *\n * @param chainId - The chain ID.\n * @param from - The from address.\n * @param to - The to address.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1AccountRelationshipQueryOptions(\n chainId: number,\n from: string,\n to: string,\n options?: FetchOptions,\n ): FetchQueryOptions<V1AccountRelationshipResult> {\n return {\n queryKey: ['accounts', 'v1Relationship', chainId, from, to],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V1AccountRelationshipResult> =>\n this.fetch<V1AccountRelationshipResult>(\n API_URLS.ACCOUNTS,\n `/v1/networks/${chainId}/accounts/${from}/relationships/${to}`,\n { signal },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.DEFAULT,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get account address relationship (v1 endpoint).\n *\n * @param chainId - The chain ID.\n * @param from - The from address.\n * @param to - The to address.\n * @param options - Fetch options including cache settings.\n * @returns The account relationship result.\n */\n async fetchV1AccountRelationship(\n chainId: number,\n from: string,\n to: string,\n options?: FetchOptions,\n ): Promise<V1AccountRelationshipResult> {\n return this.queryClient.fetchQuery(\n this.getV1AccountRelationshipQueryOptions(chainId, from, to, options),\n );\n }\n\n // ==========================================================================\n // NFTs\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v2 account NFTs.\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.cursor - Pagination cursor.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2AccountNftsQueryOptions(\n address: string,\n queryOptions?: { networks?: number[]; cursor?: string },\n options?: FetchOptions,\n ): FetchQueryOptions<V2NftsResponse> {\n return {\n queryKey: [\n 'accounts',\n 'v2Nfts',\n {\n address,\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V2NftsResponse> => {\n if (address === '') {\n return { data: [], pageInfo: { count: 0, hasNextPage: false } };\n }\n return this.fetch<V2NftsResponse>(\n API_URLS.ACCOUNTS,\n `/v2/accounts/${address}/nfts`,\n {\n signal,\n params: {\n networks: queryOptions?.networks,\n cursor: queryOptions?.cursor,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.DEFAULT,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get NFTs owned by an account (v2 endpoint).\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.cursor - Pagination cursor.\n * @param options - Fetch options including cache settings.\n * @returns The NFTs response.\n */\n async fetchV2AccountNfts(\n address: string,\n queryOptions?: { networks?: number[]; cursor?: string },\n options?: FetchOptions,\n ): Promise<V2NftsResponse> {\n if (address === '') {\n return { data: [], pageInfo: { count: 0, hasNextPage: false } };\n }\n return this.queryClient.fetchQuery(\n this.getV2AccountNftsQueryOptions(address, queryOptions, options),\n );\n }\n\n // ==========================================================================\n // TOKEN DISCOVERY\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v2 account tokens.\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2AccountTokensQueryOptions(\n address: string,\n queryOptions?: { networks?: number[] },\n options?: FetchOptions,\n ): FetchQueryOptions<V2TokensResponse> {\n return {\n queryKey: [\n 'accounts',\n 'v2Tokens',\n {\n address,\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V2TokensResponse> => {\n if (address === '') {\n return { data: [] };\n }\n return this.fetch<V2TokensResponse>(\n API_URLS.ACCOUNTS,\n `/v2/accounts/${address}/tokens`,\n {\n signal,\n params: { networks: queryOptions?.networks },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.DEFAULT,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get ERC20 tokens detected for an account (v2 endpoint).\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns The tokens response.\n */\n async fetchV2AccountTokens(\n address: string,\n queryOptions?: { networks?: number[] },\n options?: FetchOptions,\n ): Promise<V2TokensResponse> {\n if (address === '') {\n return { data: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV2AccountTokensQueryOptions(address, queryOptions, options),\n );\n }\n}\n"]}
@@ -17,7 +17,7 @@ function getQueryOptionsOverrides(options) {
17
17
  if (options === null || options === undefined) {
18
18
  return undefined;
19
19
  }
20
- const { queryKey: _qk, queryFn: _qf, ...rest } = options;
20
+ const { queryKey: _qk, queryFn: _qf, bypassServerCache: _bc, ...rest } = options;
21
21
  return rest;
22
22
  }
23
23
  exports.getQueryOptionsOverrides = getQueryOptionsOverrides;
@@ -1 +1 @@
1
- {"version":3,"file":"shared-types.cjs","sourceRoot":"","sources":["../../src/api/shared-types.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Shared types, constants, and utilities for the API Platform Client.\n */\n\nimport type { FetchQueryOptions, QueryClient } from '@tanstack/query-core';\n\n// ============================================================================\n// SHARED TYPES\n// ============================================================================\n\n/**\n * Pagination info for paginated responses\n */\nexport type PageInfo = {\n count: number;\n hasNextPage: boolean;\n cursor?: string;\n};\n\n/**\n * Supported currencies for Price API\n */\nexport type SupportedCurrency =\n // Crypto\n | 'btc'\n | 'eth'\n | 'ltc'\n | 'bch'\n | 'bnb'\n | 'eos'\n | 'xrp'\n | 'xlm'\n | 'link'\n | 'dot'\n | 'yfi'\n // Fiat\n | 'usd'\n | 'aed'\n | 'ars'\n | 'aud'\n | 'bdt'\n | 'bhd'\n | 'bmd'\n | 'brl'\n | 'cad'\n | 'chf'\n | 'clp'\n | 'cny'\n | 'czk'\n | 'dkk'\n | 'eur'\n | 'gbp'\n | 'gel'\n | 'hkd'\n | 'huf'\n | 'idr'\n | 'ils'\n | 'inr'\n | 'jpy'\n | 'krw'\n | 'kwd'\n | 'lkr'\n | 'mmk'\n | 'mxn'\n | 'myr'\n | 'ngn'\n | 'nok'\n | 'nzd'\n | 'php'\n | 'pkr'\n | 'pln'\n | 'rub'\n | 'sar'\n | 'sek'\n | 'sgd'\n | 'thb'\n | 'try'\n | 'twd'\n | 'uah'\n | 'vef'\n | 'vnd'\n | 'zar';\n\n/**\n * Market data details from Price API spot-prices endpoint\n */\nexport type MarketDataDetails = {\n /** Current price in the requested currency */\n price: number;\n /** Currency code (e.g., 'ETH', 'USD') */\n currency: string;\n /** 24h price change amount */\n priceChange1d: number;\n /** 24h price change percentage */\n pricePercentChange1d: number;\n /** 1h price change percentage */\n pricePercentChange1h: number;\n /** 7d price change percentage */\n pricePercentChange7d: number;\n /** 14d price change percentage */\n pricePercentChange14d: number;\n /** 30d price change percentage */\n pricePercentChange30d: number;\n /** 200d price change percentage */\n pricePercentChange200d: number;\n /** 1y price change percentage */\n pricePercentChange1y: number;\n /** Market capitalization */\n marketCap: number;\n /** Market cap 24h change percentage */\n marketCapPercentChange1d: number;\n /** All-time high price */\n allTimeHigh: number;\n /** All-time low price */\n allTimeLow: number;\n /** 24h high price */\n high1d: number;\n /** 24h low price */\n low1d: number;\n /** Total trading volume */\n totalVolume: number;\n /** Circulating supply */\n circulatingSupply: number;\n /** Diluted market cap */\n dilutedMarketCap: number;\n};\n\n// ============================================================================\n// CLIENT OPTIONS\n// ============================================================================\n\nexport type ApiPlatformClientOptions = {\n /** Client product identifier (e.g., 'metamask-extension') */\n clientProduct: string;\n /** Optional client version */\n clientVersion?: string;\n /** Function to get bearer token for authenticated requests */\n getBearerToken?: () => Promise<string | undefined>;\n /** Optional custom QueryClient instance */\n queryClient?: QueryClient;\n};\n\n/**\n * Options for API fetch and query methods.\n * Extends TanStack Query options (e.g. select, initialPageParam, retry) so callers\n * can pass them through to useQuery / useInfiniteQuery. queryKey and queryFn are\n * always set by the client and cannot be overridden.\n * staleTime and gcTime are explicitly number (not function) so that client defaults apply without type conflicts.\n */\nexport type FetchOptions = {\n /** Custom stale time (ms). */\n staleTime?: number;\n /** Custom GC time (ms). */\n gcTime?: number;\n} & Partial<\n Omit<\n FetchQueryOptions<unknown, Error, unknown>,\n 'queryKey' | 'queryFn' | 'staleTime' | 'gcTime'\n >\n> & {\n /** Allowed for infinite query options (e.g. useInfiniteQuery). */\n initialPageParam?: unknown;\n };\n\n/**\n * Returns options with queryKey and queryFn omitted, for merging into\n * get*QueryOptions return values without overwriting the client's queryKey/queryFn.\n * Return type is intentionally loose so that spreading into FetchQueryOptions<T>\n * does not conflict with T-specific option types (e.g. select, staleTime).\n *\n * @param options - Optional FetchOptions from the caller.\n * @returns Options safe to spread into query options, or undefined.\n */\nexport function getQueryOptionsOverrides(\n options?: FetchOptions,\n): Record<string, unknown> | undefined {\n if (options === null || options === undefined) {\n return undefined;\n }\n const {\n queryKey: _qk,\n queryFn: _qf,\n ...rest\n } = options as FetchOptions & {\n queryKey?: unknown;\n queryFn?: unknown;\n };\n return rest as Record<string, unknown>;\n}\n\n// ============================================================================\n// CONSTANTS\n// ============================================================================\n\n/** API Base URLs */\nexport const API_URLS = {\n ACCOUNTS: 'https://accounts.api.cx.metamask.io',\n PRICES: 'https://price.api.cx.metamask.io',\n TOKEN: 'https://token.api.cx.metamask.io',\n TOKENS: 'https://tokens.api.cx.metamask.io',\n} as const;\n\n/** Stale times for different data types (ms) */\nexport const STALE_TIMES = {\n AUTH_TOKEN: 5 * 60 * 1000, // 5 minutes - cache the auth token\n PRICES: 30 * 1000, // 30 seconds\n BALANCES: 60 * 1000, // 1 minute\n NETWORKS: 10 * 60 * 1000, // 10 minutes\n SUPPORTED_NETWORKS: 30 * 60 * 1000, // 30 minutes\n TOKEN_METADATA: 5 * 60 * 1000, // 5 minutes\n TOKEN_LIST: 10 * 60 * 1000, // 10 minutes\n EXCHANGE_RATES: 5 * 60 * 1000, // 5 minutes\n TRENDING: 2 * 60 * 1000, // 2 minutes\n TRANSACTIONS: 30 * 1000, // 30 seconds\n DEFAULT: 30 * 1000, // 30 seconds\n} as const;\n\n/** Garbage collection times (ms) */\nexport const GC_TIMES = {\n DEFAULT: 5 * 60 * 1000, // 5 minutes\n EXTENDED: 30 * 60 * 1000, // 30 minutes\n SHORT: 2 * 60 * 1000, // 2 minutes\n} as const;\n\n/** Retry configuration */\nexport const RETRY_CONFIG = {\n MAX_RETRIES: 3,\n BASE_DELAY: 1000,\n MAX_DELAY: 5_000,\n} as const;\n\n// ============================================================================\n// HELPER FUNCTIONS\n// ============================================================================\n\n/**\n * Calculate retry delay with exponential backoff and jitter.\n *\n * @param attemptIndex - The current retry attempt (0-indexed).\n * @returns The delay in milliseconds before the next retry.\n */\nexport function calculateRetryDelay(attemptIndex: number): number {\n const delay = Math.min(\n RETRY_CONFIG.BASE_DELAY * 2 ** attemptIndex,\n RETRY_CONFIG.MAX_DELAY,\n );\n return delay / 2 + Math.random() * (delay / 2);\n}\n\n/**\n * Determine if a failed request should be retried.\n *\n * @param failureCount - The number of failures so far (1 = first failure).\n * @param error - The error from the failed request.\n * @returns True if the request should be retried, false otherwise.\n */\nexport function shouldRetry(failureCount: number, error: unknown): boolean {\n // Allow up to MAX_RETRIES retries (e.g., MAX_RETRIES=3 means 4 total attempts)\n if (failureCount > RETRY_CONFIG.MAX_RETRIES) {\n return false;\n }\n\n if (error instanceof Error && 'status' in error) {\n const { status } = error as { status: number };\n // Don't retry 4xx except 429 (rate limit) and 408 (timeout)\n if (status >= 400 && status < 500 && status !== 429 && status !== 408) {\n return false;\n }\n }\n return true;\n}\n\n// ============================================================================\n// HTTP ERROR\n// ============================================================================\n\nexport class HttpError extends Error {\n readonly status: number;\n\n readonly statusText: string;\n\n readonly url: string;\n\n readonly body: unknown;\n\n constructor(\n message: string,\n status: number,\n statusText: string,\n url: string,\n body?: unknown,\n ) {\n super(message);\n this.name = 'HttpError';\n this.status = status;\n this.statusText = statusText;\n this.url = url;\n this.body = body;\n }\n}\n"]}
1
+ {"version":3,"file":"shared-types.cjs","sourceRoot":"","sources":["../../src/api/shared-types.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Shared types, constants, and utilities for the API Platform Client.\n */\n\nimport type { FetchQueryOptions, QueryClient } from '@tanstack/query-core';\n\n// ============================================================================\n// SHARED TYPES\n// ============================================================================\n\n/**\n * Pagination info for paginated responses\n */\nexport type PageInfo = {\n count: number;\n hasNextPage: boolean;\n cursor?: string;\n};\n\n/**\n * Supported currencies for Price API\n */\nexport type SupportedCurrency =\n // Crypto\n | 'btc'\n | 'eth'\n | 'ltc'\n | 'bch'\n | 'bnb'\n | 'eos'\n | 'xrp'\n | 'xlm'\n | 'link'\n | 'dot'\n | 'yfi'\n // Fiat\n | 'usd'\n | 'aed'\n | 'ars'\n | 'aud'\n | 'bdt'\n | 'bhd'\n | 'bmd'\n | 'brl'\n | 'cad'\n | 'chf'\n | 'clp'\n | 'cny'\n | 'czk'\n | 'dkk'\n | 'eur'\n | 'gbp'\n | 'gel'\n | 'hkd'\n | 'huf'\n | 'idr'\n | 'ils'\n | 'inr'\n | 'jpy'\n | 'krw'\n | 'kwd'\n | 'lkr'\n | 'mmk'\n | 'mxn'\n | 'myr'\n | 'ngn'\n | 'nok'\n | 'nzd'\n | 'php'\n | 'pkr'\n | 'pln'\n | 'rub'\n | 'sar'\n | 'sek'\n | 'sgd'\n | 'thb'\n | 'try'\n | 'twd'\n | 'uah'\n | 'vef'\n | 'vnd'\n | 'zar';\n\n/**\n * Market data details from Price API spot-prices endpoint\n */\nexport type MarketDataDetails = {\n /** Current price in the requested currency */\n price: number;\n /** Currency code (e.g., 'ETH', 'USD') */\n currency: string;\n /** 24h price change amount */\n priceChange1d: number;\n /** 24h price change percentage */\n pricePercentChange1d: number;\n /** 1h price change percentage */\n pricePercentChange1h: number;\n /** 7d price change percentage */\n pricePercentChange7d: number;\n /** 14d price change percentage */\n pricePercentChange14d: number;\n /** 30d price change percentage */\n pricePercentChange30d: number;\n /** 200d price change percentage */\n pricePercentChange200d: number;\n /** 1y price change percentage */\n pricePercentChange1y: number;\n /** Market capitalization */\n marketCap: number;\n /** Market cap 24h change percentage */\n marketCapPercentChange1d: number;\n /** All-time high price */\n allTimeHigh: number;\n /** All-time low price */\n allTimeLow: number;\n /** 24h high price */\n high1d: number;\n /** 24h low price */\n low1d: number;\n /** Total trading volume */\n totalVolume: number;\n /** Circulating supply */\n circulatingSupply: number;\n /** Diluted market cap */\n dilutedMarketCap: number;\n};\n\n// ============================================================================\n// CLIENT OPTIONS\n// ============================================================================\n\nexport type ApiPlatformClientOptions = {\n /** Client product identifier (e.g., 'metamask-extension') */\n clientProduct: string;\n /** Optional client version */\n clientVersion?: string;\n /** Function to get bearer token for authenticated requests */\n getBearerToken?: () => Promise<string | undefined>;\n /** Optional custom QueryClient instance */\n queryClient?: QueryClient;\n};\n\n/**\n * Options for API fetch and query methods.\n * Extends TanStack Query options (e.g. select, initialPageParam, retry) so callers\n * can pass them through to useQuery / useInfiniteQuery. queryKey and queryFn are\n * always set by the client and cannot be overridden.\n * staleTime and gcTime are explicitly number (not function) so that client defaults apply without type conflicts.\n */\nexport type FetchOptions = {\n /** Custom stale time (ms). */\n staleTime?: number;\n /** Custom GC time (ms). */\n gcTime?: number;\n /**\n * When true, bypass caching for this request: the client-side query cache is\n * skipped (stale time defaults to 0) and, on endpoints that support it, a\n * random `bypassServerCache` query param is appended so server-side HTTP caches\n * (keyed on the full URL) miss. Use sparingly — only when a hard refresh is\n * required, e.g. right after a transaction confirms.\n */\n bypassServerCache?: boolean;\n} & Partial<\n Omit<\n FetchQueryOptions<unknown, Error, unknown>,\n 'queryKey' | 'queryFn' | 'staleTime' | 'gcTime'\n >\n> & {\n /** Allowed for infinite query options (e.g. useInfiniteQuery). */\n initialPageParam?: unknown;\n };\n\n/**\n * Returns options with queryKey and queryFn omitted, for merging into\n * get*QueryOptions return values without overwriting the client's queryKey/queryFn.\n * Return type is intentionally loose so that spreading into FetchQueryOptions<T>\n * does not conflict with T-specific option types (e.g. select, staleTime).\n *\n * @param options - Optional FetchOptions from the caller.\n * @returns Options safe to spread into query options, or undefined.\n */\nexport function getQueryOptionsOverrides(\n options?: FetchOptions,\n): Record<string, unknown> | undefined {\n if (options === null || options === undefined) {\n return undefined;\n }\n const {\n queryKey: _qk,\n queryFn: _qf,\n bypassServerCache: _bc,\n ...rest\n } = options as FetchOptions & {\n queryKey?: unknown;\n queryFn?: unknown;\n };\n return rest as Record<string, unknown>;\n}\n\n// ============================================================================\n// CONSTANTS\n// ============================================================================\n\n/** API Base URLs */\nexport const API_URLS = {\n ACCOUNTS: 'https://accounts.api.cx.metamask.io',\n PRICES: 'https://price.api.cx.metamask.io',\n TOKEN: 'https://token.api.cx.metamask.io',\n TOKENS: 'https://tokens.api.cx.metamask.io',\n} as const;\n\n/** Stale times for different data types (ms) */\nexport const STALE_TIMES = {\n AUTH_TOKEN: 5 * 60 * 1000, // 5 minutes - cache the auth token\n PRICES: 30 * 1000, // 30 seconds\n BALANCES: 60 * 1000, // 1 minute\n NETWORKS: 10 * 60 * 1000, // 10 minutes\n SUPPORTED_NETWORKS: 30 * 60 * 1000, // 30 minutes\n TOKEN_METADATA: 5 * 60 * 1000, // 5 minutes\n TOKEN_LIST: 10 * 60 * 1000, // 10 minutes\n EXCHANGE_RATES: 5 * 60 * 1000, // 5 minutes\n TRENDING: 2 * 60 * 1000, // 2 minutes\n TRANSACTIONS: 30 * 1000, // 30 seconds\n DEFAULT: 30 * 1000, // 30 seconds\n} as const;\n\n/** Garbage collection times (ms) */\nexport const GC_TIMES = {\n DEFAULT: 5 * 60 * 1000, // 5 minutes\n EXTENDED: 30 * 60 * 1000, // 30 minutes\n SHORT: 2 * 60 * 1000, // 2 minutes\n} as const;\n\n/** Retry configuration */\nexport const RETRY_CONFIG = {\n MAX_RETRIES: 3,\n BASE_DELAY: 1000,\n MAX_DELAY: 5_000,\n} as const;\n\n// ============================================================================\n// HELPER FUNCTIONS\n// ============================================================================\n\n/**\n * Calculate retry delay with exponential backoff and jitter.\n *\n * @param attemptIndex - The current retry attempt (0-indexed).\n * @returns The delay in milliseconds before the next retry.\n */\nexport function calculateRetryDelay(attemptIndex: number): number {\n const delay = Math.min(\n RETRY_CONFIG.BASE_DELAY * 2 ** attemptIndex,\n RETRY_CONFIG.MAX_DELAY,\n );\n return delay / 2 + Math.random() * (delay / 2);\n}\n\n/**\n * Determine if a failed request should be retried.\n *\n * @param failureCount - The number of failures so far (1 = first failure).\n * @param error - The error from the failed request.\n * @returns True if the request should be retried, false otherwise.\n */\nexport function shouldRetry(failureCount: number, error: unknown): boolean {\n // Allow up to MAX_RETRIES retries (e.g., MAX_RETRIES=3 means 4 total attempts)\n if (failureCount > RETRY_CONFIG.MAX_RETRIES) {\n return false;\n }\n\n if (error instanceof Error && 'status' in error) {\n const { status } = error as { status: number };\n // Don't retry 4xx except 429 (rate limit) and 408 (timeout)\n if (status >= 400 && status < 500 && status !== 429 && status !== 408) {\n return false;\n }\n }\n return true;\n}\n\n// ============================================================================\n// HTTP ERROR\n// ============================================================================\n\nexport class HttpError extends Error {\n readonly status: number;\n\n readonly statusText: string;\n\n readonly url: string;\n\n readonly body: unknown;\n\n constructor(\n message: string,\n status: number,\n statusText: string,\n url: string,\n body?: unknown,\n ) {\n super(message);\n this.name = 'HttpError';\n this.status = status;\n this.statusText = statusText;\n this.url = url;\n this.body = body;\n }\n}\n"]}
@@ -79,6 +79,14 @@ export type FetchOptions = {
79
79
  staleTime?: number;
80
80
  /** Custom GC time (ms). */
81
81
  gcTime?: number;
82
+ /**
83
+ * When true, bypass caching for this request: the client-side query cache is
84
+ * skipped (stale time defaults to 0) and, on endpoints that support it, a
85
+ * random `bypassServerCache` query param is appended so server-side HTTP caches
86
+ * (keyed on the full URL) miss. Use sparingly — only when a hard refresh is
87
+ * required, e.g. right after a transaction confirms.
88
+ */
89
+ bypassServerCache?: boolean;
82
90
  } & Partial<Omit<FetchQueryOptions<unknown, Error, unknown>, 'queryKey' | 'queryFn' | 'staleTime' | 'gcTime'>> & {
83
91
  /** Allowed for infinite query options (e.g. useInfiniteQuery). */
84
92
  initialPageParam?: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"shared-types.d.cts","sourceRoot":"","sources":["../../src/api/shared-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared-types.d.cts","sourceRoot":"","sources":["../../src/api/shared-types.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,14 @@ export type FetchOptions = {
79
79
  staleTime?: number;
80
80
  /** Custom GC time (ms). */
81
81
  gcTime?: number;
82
+ /**
83
+ * When true, bypass caching for this request: the client-side query cache is
84
+ * skipped (stale time defaults to 0) and, on endpoints that support it, a
85
+ * random `bypassServerCache` query param is appended so server-side HTTP caches
86
+ * (keyed on the full URL) miss. Use sparingly — only when a hard refresh is
87
+ * required, e.g. right after a transaction confirms.
88
+ */
89
+ bypassServerCache?: boolean;
82
90
  } & Partial<Omit<FetchQueryOptions<unknown, Error, unknown>, 'queryKey' | 'queryFn' | 'staleTime' | 'gcTime'>> & {
83
91
  /** Allowed for infinite query options (e.g. useInfiniteQuery). */
84
92
  initialPageParam?: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"shared-types.d.mts","sourceRoot":"","sources":["../../src/api/shared-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared-types.d.mts","sourceRoot":"","sources":["../../src/api/shared-types.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export function getQueryOptionsOverrides(options) {
14
14
  if (options === null || options === undefined) {
15
15
  return undefined;
16
16
  }
17
- const { queryKey: _qk, queryFn: _qf, ...rest } = options;
17
+ const { queryKey: _qk, queryFn: _qf, bypassServerCache: _bc, ...rest } = options;
18
18
  return rest;
19
19
  }
20
20
  // ============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"shared-types.mjs","sourceRoot":"","sources":["../../src/api/shared-types.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Shared types, constants, and utilities for the API Platform Client.\n */\n\nimport type { FetchQueryOptions, QueryClient } from '@tanstack/query-core';\n\n// ============================================================================\n// SHARED TYPES\n// ============================================================================\n\n/**\n * Pagination info for paginated responses\n */\nexport type PageInfo = {\n count: number;\n hasNextPage: boolean;\n cursor?: string;\n};\n\n/**\n * Supported currencies for Price API\n */\nexport type SupportedCurrency =\n // Crypto\n | 'btc'\n | 'eth'\n | 'ltc'\n | 'bch'\n | 'bnb'\n | 'eos'\n | 'xrp'\n | 'xlm'\n | 'link'\n | 'dot'\n | 'yfi'\n // Fiat\n | 'usd'\n | 'aed'\n | 'ars'\n | 'aud'\n | 'bdt'\n | 'bhd'\n | 'bmd'\n | 'brl'\n | 'cad'\n | 'chf'\n | 'clp'\n | 'cny'\n | 'czk'\n | 'dkk'\n | 'eur'\n | 'gbp'\n | 'gel'\n | 'hkd'\n | 'huf'\n | 'idr'\n | 'ils'\n | 'inr'\n | 'jpy'\n | 'krw'\n | 'kwd'\n | 'lkr'\n | 'mmk'\n | 'mxn'\n | 'myr'\n | 'ngn'\n | 'nok'\n | 'nzd'\n | 'php'\n | 'pkr'\n | 'pln'\n | 'rub'\n | 'sar'\n | 'sek'\n | 'sgd'\n | 'thb'\n | 'try'\n | 'twd'\n | 'uah'\n | 'vef'\n | 'vnd'\n | 'zar';\n\n/**\n * Market data details from Price API spot-prices endpoint\n */\nexport type MarketDataDetails = {\n /** Current price in the requested currency */\n price: number;\n /** Currency code (e.g., 'ETH', 'USD') */\n currency: string;\n /** 24h price change amount */\n priceChange1d: number;\n /** 24h price change percentage */\n pricePercentChange1d: number;\n /** 1h price change percentage */\n pricePercentChange1h: number;\n /** 7d price change percentage */\n pricePercentChange7d: number;\n /** 14d price change percentage */\n pricePercentChange14d: number;\n /** 30d price change percentage */\n pricePercentChange30d: number;\n /** 200d price change percentage */\n pricePercentChange200d: number;\n /** 1y price change percentage */\n pricePercentChange1y: number;\n /** Market capitalization */\n marketCap: number;\n /** Market cap 24h change percentage */\n marketCapPercentChange1d: number;\n /** All-time high price */\n allTimeHigh: number;\n /** All-time low price */\n allTimeLow: number;\n /** 24h high price */\n high1d: number;\n /** 24h low price */\n low1d: number;\n /** Total trading volume */\n totalVolume: number;\n /** Circulating supply */\n circulatingSupply: number;\n /** Diluted market cap */\n dilutedMarketCap: number;\n};\n\n// ============================================================================\n// CLIENT OPTIONS\n// ============================================================================\n\nexport type ApiPlatformClientOptions = {\n /** Client product identifier (e.g., 'metamask-extension') */\n clientProduct: string;\n /** Optional client version */\n clientVersion?: string;\n /** Function to get bearer token for authenticated requests */\n getBearerToken?: () => Promise<string | undefined>;\n /** Optional custom QueryClient instance */\n queryClient?: QueryClient;\n};\n\n/**\n * Options for API fetch and query methods.\n * Extends TanStack Query options (e.g. select, initialPageParam, retry) so callers\n * can pass them through to useQuery / useInfiniteQuery. queryKey and queryFn are\n * always set by the client and cannot be overridden.\n * staleTime and gcTime are explicitly number (not function) so that client defaults apply without type conflicts.\n */\nexport type FetchOptions = {\n /** Custom stale time (ms). */\n staleTime?: number;\n /** Custom GC time (ms). */\n gcTime?: number;\n} & Partial<\n Omit<\n FetchQueryOptions<unknown, Error, unknown>,\n 'queryKey' | 'queryFn' | 'staleTime' | 'gcTime'\n >\n> & {\n /** Allowed for infinite query options (e.g. useInfiniteQuery). */\n initialPageParam?: unknown;\n };\n\n/**\n * Returns options with queryKey and queryFn omitted, for merging into\n * get*QueryOptions return values without overwriting the client's queryKey/queryFn.\n * Return type is intentionally loose so that spreading into FetchQueryOptions<T>\n * does not conflict with T-specific option types (e.g. select, staleTime).\n *\n * @param options - Optional FetchOptions from the caller.\n * @returns Options safe to spread into query options, or undefined.\n */\nexport function getQueryOptionsOverrides(\n options?: FetchOptions,\n): Record<string, unknown> | undefined {\n if (options === null || options === undefined) {\n return undefined;\n }\n const {\n queryKey: _qk,\n queryFn: _qf,\n ...rest\n } = options as FetchOptions & {\n queryKey?: unknown;\n queryFn?: unknown;\n };\n return rest as Record<string, unknown>;\n}\n\n// ============================================================================\n// CONSTANTS\n// ============================================================================\n\n/** API Base URLs */\nexport const API_URLS = {\n ACCOUNTS: 'https://accounts.api.cx.metamask.io',\n PRICES: 'https://price.api.cx.metamask.io',\n TOKEN: 'https://token.api.cx.metamask.io',\n TOKENS: 'https://tokens.api.cx.metamask.io',\n} as const;\n\n/** Stale times for different data types (ms) */\nexport const STALE_TIMES = {\n AUTH_TOKEN: 5 * 60 * 1000, // 5 minutes - cache the auth token\n PRICES: 30 * 1000, // 30 seconds\n BALANCES: 60 * 1000, // 1 minute\n NETWORKS: 10 * 60 * 1000, // 10 minutes\n SUPPORTED_NETWORKS: 30 * 60 * 1000, // 30 minutes\n TOKEN_METADATA: 5 * 60 * 1000, // 5 minutes\n TOKEN_LIST: 10 * 60 * 1000, // 10 minutes\n EXCHANGE_RATES: 5 * 60 * 1000, // 5 minutes\n TRENDING: 2 * 60 * 1000, // 2 minutes\n TRANSACTIONS: 30 * 1000, // 30 seconds\n DEFAULT: 30 * 1000, // 30 seconds\n} as const;\n\n/** Garbage collection times (ms) */\nexport const GC_TIMES = {\n DEFAULT: 5 * 60 * 1000, // 5 minutes\n EXTENDED: 30 * 60 * 1000, // 30 minutes\n SHORT: 2 * 60 * 1000, // 2 minutes\n} as const;\n\n/** Retry configuration */\nexport const RETRY_CONFIG = {\n MAX_RETRIES: 3,\n BASE_DELAY: 1000,\n MAX_DELAY: 5_000,\n} as const;\n\n// ============================================================================\n// HELPER FUNCTIONS\n// ============================================================================\n\n/**\n * Calculate retry delay with exponential backoff and jitter.\n *\n * @param attemptIndex - The current retry attempt (0-indexed).\n * @returns The delay in milliseconds before the next retry.\n */\nexport function calculateRetryDelay(attemptIndex: number): number {\n const delay = Math.min(\n RETRY_CONFIG.BASE_DELAY * 2 ** attemptIndex,\n RETRY_CONFIG.MAX_DELAY,\n );\n return delay / 2 + Math.random() * (delay / 2);\n}\n\n/**\n * Determine if a failed request should be retried.\n *\n * @param failureCount - The number of failures so far (1 = first failure).\n * @param error - The error from the failed request.\n * @returns True if the request should be retried, false otherwise.\n */\nexport function shouldRetry(failureCount: number, error: unknown): boolean {\n // Allow up to MAX_RETRIES retries (e.g., MAX_RETRIES=3 means 4 total attempts)\n if (failureCount > RETRY_CONFIG.MAX_RETRIES) {\n return false;\n }\n\n if (error instanceof Error && 'status' in error) {\n const { status } = error as { status: number };\n // Don't retry 4xx except 429 (rate limit) and 408 (timeout)\n if (status >= 400 && status < 500 && status !== 429 && status !== 408) {\n return false;\n }\n }\n return true;\n}\n\n// ============================================================================\n// HTTP ERROR\n// ============================================================================\n\nexport class HttpError extends Error {\n readonly status: number;\n\n readonly statusText: string;\n\n readonly url: string;\n\n readonly body: unknown;\n\n constructor(\n message: string,\n status: number,\n statusText: string,\n url: string,\n body?: unknown,\n ) {\n super(message);\n this.name = 'HttpError';\n this.status = status;\n this.statusText = statusText;\n this.url = url;\n this.body = body;\n }\n}\n"]}
1
+ {"version":3,"file":"shared-types.mjs","sourceRoot":"","sources":["../../src/api/shared-types.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Shared types, constants, and utilities for the API Platform Client.\n */\n\nimport type { FetchQueryOptions, QueryClient } from '@tanstack/query-core';\n\n// ============================================================================\n// SHARED TYPES\n// ============================================================================\n\n/**\n * Pagination info for paginated responses\n */\nexport type PageInfo = {\n count: number;\n hasNextPage: boolean;\n cursor?: string;\n};\n\n/**\n * Supported currencies for Price API\n */\nexport type SupportedCurrency =\n // Crypto\n | 'btc'\n | 'eth'\n | 'ltc'\n | 'bch'\n | 'bnb'\n | 'eos'\n | 'xrp'\n | 'xlm'\n | 'link'\n | 'dot'\n | 'yfi'\n // Fiat\n | 'usd'\n | 'aed'\n | 'ars'\n | 'aud'\n | 'bdt'\n | 'bhd'\n | 'bmd'\n | 'brl'\n | 'cad'\n | 'chf'\n | 'clp'\n | 'cny'\n | 'czk'\n | 'dkk'\n | 'eur'\n | 'gbp'\n | 'gel'\n | 'hkd'\n | 'huf'\n | 'idr'\n | 'ils'\n | 'inr'\n | 'jpy'\n | 'krw'\n | 'kwd'\n | 'lkr'\n | 'mmk'\n | 'mxn'\n | 'myr'\n | 'ngn'\n | 'nok'\n | 'nzd'\n | 'php'\n | 'pkr'\n | 'pln'\n | 'rub'\n | 'sar'\n | 'sek'\n | 'sgd'\n | 'thb'\n | 'try'\n | 'twd'\n | 'uah'\n | 'vef'\n | 'vnd'\n | 'zar';\n\n/**\n * Market data details from Price API spot-prices endpoint\n */\nexport type MarketDataDetails = {\n /** Current price in the requested currency */\n price: number;\n /** Currency code (e.g., 'ETH', 'USD') */\n currency: string;\n /** 24h price change amount */\n priceChange1d: number;\n /** 24h price change percentage */\n pricePercentChange1d: number;\n /** 1h price change percentage */\n pricePercentChange1h: number;\n /** 7d price change percentage */\n pricePercentChange7d: number;\n /** 14d price change percentage */\n pricePercentChange14d: number;\n /** 30d price change percentage */\n pricePercentChange30d: number;\n /** 200d price change percentage */\n pricePercentChange200d: number;\n /** 1y price change percentage */\n pricePercentChange1y: number;\n /** Market capitalization */\n marketCap: number;\n /** Market cap 24h change percentage */\n marketCapPercentChange1d: number;\n /** All-time high price */\n allTimeHigh: number;\n /** All-time low price */\n allTimeLow: number;\n /** 24h high price */\n high1d: number;\n /** 24h low price */\n low1d: number;\n /** Total trading volume */\n totalVolume: number;\n /** Circulating supply */\n circulatingSupply: number;\n /** Diluted market cap */\n dilutedMarketCap: number;\n};\n\n// ============================================================================\n// CLIENT OPTIONS\n// ============================================================================\n\nexport type ApiPlatformClientOptions = {\n /** Client product identifier (e.g., 'metamask-extension') */\n clientProduct: string;\n /** Optional client version */\n clientVersion?: string;\n /** Function to get bearer token for authenticated requests */\n getBearerToken?: () => Promise<string | undefined>;\n /** Optional custom QueryClient instance */\n queryClient?: QueryClient;\n};\n\n/**\n * Options for API fetch and query methods.\n * Extends TanStack Query options (e.g. select, initialPageParam, retry) so callers\n * can pass them through to useQuery / useInfiniteQuery. queryKey and queryFn are\n * always set by the client and cannot be overridden.\n * staleTime and gcTime are explicitly number (not function) so that client defaults apply without type conflicts.\n */\nexport type FetchOptions = {\n /** Custom stale time (ms). */\n staleTime?: number;\n /** Custom GC time (ms). */\n gcTime?: number;\n /**\n * When true, bypass caching for this request: the client-side query cache is\n * skipped (stale time defaults to 0) and, on endpoints that support it, a\n * random `bypassServerCache` query param is appended so server-side HTTP caches\n * (keyed on the full URL) miss. Use sparingly — only when a hard refresh is\n * required, e.g. right after a transaction confirms.\n */\n bypassServerCache?: boolean;\n} & Partial<\n Omit<\n FetchQueryOptions<unknown, Error, unknown>,\n 'queryKey' | 'queryFn' | 'staleTime' | 'gcTime'\n >\n> & {\n /** Allowed for infinite query options (e.g. useInfiniteQuery). */\n initialPageParam?: unknown;\n };\n\n/**\n * Returns options with queryKey and queryFn omitted, for merging into\n * get*QueryOptions return values without overwriting the client's queryKey/queryFn.\n * Return type is intentionally loose so that spreading into FetchQueryOptions<T>\n * does not conflict with T-specific option types (e.g. select, staleTime).\n *\n * @param options - Optional FetchOptions from the caller.\n * @returns Options safe to spread into query options, or undefined.\n */\nexport function getQueryOptionsOverrides(\n options?: FetchOptions,\n): Record<string, unknown> | undefined {\n if (options === null || options === undefined) {\n return undefined;\n }\n const {\n queryKey: _qk,\n queryFn: _qf,\n bypassServerCache: _bc,\n ...rest\n } = options as FetchOptions & {\n queryKey?: unknown;\n queryFn?: unknown;\n };\n return rest as Record<string, unknown>;\n}\n\n// ============================================================================\n// CONSTANTS\n// ============================================================================\n\n/** API Base URLs */\nexport const API_URLS = {\n ACCOUNTS: 'https://accounts.api.cx.metamask.io',\n PRICES: 'https://price.api.cx.metamask.io',\n TOKEN: 'https://token.api.cx.metamask.io',\n TOKENS: 'https://tokens.api.cx.metamask.io',\n} as const;\n\n/** Stale times for different data types (ms) */\nexport const STALE_TIMES = {\n AUTH_TOKEN: 5 * 60 * 1000, // 5 minutes - cache the auth token\n PRICES: 30 * 1000, // 30 seconds\n BALANCES: 60 * 1000, // 1 minute\n NETWORKS: 10 * 60 * 1000, // 10 minutes\n SUPPORTED_NETWORKS: 30 * 60 * 1000, // 30 minutes\n TOKEN_METADATA: 5 * 60 * 1000, // 5 minutes\n TOKEN_LIST: 10 * 60 * 1000, // 10 minutes\n EXCHANGE_RATES: 5 * 60 * 1000, // 5 minutes\n TRENDING: 2 * 60 * 1000, // 2 minutes\n TRANSACTIONS: 30 * 1000, // 30 seconds\n DEFAULT: 30 * 1000, // 30 seconds\n} as const;\n\n/** Garbage collection times (ms) */\nexport const GC_TIMES = {\n DEFAULT: 5 * 60 * 1000, // 5 minutes\n EXTENDED: 30 * 60 * 1000, // 30 minutes\n SHORT: 2 * 60 * 1000, // 2 minutes\n} as const;\n\n/** Retry configuration */\nexport const RETRY_CONFIG = {\n MAX_RETRIES: 3,\n BASE_DELAY: 1000,\n MAX_DELAY: 5_000,\n} as const;\n\n// ============================================================================\n// HELPER FUNCTIONS\n// ============================================================================\n\n/**\n * Calculate retry delay with exponential backoff and jitter.\n *\n * @param attemptIndex - The current retry attempt (0-indexed).\n * @returns The delay in milliseconds before the next retry.\n */\nexport function calculateRetryDelay(attemptIndex: number): number {\n const delay = Math.min(\n RETRY_CONFIG.BASE_DELAY * 2 ** attemptIndex,\n RETRY_CONFIG.MAX_DELAY,\n );\n return delay / 2 + Math.random() * (delay / 2);\n}\n\n/**\n * Determine if a failed request should be retried.\n *\n * @param failureCount - The number of failures so far (1 = first failure).\n * @param error - The error from the failed request.\n * @returns True if the request should be retried, false otherwise.\n */\nexport function shouldRetry(failureCount: number, error: unknown): boolean {\n // Allow up to MAX_RETRIES retries (e.g., MAX_RETRIES=3 means 4 total attempts)\n if (failureCount > RETRY_CONFIG.MAX_RETRIES) {\n return false;\n }\n\n if (error instanceof Error && 'status' in error) {\n const { status } = error as { status: number };\n // Don't retry 4xx except 429 (rate limit) and 408 (timeout)\n if (status >= 400 && status < 500 && status !== 429 && status !== 408) {\n return false;\n }\n }\n return true;\n}\n\n// ============================================================================\n// HTTP ERROR\n// ============================================================================\n\nexport class HttpError extends Error {\n readonly status: number;\n\n readonly statusText: string;\n\n readonly url: string;\n\n readonly body: unknown;\n\n constructor(\n message: string,\n status: number,\n statusText: string,\n url: string,\n body?: unknown,\n ) {\n super(message);\n this.name = 'HttpError';\n this.status = status;\n this.statusText = statusText;\n this.url = url;\n this.body = body;\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask-previews/core-backend",
3
- "version": "9.0.0-preview-b63fbdb38",
3
+ "version": "9.0.0-preview-e12b5ece6",
4
4
  "description": "Core backend services for MetaMask",
5
5
  "keywords": [
6
6
  "Ethereum",
@@ -61,7 +61,7 @@
61
61
  "@metamask/messenger": "^2.0.0",
62
62
  "@metamask/profile-sync-controller": "^29.0.0",
63
63
  "@metamask/remote-feature-flag-controller": "^6.1.0",
64
- "@metamask/utils": "^11.11.0",
64
+ "@metamask/utils": "^11.12.0",
65
65
  "@tanstack/query-core": "^5.62.16",
66
66
  "async-mutex": "^0.5.0",
67
67
  "cockatiel": "^3.1.2",