{"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"]}