/** * Accounts API Client - accounts.api.cx.metamask.io * * Handles all account-related API calls including: * - Supported networks * - Active networks * - Balances (v2, v4, v5) * - Transactions * - Relationships * - NFTs * - Token discovery */ import type { FetchInfiniteQueryOptions, FetchQueryOptions } from "@tanstack/query-core"; import { BaseApiClient } from "../base-client.cjs"; import type { FetchOptions } from "../shared-types.cjs"; import type { V1SupportedNetworksResponse, V2SupportedNetworksResponse, V2ActiveNetworksResponse, V2BalancesResponse, V4BalancesResponse, V5BalancesResponse, V1TransactionByHashResponse, V1AccountTransactionsResponse, V4MultiAccountTransactionsResponse, V1AccountRelationshipResult, V2NftsResponse, V2TokensResponse } from "./types.cjs"; /** * Accounts API Client. * Provides methods for interacting with the Accounts API. */ export declare class AccountsApiClient extends BaseApiClient { /** * Invalidate all balance queries. */ invalidateBalances(): Promise; /** * Invalidate all account queries. */ invalidateAccounts(): Promise; /** * Returns the TanStack Query options object for v1 supported networks. * * @param options - Fetch options including cache settings. * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc. */ getV1SupportedNetworksQueryOptions(options?: FetchOptions): FetchQueryOptions; /** * Get list of supported networks (v1 endpoint). * * @param options - Fetch options including cache settings. * @returns The list of supported networks. */ fetchV1SupportedNetworks(options?: FetchOptions): Promise; /** * Returns the TanStack Query options object for v2 supported networks. * * @param options - Fetch options including cache settings. * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc. */ getV2SupportedNetworksQueryOptions(options?: FetchOptions): FetchQueryOptions; /** * Get list of supported networks (v2 endpoint). * * @param options - Fetch options including cache settings. * @returns The list of supported networks. */ fetchV2SupportedNetworks(options?: FetchOptions): Promise; /** * Returns the TanStack Query options object for v2 active networks. * * @param accountIds - Array of CAIP-10 account IDs. * @param queryOptions - Query filter options. * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens. * @param queryOptions.networks - Networks to filter by. * @param options - Fetch options including cache settings. * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc. */ getV2ActiveNetworksQueryOptions(accountIds: string[], queryOptions?: { filterMMListTokens?: boolean; networks?: string[]; }, options?: FetchOptions): FetchQueryOptions; /** * Get active networks by CAIP-10 account IDs (v2 endpoint). * * @param accountIds - Array of CAIP-10 account IDs. * @param queryOptions - Query filter options. * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens. * @param queryOptions.networks - Networks to filter by. * @param options - Fetch options including cache settings. * @returns The active networks response. */ fetchV2ActiveNetworks(accountIds: string[], queryOptions?: { filterMMListTokens?: boolean; networks?: string[]; }, options?: FetchOptions): Promise; /** * Returns the TanStack Query options object for v2 balances. * * @param address - The account address. * @param queryOptions - Query filter options. * @param queryOptions.networks - Networks to filter by. * @param queryOptions.filterSupportedTokens - Whether to filter supported tokens. * @param queryOptions.includeTokenAddresses - Token addresses to include. * @param queryOptions.includeStakedAssets - Whether to include staked assets. * @param options - Fetch options including cache settings. * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc. */ getV2BalancesQueryOptions(address: string, queryOptions?: { networks?: number[]; filterSupportedTokens?: boolean; includeTokenAddresses?: string[]; includeStakedAssets?: boolean; }, options?: FetchOptions): FetchQueryOptions; /** * Get account balances for a single address (v2 endpoint). * * @param address - The account address. * @param queryOptions - Query filter options. * @param queryOptions.networks - Networks to filter by. * @param queryOptions.filterSupportedTokens - Whether to filter supported tokens. * @param queryOptions.includeTokenAddresses - Token addresses to include. * @param queryOptions.includeStakedAssets - Whether to include staked assets. * @param options - Fetch options including cache settings. * @returns The account balances response. */ fetchV2Balances(address: string, queryOptions?: { networks?: number[]; filterSupportedTokens?: boolean; includeTokenAddresses?: string[]; includeStakedAssets?: boolean; }, options?: FetchOptions): Promise; /** * Returns the TanStack Query options object for v4 multi-account balances. * * @param accountAddresses - Array of account addresses. * @param queryOptions - Query filter options. * @param queryOptions.networks - Networks to filter by. * @param options - Fetch options including cache settings. * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc. */ getV4MultiAccountBalancesQueryOptions(accountAddresses: string[], queryOptions?: { networks?: number[]; }, options?: FetchOptions): FetchQueryOptions; /** * Get balances for multiple accounts (v4 endpoint). * * @param accountAddresses - Array of account addresses. * @param queryOptions - Query filter options. * @param queryOptions.networks - Networks to filter by. * @param options - Fetch options including cache settings. * @returns The multi-account balances response. */ fetchV4MultiAccountBalances(accountAddresses: string[], queryOptions?: { networks?: number[]; }, options?: FetchOptions): Promise; /** * Returns the TanStack Query options object for v5 multi-account balances. * * @param accountIds - Array of CAIP-10 account IDs. * @param queryOptions - Query filter options. * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens. * @param queryOptions.networks - Networks to filter by. * @param queryOptions.includeStakedAssets - Whether to include staked assets. * @param options - Fetch options including cache settings. * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc. */ getV5MultiAccountBalancesQueryOptions(accountIds: string[], queryOptions?: { filterMMListTokens?: boolean; networks?: string[]; includeStakedAssets?: boolean; }, options?: FetchOptions): FetchQueryOptions; /** * Get balances for multiple accounts using CAIP-10 IDs (v5 endpoint). * * @param accountIds - Array of CAIP-10 account IDs. * @param queryOptions - Query filter options. * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens. * @param queryOptions.networks - Networks to filter by. * @param queryOptions.includeStakedAssets - Whether to include staked assets. * @param options - Fetch options including cache settings. * @returns The multi-account balances response. */ fetchV5MultiAccountBalances(accountIds: string[], queryOptions?: { filterMMListTokens?: boolean; networks?: string[]; includeStakedAssets?: boolean; }, options?: FetchOptions): Promise; /** * Returns the TanStack Query options object for v1 transaction by hash. * * @param chainId - The chain ID. * @param txHash - The transaction hash. * @param queryOptions - Query filter options. * @param queryOptions.includeLogs - Whether to include logs. * @param queryOptions.includeValueTransfers - Whether to include value transfers. * @param queryOptions.includeTxMetadata - Whether to include transaction metadata. * @param queryOptions.lang - Language for metadata. * @param options - Fetch options including cache settings. * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc. */ getV1TransactionByHashQueryOptions(chainId: number, txHash: string, queryOptions?: { includeLogs?: boolean; includeValueTransfers?: boolean; includeTxMetadata?: boolean; lang?: string; }, options?: FetchOptions): FetchQueryOptions; /** * Get a specific transaction by hash (v1 endpoint). * * @param chainId - The chain ID. * @param txHash - The transaction hash. * @param queryOptions - Query filter options. * @param queryOptions.includeLogs - Whether to include logs. * @param queryOptions.includeValueTransfers - Whether to include value transfers. * @param queryOptions.includeTxMetadata - Whether to include transaction metadata. * @param queryOptions.lang - Language for metadata. * @param options - Fetch options including cache settings. * @returns The transaction details. */ fetchV1TransactionByHash(chainId: number, txHash: string, queryOptions?: { includeLogs?: boolean; includeValueTransfers?: boolean; includeTxMetadata?: boolean; lang?: string; }, options?: FetchOptions): Promise; /** * Returns the TanStack Query options object for v1 account transactions. * * @param address - The account address. * @param queryOptions - Query filter options. * @param queryOptions.chainIds - Chain IDs to filter by. * @param queryOptions.cursor - Pagination cursor. * @param queryOptions.startTimestamp - Start timestamp filter. * @param queryOptions.endTimestamp - End timestamp filter. * @param queryOptions.sortDirection - Sort direction (ASC/DESC). * @param options - Fetch options including cache settings. * @returns TanStack Query options for use with useQuery, useInfiniteQuery, useSuspenseQuery, etc. */ getV1AccountTransactionsQueryOptions(address: string, queryOptions?: { chainIds?: string[]; cursor?: string; startTimestamp?: number; endTimestamp?: number; sortDirection?: 'ASC' | 'DESC'; }, options?: FetchOptions): FetchQueryOptions; /** * Get account transactions (v1 endpoint). * * @param address - The account address. * @param queryOptions - Query filter options. * @param queryOptions.chainIds - Chain IDs to filter by. * @param queryOptions.cursor - Pagination cursor. * @param queryOptions.startTimestamp - Start timestamp filter. * @param queryOptions.endTimestamp - End timestamp filter. * @param queryOptions.sortDirection - Sort direction (ASC/DESC). * @param options - Fetch options including cache settings. * @returns The account transactions response. */ fetchV1AccountTransactions(address: string, queryOptions?: { chainIds?: string[]; cursor?: string; startTimestamp?: number; endTimestamp?: number; sortDirection?: 'ASC' | 'DESC'; }, options?: FetchOptions): Promise; /** * Returns the TanStack Query options object for v4 multi-account transactions. * Use this with `queryClient.fetchQuery()`, `useQuery()`, `useInfiniteQuery()`, * `useSuspenseQuery()`, etc. for flexibility across query permutations. * * @param accountAddresses - Array of CAIP-10 account addresses. * @param queryOptions - Query filter options. * @param queryOptions.networks - Comma-separated CAIP-2 network IDs. * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results. * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results. * @param queryOptions.cursor - Pagination cursor (deprecated, use after). * @param queryOptions.limit - Maximum number of transactions to request (default 50). * @param queryOptions.after - JWT containing the endCursor for the query. * @param queryOptions.before - JWT containing the startCursor for the query. * @param queryOptions.sortDirection - Sort direction (ASC/DESC). * @param queryOptions.includeLogs - Whether to include logs. * @param queryOptions.includeTxMetadata - Whether to include transaction metadata. * @param queryOptions.maxLogsPerTx - Maximum number of logs per transaction. * @param queryOptions.lang - Language for transaction category (default "en"). * @param options - Fetch options including cache settings. * @returns Query options object compatible with fetchQuery/useQuery/useInfiniteQuery. */ getV4MultiAccountTransactionsQueryOptions(accountAddresses: string[], queryOptions?: { networks?: string[]; startTimestamp?: number; endTimestamp?: number; cursor?: string; limit?: number; after?: string; before?: string; sortDirection?: 'ASC' | 'DESC'; includeLogs?: boolean; includeTxMetadata?: boolean; maxLogsPerTx?: number; lang?: string; }, options?: FetchOptions): FetchQueryOptions; /** * Returns TanStack Query options for v4 multi-account transactions, * designed for use with `useInfiniteQuery`. * * @param params - API endpoint parameters (excluding pagination cursors). * @param params.accountAddresses - Array of CAIP-10 account addresses. * @param params.networks - CAIP-2 network IDs to filter by. * @param params.startTimestamp - Start timestamp (epoch). * @param params.endTimestamp - End timestamp (epoch). * @param params.limit - Max transactions per page (default 50). * @param params.sortDirection - Sort direction (ASC/DESC). * @param params.includeLogs - Whether to include logs. * @param params.includeTxMetadata - Whether to include transaction metadata. * @param params.maxLogsPerTx - Max logs per transaction. * @param params.lang - Language for transaction category (default "en"). * @param options - Fetch options including cache settings. * @returns Options object compatible with `useInfiniteQuery`. */ getV4MultiAccountTransactionsInfiniteQueryOptions(params: { accountAddresses: string[]; networks?: string[]; startTimestamp?: number; endTimestamp?: number; limit?: number; sortDirection?: 'ASC' | 'DESC'; includeLogs?: boolean; includeTxMetadata?: boolean; maxLogsPerTx?: number; lang?: string; }, options?: FetchOptions): FetchInfiniteQueryOptions; /** * Get multi-account transactions (v4 endpoint). * * @param accountAddresses - Array of CAIP-10 account addresses. * @param queryOptions - Query filter options. * @param queryOptions.networks - Comma-separated CAIP-2 network IDs. * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results. * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results. * @param queryOptions.cursor - Pagination cursor (deprecated, use after). * @param queryOptions.limit - Maximum number of transactions to request (default 50). * @param queryOptions.after - JWT containing the endCursor for the query. * @param queryOptions.before - JWT containing the startCursor for the query. * @param queryOptions.sortDirection - Sort direction (ASC/DESC). * @param queryOptions.includeLogs - Whether to include logs. * @param queryOptions.includeTxMetadata - Whether to include transaction metadata. * @param queryOptions.maxLogsPerTx - Maximum number of logs per transaction. * @param queryOptions.lang - Language for transaction category (default "en"). * @param options - Fetch options including cache settings. * @returns The multi-account transactions response. */ fetchV4MultiAccountTransactions(accountAddresses: string[], queryOptions?: { networks?: string[]; startTimestamp?: number; endTimestamp?: number; cursor?: string; limit?: number; after?: string; before?: string; sortDirection?: 'ASC' | 'DESC'; includeLogs?: boolean; includeTxMetadata?: boolean; maxLogsPerTx?: number; lang?: string; }, options?: FetchOptions): Promise; /** * Returns the TanStack Query options object for v1 account relationship. * * @param chainId - The chain ID. * @param from - The from address. * @param to - The to address. * @param options - Fetch options including cache settings. * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc. */ getV1AccountRelationshipQueryOptions(chainId: number, from: string, to: string, options?: FetchOptions): FetchQueryOptions; /** * Get account address relationship (v1 endpoint). * * @param chainId - The chain ID. * @param from - The from address. * @param to - The to address. * @param options - Fetch options including cache settings. * @returns The account relationship result. */ fetchV1AccountRelationship(chainId: number, from: string, to: string, options?: FetchOptions): Promise; /** * Returns the TanStack Query options object for v2 account NFTs. * * @param address - The account address. * @param queryOptions - Query filter options. * @param queryOptions.networks - Networks to filter by. * @param queryOptions.cursor - Pagination cursor. * @param options - Fetch options including cache settings. * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc. */ getV2AccountNftsQueryOptions(address: string, queryOptions?: { networks?: number[]; cursor?: string; }, options?: FetchOptions): FetchQueryOptions; /** * Get NFTs owned by an account (v2 endpoint). * * @param address - The account address. * @param queryOptions - Query filter options. * @param queryOptions.networks - Networks to filter by. * @param queryOptions.cursor - Pagination cursor. * @param options - Fetch options including cache settings. * @returns The NFTs response. */ fetchV2AccountNfts(address: string, queryOptions?: { networks?: number[]; cursor?: string; }, options?: FetchOptions): Promise; /** * Returns the TanStack Query options object for v2 account tokens. * * @param address - The account address. * @param queryOptions - Query filter options. * @param queryOptions.networks - Networks to filter by. * @param options - Fetch options including cache settings. * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc. */ getV2AccountTokensQueryOptions(address: string, queryOptions?: { networks?: number[]; }, options?: FetchOptions): FetchQueryOptions; /** * Get ERC20 tokens detected for an account (v2 endpoint). * * @param address - The account address. * @param queryOptions - Query filter options. * @param queryOptions.networks - Networks to filter by. * @param options - Fetch options including cache settings. * @returns The tokens response. */ fetchV2AccountTokens(address: string, queryOptions?: { networks?: number[]; }, options?: FetchOptions): Promise; } //# sourceMappingURL=client.d.cts.map