@metamask-previews/core-backend 6.4.0-preview-1bd5239bf → 6.5.0-preview-2855dbf4e

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.
@@ -13,7 +13,7 @@
13
13
  import type { FetchInfiniteQueryOptions, FetchQueryOptions } from "@tanstack/query-core";
14
14
  import { BaseApiClient } from "../base-client.mjs";
15
15
  import type { FetchOptions } from "../shared-types.mjs";
16
- import type { V1SupportedNetworksResponse, V2SupportedNetworksResponse, V2ActiveNetworksResponse, V2BalancesResponse, V4BalancesResponse, V5BalancesResponse, V1TransactionByHashResponse, V1AccountTransactionsResponse, V4MultiAccountTransactionsResponse, V1AccountRelationshipResult, V2NftsResponse, V2TokensResponse } from "./types.mjs";
16
+ import type { V1SupportedNetworksResponse, V2SupportedNetworksResponse, V2ActiveNetworksResponse, V2BalancesResponse, V4BalancesResponse, V5BalancesResponse, V6BalancesResponse, V6VsCurrency, V1TransactionByHashResponse, V1AccountTransactionsResponse, V4MultiAccountTransactionsResponse, V1AccountRelationshipResult, V2NftsResponse, V2TokensResponse } from "./types.mjs";
17
17
  /**
18
18
  * Accounts API Client.
19
19
  * Provides methods for interacting with the Accounts API.
@@ -175,6 +175,77 @@ export declare class AccountsApiClient extends BaseApiClient {
175
175
  networks?: string[];
176
176
  includeStakedAssets?: boolean;
177
177
  }, options?: FetchOptions): Promise<V5BalancesResponse>;
178
+ /**
179
+ * Returns the TanStack Query options object for v6 multi-account balances.
180
+ * The v6 endpoint returns token balances and, optionally, DeFi positions and
181
+ * spot prices.
182
+ *
183
+ * @param accountIds - Array of CAIP-10 account IDs.
184
+ * @param queryOptions - Query filter options.
185
+ * @param queryOptions.networks - Comma-separated CAIP-2 chain IDs to filter by.
186
+ * @param queryOptions.filterSupportedTokens - Whether to filter the assets to only tokens existing in the Token API.
187
+ * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.
188
+ * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.
189
+ * @param queryOptions.includeLabels - Whether to include asset metadata labels in the response.
190
+ * @param queryOptions.includeCanonicalHead - Whether to include the canonical head asset ID in the response.
191
+ * @param queryOptions.includeDeFiBalances - Whether to include DeFi positions (token balances are always returned).
192
+ * @param queryOptions.forceFetchDeFiPositions - Whether to fetch DeFi positions for all accounts, skipping the cached non-DeFi-user check.
193
+ * @param queryOptions.includePrices - Whether to include spot prices for each token and DeFi position asset.
194
+ * @param queryOptions.vsCurrency - Quote currency for spot prices when `includePrices` is true (default `usd`).
195
+ * @param queryOptions.includeAssetIds - ERC-20 CAIP-19 asset IDs to confirm detection for; undetected IDs are returned in `unprocessedIncludeAssetIds`.
196
+ * @param queryOptions.excludeAssetIds - ERC-20 CAIP-19 asset IDs to exclude from balance results.
197
+ * @param options - Fetch options including cache settings.
198
+ * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.
199
+ */
200
+ getV6MultiAccountBalancesQueryOptions(accountIds: string[], queryOptions?: {
201
+ networks?: string[];
202
+ filterSupportedTokens?: boolean;
203
+ startTimestamp?: number;
204
+ endTimestamp?: number;
205
+ includeLabels?: boolean;
206
+ includeCanonicalHead?: boolean;
207
+ includeDeFiBalances?: boolean;
208
+ forceFetchDeFiPositions?: boolean;
209
+ includePrices?: boolean;
210
+ vsCurrency?: V6VsCurrency;
211
+ includeAssetIds?: string[];
212
+ excludeAssetIds?: string[];
213
+ }, options?: FetchOptions): FetchQueryOptions<V6BalancesResponse>;
214
+ /**
215
+ * Get balances and DeFi positions for multiple accounts using CAIP-10 IDs
216
+ * (v6 endpoint).
217
+ *
218
+ * @param accountIds - Array of CAIP-10 account IDs.
219
+ * @param queryOptions - Query filter options.
220
+ * @param queryOptions.networks - Comma-separated CAIP-2 chain IDs to filter by.
221
+ * @param queryOptions.filterSupportedTokens - Whether to filter the assets to only tokens existing in the Token API.
222
+ * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.
223
+ * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.
224
+ * @param queryOptions.includeLabels - Whether to include asset metadata labels in the response.
225
+ * @param queryOptions.includeCanonicalHead - Whether to include the canonical head asset ID in the response.
226
+ * @param queryOptions.includeDeFiBalances - Whether to include DeFi positions (token balances are always returned).
227
+ * @param queryOptions.forceFetchDeFiPositions - Whether to fetch DeFi positions for all accounts, skipping the cached non-DeFi-user check.
228
+ * @param queryOptions.includePrices - Whether to include spot prices for each token and DeFi position asset.
229
+ * @param queryOptions.vsCurrency - Quote currency for spot prices when `includePrices` is true (default `usd`).
230
+ * @param queryOptions.includeAssetIds - ERC-20 CAIP-19 asset IDs to confirm detection for; undetected IDs are returned in `unprocessedIncludeAssetIds`.
231
+ * @param queryOptions.excludeAssetIds - ERC-20 CAIP-19 asset IDs to exclude from balance results.
232
+ * @param options - Fetch options including cache settings.
233
+ * @returns The multi-account balances and DeFi positions response.
234
+ */
235
+ fetchV6MultiAccountBalances(accountIds: string[], queryOptions?: {
236
+ networks?: string[];
237
+ filterSupportedTokens?: boolean;
238
+ startTimestamp?: number;
239
+ endTimestamp?: number;
240
+ includeLabels?: boolean;
241
+ includeCanonicalHead?: boolean;
242
+ includeDeFiBalances?: boolean;
243
+ forceFetchDeFiPositions?: boolean;
244
+ includePrices?: boolean;
245
+ vsCurrency?: V6VsCurrency;
246
+ includeAssetIds?: string[];
247
+ excludeAssetIds?: string[];
248
+ }, options?: FetchOptions): Promise<V6BalancesResponse>;
178
249
  /**
179
250
  * Returns the TanStack Query options object for v1 transaction by hash.
180
251
  *
@@ -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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"}
@@ -331,6 +331,109 @@ export class AccountsApiClient extends BaseApiClient {
331
331
  }
332
332
  return this.queryClient.fetchQuery(this.getV5MultiAccountBalancesQueryOptions(accountIds, queryOptions, options));
333
333
  }
334
+ /**
335
+ * Returns the TanStack Query options object for v6 multi-account balances.
336
+ * The v6 endpoint returns token balances and, optionally, DeFi positions and
337
+ * spot prices.
338
+ *
339
+ * @param accountIds - Array of CAIP-10 account IDs.
340
+ * @param queryOptions - Query filter options.
341
+ * @param queryOptions.networks - Comma-separated CAIP-2 chain IDs to filter by.
342
+ * @param queryOptions.filterSupportedTokens - Whether to filter the assets to only tokens existing in the Token API.
343
+ * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.
344
+ * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.
345
+ * @param queryOptions.includeLabels - Whether to include asset metadata labels in the response.
346
+ * @param queryOptions.includeCanonicalHead - Whether to include the canonical head asset ID in the response.
347
+ * @param queryOptions.includeDeFiBalances - Whether to include DeFi positions (token balances are always returned).
348
+ * @param queryOptions.forceFetchDeFiPositions - Whether to fetch DeFi positions for all accounts, skipping the cached non-DeFi-user check.
349
+ * @param queryOptions.includePrices - Whether to include spot prices for each token and DeFi position asset.
350
+ * @param queryOptions.vsCurrency - Quote currency for spot prices when `includePrices` is true (default `usd`).
351
+ * @param queryOptions.includeAssetIds - ERC-20 CAIP-19 asset IDs to confirm detection for; undetected IDs are returned in `unprocessedIncludeAssetIds`.
352
+ * @param queryOptions.excludeAssetIds - ERC-20 CAIP-19 asset IDs to exclude from balance results.
353
+ * @param options - Fetch options including cache settings.
354
+ * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.
355
+ */
356
+ getV6MultiAccountBalancesQueryOptions(accountIds, queryOptions, options) {
357
+ return {
358
+ queryKey: [
359
+ 'accounts',
360
+ 'balances',
361
+ 'v6',
362
+ {
363
+ accountIds: [...accountIds].sort(),
364
+ options: queryOptions && {
365
+ ...queryOptions,
366
+ networks: queryOptions.networks && [...queryOptions.networks].sort(),
367
+ includeAssetIds: queryOptions.includeAssetIds &&
368
+ [...queryOptions.includeAssetIds].sort(),
369
+ excludeAssetIds: queryOptions.excludeAssetIds &&
370
+ [...queryOptions.excludeAssetIds].sort(),
371
+ },
372
+ },
373
+ ],
374
+ queryFn: async ({ signal, }) => {
375
+ if (accountIds.length === 0) {
376
+ return {
377
+ unprocessedNetworks: [],
378
+ unprocessedIncludeAssetIds: [],
379
+ accounts: [],
380
+ };
381
+ }
382
+ return this.fetch(API_URLS.ACCOUNTS, '/v6/multiaccount/balances', {
383
+ signal,
384
+ params: {
385
+ accountIds,
386
+ networks: queryOptions?.networks,
387
+ filterSupportedTokens: queryOptions?.filterSupportedTokens,
388
+ startTimestamp: queryOptions?.startTimestamp,
389
+ endTimestamp: queryOptions?.endTimestamp,
390
+ includeLabels: queryOptions?.includeLabels,
391
+ includeCanonicalHead: queryOptions?.includeCanonicalHead,
392
+ includeDeFiBalances: queryOptions?.includeDeFiBalances,
393
+ forceFetchDeFiPositions: queryOptions?.forceFetchDeFiPositions,
394
+ includePrices: queryOptions?.includePrices,
395
+ vsCurrency: queryOptions?.vsCurrency,
396
+ includeAssetIds: queryOptions?.includeAssetIds,
397
+ excludeAssetIds: queryOptions?.excludeAssetIds,
398
+ },
399
+ });
400
+ },
401
+ ...getQueryOptionsOverrides(options),
402
+ staleTime: options?.staleTime ?? STALE_TIMES.BALANCES,
403
+ gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,
404
+ };
405
+ }
406
+ /**
407
+ * Get balances and DeFi positions for multiple accounts using CAIP-10 IDs
408
+ * (v6 endpoint).
409
+ *
410
+ * @param accountIds - Array of CAIP-10 account IDs.
411
+ * @param queryOptions - Query filter options.
412
+ * @param queryOptions.networks - Comma-separated CAIP-2 chain IDs to filter by.
413
+ * @param queryOptions.filterSupportedTokens - Whether to filter the assets to only tokens existing in the Token API.
414
+ * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.
415
+ * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.
416
+ * @param queryOptions.includeLabels - Whether to include asset metadata labels in the response.
417
+ * @param queryOptions.includeCanonicalHead - Whether to include the canonical head asset ID in the response.
418
+ * @param queryOptions.includeDeFiBalances - Whether to include DeFi positions (token balances are always returned).
419
+ * @param queryOptions.forceFetchDeFiPositions - Whether to fetch DeFi positions for all accounts, skipping the cached non-DeFi-user check.
420
+ * @param queryOptions.includePrices - Whether to include spot prices for each token and DeFi position asset.
421
+ * @param queryOptions.vsCurrency - Quote currency for spot prices when `includePrices` is true (default `usd`).
422
+ * @param queryOptions.includeAssetIds - ERC-20 CAIP-19 asset IDs to confirm detection for; undetected IDs are returned in `unprocessedIncludeAssetIds`.
423
+ * @param queryOptions.excludeAssetIds - ERC-20 CAIP-19 asset IDs to exclude from balance results.
424
+ * @param options - Fetch options including cache settings.
425
+ * @returns The multi-account balances and DeFi positions response.
426
+ */
427
+ async fetchV6MultiAccountBalances(accountIds, queryOptions, options) {
428
+ if (accountIds.length === 0) {
429
+ return {
430
+ unprocessedNetworks: [],
431
+ unprocessedIncludeAssetIds: [],
432
+ accounts: [],
433
+ };
434
+ }
435
+ return this.queryClient.fetchQuery(this.getV6MultiAccountBalancesQueryOptions(accountIds, queryOptions, options));
436
+ }
334
437
  // ==========================================================================
335
438
  // TRANSACTIONS
336
439
  // ==========================================================================
@@ -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 { BaseApiClient, API_URLS, STALE_TIMES, GC_TIMES } from '../base-client';\nimport { getQueryOptionsOverrides } from '../shared-types';\nimport type { FetchOptions } from '../shared-types';\nimport type {\n V1SupportedNetworksResponse,\n V2SupportedNetworksResponse,\n V2ActiveNetworksResponse,\n V2BalancesResponse,\n V4BalancesResponse,\n V5BalancesResponse,\n V1TransactionByHashResponse,\n V1AccountTransactionsResponse,\n V4MultiAccountTransactionsResponse,\n V1AccountRelationshipResult,\n V2NftsResponse,\n V2TokensResponse,\n} from './types';\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 // 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,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,2BAAuB;AAChF,OAAO,EAAE,wBAAwB,EAAE,4BAAwB;AAmB3D;;;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;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;;;;;;;;;;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;qBAC/C;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;;;;;;;;;;;;;;;;;;;;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 { BaseApiClient, API_URLS, STALE_TIMES, GC_TIMES } from '../base-client';\nimport { getQueryOptionsOverrides } from '../shared-types';\nimport type { FetchOptions } from '../shared-types';\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';\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 accounts: [],\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 accounts: [],\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":"index.cjs","sourceRoot":"","sources":["../../../src/api/accounts/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,uCAA6C;AAApC,2GAAA,iBAAiB,OAAA","sourcesContent":["/**\n * Accounts API barrel export.\n */\n\nexport { AccountsApiClient } from './client';\nexport type {\n V5BalanceItem,\n V5BalancesResponse,\n V2BalanceItem,\n V2BalancesResponse,\n V4BalancesResponse,\n V1SupportedNetworksResponse,\n V2SupportedNetworksResponse,\n V2ActiveNetworksResponse,\n V1TransactionByHashResponse,\n V1AccountTransactionsResponse,\n V4MultiAccountTransactionsResponse,\n ValueTransfer,\n V1AccountRelationshipResult,\n NftItem,\n V2NftsResponse,\n TokenDiscoveryItem,\n V2TokensResponse,\n} from './types';\n"]}
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../src/api/accounts/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,uCAA6C;AAApC,2GAAA,iBAAiB,OAAA","sourcesContent":["/**\n * Accounts API barrel export.\n */\n\nexport { AccountsApiClient } from './client';\nexport type {\n V5BalanceItem,\n V5BalancesResponse,\n V2BalanceItem,\n V2BalancesResponse,\n V4BalancesResponse,\n V6VsCurrency,\n V6BalanceMetadata,\n V6TokenMetadata,\n V6BalanceItem,\n V6AccountBalancesEntry,\n V6BalancesResponse,\n V1SupportedNetworksResponse,\n V2SupportedNetworksResponse,\n V2ActiveNetworksResponse,\n V1TransactionByHashResponse,\n V1AccountTransactionsResponse,\n V4MultiAccountTransactionsResponse,\n ValueTransfer,\n V1AccountRelationshipResult,\n NftItem,\n V2NftsResponse,\n TokenDiscoveryItem,\n V2TokensResponse,\n} from './types';\n"]}
@@ -2,5 +2,5 @@
2
2
  * Accounts API barrel export.
3
3
  */
4
4
  export { AccountsApiClient } from "./client.cjs";
5
- export type { V5BalanceItem, V5BalancesResponse, V2BalanceItem, V2BalancesResponse, V4BalancesResponse, V1SupportedNetworksResponse, V2SupportedNetworksResponse, V2ActiveNetworksResponse, V1TransactionByHashResponse, V1AccountTransactionsResponse, V4MultiAccountTransactionsResponse, ValueTransfer, V1AccountRelationshipResult, NftItem, V2NftsResponse, TokenDiscoveryItem, V2TokensResponse, } from "./types.cjs";
5
+ export type { V5BalanceItem, V5BalancesResponse, V2BalanceItem, V2BalancesResponse, V4BalancesResponse, V6VsCurrency, V6BalanceMetadata, V6TokenMetadata, V6BalanceItem, V6AccountBalancesEntry, V6BalancesResponse, V1SupportedNetworksResponse, V2SupportedNetworksResponse, V2ActiveNetworksResponse, V1TransactionByHashResponse, V1AccountTransactionsResponse, V4MultiAccountTransactionsResponse, ValueTransfer, V1AccountRelationshipResult, NftItem, V2NftsResponse, TokenDiscoveryItem, V2TokensResponse, } from "./types.cjs";
6
6
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/api/accounts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,qBAAiB;AAC7C,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,EAC3B,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,6BAA6B,EAC7B,kCAAkC,EAClC,aAAa,EACb,2BAA2B,EAC3B,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,gBAAgB,GACjB,oBAAgB"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/api/accounts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,qBAAiB;AAC7C,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,kBAAkB,EAClB,2BAA2B,EAC3B,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,6BAA6B,EAC7B,kCAAkC,EAClC,aAAa,EACb,2BAA2B,EAC3B,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,gBAAgB,GACjB,oBAAgB"}
@@ -2,5 +2,5 @@
2
2
  * Accounts API barrel export.
3
3
  */
4
4
  export { AccountsApiClient } from "./client.mjs";
5
- export type { V5BalanceItem, V5BalancesResponse, V2BalanceItem, V2BalancesResponse, V4BalancesResponse, V1SupportedNetworksResponse, V2SupportedNetworksResponse, V2ActiveNetworksResponse, V1TransactionByHashResponse, V1AccountTransactionsResponse, V4MultiAccountTransactionsResponse, ValueTransfer, V1AccountRelationshipResult, NftItem, V2NftsResponse, TokenDiscoveryItem, V2TokensResponse, } from "./types.mjs";
5
+ export type { V5BalanceItem, V5BalancesResponse, V2BalanceItem, V2BalancesResponse, V4BalancesResponse, V6VsCurrency, V6BalanceMetadata, V6TokenMetadata, V6BalanceItem, V6AccountBalancesEntry, V6BalancesResponse, V1SupportedNetworksResponse, V2SupportedNetworksResponse, V2ActiveNetworksResponse, V1TransactionByHashResponse, V1AccountTransactionsResponse, V4MultiAccountTransactionsResponse, ValueTransfer, V1AccountRelationshipResult, NftItem, V2NftsResponse, TokenDiscoveryItem, V2TokensResponse, } from "./types.mjs";
6
6
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/api/accounts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,qBAAiB;AAC7C,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,EAC3B,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,6BAA6B,EAC7B,kCAAkC,EAClC,aAAa,EACb,2BAA2B,EAC3B,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,gBAAgB,GACjB,oBAAgB"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/api/accounts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,qBAAiB;AAC7C,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,kBAAkB,EAClB,2BAA2B,EAC3B,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,6BAA6B,EAC7B,kCAAkC,EAClC,aAAa,EACb,2BAA2B,EAC3B,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,gBAAgB,GACjB,oBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/api/accounts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,qBAAiB","sourcesContent":["/**\n * Accounts API barrel export.\n */\n\nexport { AccountsApiClient } from './client';\nexport type {\n V5BalanceItem,\n V5BalancesResponse,\n V2BalanceItem,\n V2BalancesResponse,\n V4BalancesResponse,\n V1SupportedNetworksResponse,\n V2SupportedNetworksResponse,\n V2ActiveNetworksResponse,\n V1TransactionByHashResponse,\n V1AccountTransactionsResponse,\n V4MultiAccountTransactionsResponse,\n ValueTransfer,\n V1AccountRelationshipResult,\n NftItem,\n V2NftsResponse,\n TokenDiscoveryItem,\n V2TokensResponse,\n} from './types';\n"]}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/api/accounts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,qBAAiB","sourcesContent":["/**\n * Accounts API barrel export.\n */\n\nexport { AccountsApiClient } from './client';\nexport type {\n V5BalanceItem,\n V5BalancesResponse,\n V2BalanceItem,\n V2BalancesResponse,\n V4BalancesResponse,\n V6VsCurrency,\n V6BalanceMetadata,\n V6TokenMetadata,\n V6BalanceItem,\n V6AccountBalancesEntry,\n V6BalancesResponse,\n V1SupportedNetworksResponse,\n V2SupportedNetworksResponse,\n V2ActiveNetworksResponse,\n V1TransactionByHashResponse,\n V1AccountTransactionsResponse,\n V4MultiAccountTransactionsResponse,\n ValueTransfer,\n V1AccountRelationshipResult,\n NftItem,\n V2NftsResponse,\n TokenDiscoveryItem,\n V2TokensResponse,\n} from './types';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.cjs","sourceRoot":"","sources":["../../../src/api/accounts/types.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/**\n * Accounts API types for the API Platform Client.\n * API: accounts.api.cx.metamask.io\n */\n\nimport type { PageInfo } from '../shared-types';\n\n// ============================================================================\n// BALANCE TYPES\n// ============================================================================\n\n/** V5 Balance Item from Accounts API */\nexport type V5BalanceItem = {\n object: 'token';\n symbol: string;\n name: string;\n type: 'native' | 'erc20';\n decimals: number;\n assetId: string;\n balance: string;\n accountId: string;\n};\n\n/** V5 Multi-account balances response */\nexport type V5BalancesResponse = {\n count: number;\n unprocessedNetworks: string[];\n balances: V5BalanceItem[];\n};\n\n/** V2 Balance item */\nexport type V2BalanceItem = {\n object: string;\n type?: string;\n timestamp?: string;\n address: string;\n symbol: string;\n name: string;\n decimals: number;\n chainId: number;\n balance: string;\n accountAddress?: string;\n};\n\n/** V2 Balances response */\nexport type V2BalancesResponse = {\n count: number;\n balances: V2BalanceItem[];\n unprocessedNetworks: number[];\n};\n\n/** V4 Multi-account balances response */\nexport type V4BalancesResponse = {\n count: number;\n balances: V2BalanceItem[];\n unprocessedNetworks: number[];\n};\n\n// ============================================================================\n// SUPPORTED NETWORKS TYPES\n// ============================================================================\n\n/** V1 Supported networks response */\nexport type V1SupportedNetworksResponse = {\n supportedNetworks: number[];\n};\n\n/** V2 Supported networks response */\nexport type V2SupportedNetworksResponse = {\n fullSupport: number[];\n partialSupport: {\n balances: number[];\n };\n};\n\n/** Active networks response */\nexport type V2ActiveNetworksResponse = {\n activeNetworks: string[];\n};\n\n// ============================================================================\n// TRANSACTION TYPES\n// ============================================================================\n\n/** Transaction by hash response */\nexport type V1TransactionByHashResponse = {\n hash: string;\n timestamp: string;\n chainId: number;\n blockNumber: number;\n blockHash: string;\n gas: number;\n gasUsed: number;\n gasPrice: string;\n effectiveGasPrice: string;\n nonce: number;\n cumulativeGasUsed: number;\n methodId?: string;\n value: string;\n to: string;\n from: string;\n isError?: boolean;\n valueTransfers?: {\n from: string;\n to: string;\n amount: string;\n decimal: number;\n contractAddress: string;\n symbol: string;\n name: string;\n transferType: string;\n }[];\n logs?: {\n data: string;\n topics: string[];\n address: string;\n logIndex: number;\n }[];\n transactionType?: string;\n transactionCategory?: string;\n transactionProtocol?: string;\n};\n\n/** Account transactions response */\nexport type V1AccountTransactionsResponse = {\n data: V1TransactionByHashResponse[];\n pageInfo: PageInfo;\n};\n\n/** V4 Multi-account transactions response */\nexport type V4MultiAccountTransactionsResponse = {\n unprocessedNetworks: string[];\n pageInfo: {\n count: number;\n hasNextPage: boolean;\n endCursor?: string;\n };\n data: V1TransactionByHashResponse[];\n};\n\n// ============================================================================\n// RELATIONSHIP TYPES\n// ============================================================================\n\n/**\n * Value transfer within a transaction\n */\nexport type ValueTransfer = {\n from: string;\n to: string;\n amount: string;\n decimal: number;\n transferType: string;\n};\n\n/**\n * Account address relationship result from v1 endpoint\n */\nexport type V1AccountRelationshipResult = {\n /** Transaction hash of the relationship */\n txHash?: string;\n /** Chain ID */\n chainId?: number;\n /** Number of interactions */\n count?: number;\n /** Transaction data details */\n data?: {\n hash: string;\n timestamp: string;\n chainId: number;\n blockNumber: number;\n blockHash: string;\n gas: number;\n gasUsed: number;\n gasPrice: string;\n effectiveGasPrice: string;\n nonce: number;\n cumulativeGasUsed: number;\n methodId: string;\n value: string;\n to: string;\n from: string;\n isError: boolean;\n valueTransfers: ValueTransfer[];\n logs: unknown[];\n transactionType: string;\n transactionCategory: string;\n readable: string;\n textFunctionSignature: string;\n };\n /** Error information when relationship lookup fails */\n error?: {\n code: string;\n message: string;\n };\n};\n\n// ============================================================================\n// NFT TYPES\n// ============================================================================\n\n/** NFT item */\nexport type NftItem = {\n tokenId: string;\n contractAddress: string;\n chainId: number;\n name?: string;\n description?: string;\n imageUrl?: string;\n attributes?: Record<string, unknown>[];\n};\n\n/** NFTs response */\nexport type V2NftsResponse = {\n data: NftItem[];\n pageInfo: PageInfo;\n};\n\n// ============================================================================\n// TOKEN DISCOVERY TYPES\n// ============================================================================\n\n/** Token discovery item */\nexport type TokenDiscoveryItem = {\n address: string;\n chainId: number;\n symbol: string;\n name: string;\n decimals: number;\n balance?: string;\n};\n\n/** Tokens response */\nexport type V2TokensResponse = {\n data: TokenDiscoveryItem[];\n};\n"]}
1
+ {"version":3,"file":"types.cjs","sourceRoot":"","sources":["../../../src/api/accounts/types.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/**\n * Accounts API types for the API Platform Client.\n * API: accounts.api.cx.metamask.io\n */\n\nimport type { PageInfo } from '../shared-types';\n\n// ============================================================================\n// BALANCE TYPES\n// ============================================================================\n\n/** V5 Balance Item from Accounts API */\nexport type V5BalanceItem = {\n object: 'token';\n symbol: string;\n name: string;\n type: 'native' | 'erc20';\n decimals: number;\n assetId: string;\n balance: string;\n accountId: string;\n};\n\n/** V5 Multi-account balances response */\nexport type V5BalancesResponse = {\n count: number;\n unprocessedNetworks: string[];\n balances: V5BalanceItem[];\n};\n\n/** V2 Balance item */\nexport type V2BalanceItem = {\n object: string;\n type?: string;\n timestamp?: string;\n address: string;\n symbol: string;\n name: string;\n decimals: number;\n chainId: number;\n balance: string;\n accountAddress?: string;\n};\n\n/** V2 Balances response */\nexport type V2BalancesResponse = {\n count: number;\n balances: V2BalanceItem[];\n unprocessedNetworks: number[];\n};\n\n/** V4 Multi-account balances response */\nexport type V4BalancesResponse = {\n count: number;\n balances: V2BalanceItem[];\n unprocessedNetworks: number[];\n};\n\n/**\n * Quote currency accepted by the v6 balances endpoint when `includePrices` is\n * true. A superset of {@link SupportedCurrency} (adds e.g. `sol`, `xdr`,\n * `xag`, `xau`, `bits`, `sats`). Defaults to `usd`.\n */\nexport type V6VsCurrency = string;\n\n/**\n * DeFi protocol metadata attached to a `category: defi` row in the v6 balances\n * response (`BalanceMetadataV3ResponseDto`).\n */\nexport type V6BalanceMetadata = {\n protocolId: string;\n protocolName: string;\n description: string;\n protocolUrl: string;\n protocolIconUrl: string;\n positionType: string;\n poolAddress: string;\n};\n\n/**\n * Token-level metadata attached to a `category: token` row in the v6 balances\n * response, e.g. Stellar trustline metadata. Additional keys may be present.\n */\nexport type V6TokenMetadata = {\n /** Stellar trustline limit. */\n limit?: string;\n /** Whether the Stellar trustline is authorized. */\n authorized?: boolean;\n [key: string]: unknown;\n};\n\n/**\n * A single balance row in the v6 balances response (`BalanceV3ResponseDto`).\n * `category: token` rows are EVM/Solana token balances (and may carry\n * {@link V6TokenMetadata}, e.g. Stellar trustline info). `category: defi` rows\n * are flat DeFi positions and include {@link V6BalanceMetadata}.\n */\nexport type V6BalanceItem = {\n category: 'token' | 'defi';\n assetId: string;\n name: string;\n symbol: string;\n decimals: number;\n balance: string;\n /** Spot price in the requested `vsCurrency`. Present when `includePrices` is true. */\n price?: string;\n /** Asset metadata labels. Present when `includeLabels` is true. */\n labels?: string[];\n /** Canonical head asset ID. Present when `includeCanonicalHead` is true. */\n canonicalHead?: string;\n /**\n * DeFi protocol metadata for `category: defi` rows; token-level metadata such\n * as Stellar trustline info (e.g. `limit`, `authorized`) for `category: token`\n * rows.\n */\n metadata?: V6BalanceMetadata | V6TokenMetadata;\n};\n\n/**\n * A per-account entry in the v6 balances response\n * (`AccountBalancesV3EntryDto`).\n */\nexport type V6AccountBalancesEntry = {\n accountId: string;\n balances: V6BalanceItem[];\n /**\n * When true, DeFi positions for this account are still being indexed\n * upstream; poll again shortly.\n */\n processingDefiPositions?: boolean;\n};\n\n/**\n * V6 multi-account balances response (`MultiAccountBalancesV3ResponseDto`).\n */\nexport type V6BalancesResponse = {\n /** CAIP-2 networks that could not be processed for this request. */\n unprocessedNetworks: string[];\n /**\n * ERC-20 IDs from `includeAssetIds` that were not detected on any requested\n * account, plus other IDs that still need a client fallback flow.\n */\n unprocessedIncludeAssetIds: string[];\n /** Per-account balance entries. */\n accounts: V6AccountBalancesEntry[];\n};\n\n// ============================================================================\n// SUPPORTED NETWORKS TYPES\n// ============================================================================\n\n/** V1 Supported networks response */\nexport type V1SupportedNetworksResponse = {\n supportedNetworks: number[];\n};\n\n/** V2 Supported networks response */\nexport type V2SupportedNetworksResponse = {\n fullSupport: number[];\n partialSupport: {\n balances: number[];\n };\n};\n\n/** Active networks response */\nexport type V2ActiveNetworksResponse = {\n activeNetworks: string[];\n};\n\n// ============================================================================\n// TRANSACTION TYPES\n// ============================================================================\n\n/** Transaction by hash response */\nexport type V1TransactionByHashResponse = {\n hash: string;\n timestamp: string;\n chainId: number;\n blockNumber: number;\n blockHash: string;\n gas: number;\n gasUsed: number;\n gasPrice: string;\n effectiveGasPrice: string;\n nonce: number;\n cumulativeGasUsed: number;\n methodId?: string;\n value: string;\n to: string;\n from: string;\n isError?: boolean;\n valueTransfers?: {\n from: string;\n to: string;\n amount: string;\n decimal: number;\n contractAddress: string;\n symbol: string;\n name: string;\n transferType: string;\n }[];\n logs?: {\n data: string;\n topics: string[];\n address: string;\n logIndex: number;\n }[];\n transactionType?: string;\n transactionCategory?: string;\n transactionProtocol?: string;\n};\n\n/** Account transactions response */\nexport type V1AccountTransactionsResponse = {\n data: V1TransactionByHashResponse[];\n pageInfo: PageInfo;\n};\n\n/** V4 Multi-account transactions response */\nexport type V4MultiAccountTransactionsResponse = {\n unprocessedNetworks: string[];\n pageInfo: {\n count: number;\n hasNextPage: boolean;\n endCursor?: string;\n };\n data: V1TransactionByHashResponse[];\n};\n\n// ============================================================================\n// RELATIONSHIP TYPES\n// ============================================================================\n\n/**\n * Value transfer within a transaction\n */\nexport type ValueTransfer = {\n from: string;\n to: string;\n amount: string;\n decimal: number;\n transferType: string;\n};\n\n/**\n * Account address relationship result from v1 endpoint\n */\nexport type V1AccountRelationshipResult = {\n /** Transaction hash of the relationship */\n txHash?: string;\n /** Chain ID */\n chainId?: number;\n /** Number of interactions */\n count?: number;\n /** Transaction data details */\n data?: {\n hash: string;\n timestamp: string;\n chainId: number;\n blockNumber: number;\n blockHash: string;\n gas: number;\n gasUsed: number;\n gasPrice: string;\n effectiveGasPrice: string;\n nonce: number;\n cumulativeGasUsed: number;\n methodId: string;\n value: string;\n to: string;\n from: string;\n isError: boolean;\n valueTransfers: ValueTransfer[];\n logs: unknown[];\n transactionType: string;\n transactionCategory: string;\n readable: string;\n textFunctionSignature: string;\n };\n /** Error information when relationship lookup fails */\n error?: {\n code: string;\n message: string;\n };\n};\n\n// ============================================================================\n// NFT TYPES\n// ============================================================================\n\n/** NFT item */\nexport type NftItem = {\n tokenId: string;\n contractAddress: string;\n chainId: number;\n name?: string;\n description?: string;\n imageUrl?: string;\n attributes?: Record<string, unknown>[];\n};\n\n/** NFTs response */\nexport type V2NftsResponse = {\n data: NftItem[];\n pageInfo: PageInfo;\n};\n\n// ============================================================================\n// TOKEN DISCOVERY TYPES\n// ============================================================================\n\n/** Token discovery item */\nexport type TokenDiscoveryItem = {\n address: string;\n chainId: number;\n symbol: string;\n name: string;\n decimals: number;\n balance?: string;\n};\n\n/** Tokens response */\nexport type V2TokensResponse = {\n data: TokenDiscoveryItem[];\n};\n"]}