/** * Token API Client - token.api.cx.metamask.io * * Handles all token-related API calls including: * - Networks * - Token lists * - Token metadata * - Token descriptions * - Trending tokens * - Top gainers/popular tokens * - Top assets * - Occurrence floors */ import type { FetchQueryOptions } from "@tanstack/query-core"; import { BaseApiClient } from "../base-client.mjs"; import type { FetchOptions } from "../shared-types.mjs"; import type { TokenMetadata, V1TokenDescriptionResponse, NetworkInfo, TopAsset, TrendingToken, TrendingSortOption, TopGainersSortOption, V1SuggestedOccurrenceFloorsResponse } from "./types.mjs"; /** * Token API Client. * Provides methods for interacting with the Token API. */ export declare class TokenApiClient extends BaseApiClient { /** * Invalidate all token API queries. * Note: This only invalidates queries from token.api.cx.metamask.io, * not from tokens.api.cx.metamask.io (use TokensApiClient.invalidateTokens() for that). */ invalidateToken(): Promise; /** * Returns the TanStack Query options object for networks. * * @param options - Fetch options including cache settings. * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc. */ getNetworksQueryOptions(options?: FetchOptions): FetchQueryOptions; /** * Get all networks. * * @param options - Fetch options including cache settings. * @returns Array of network info. */ fetchNetworks(options?: FetchOptions): Promise; /** * Returns the TanStack Query options object for network by chain ID. * * @param chainId - The chain ID. * @param options - Fetch options including cache settings. * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc. */ getNetworkByChainIdQueryOptions(chainId: number, options?: FetchOptions): FetchQueryOptions; /** * Get network by chain ID. * * @param chainId - The chain ID. * @param options - Fetch options including cache settings. * @returns The network info. */ fetchNetworkByChainId(chainId: number, options?: FetchOptions): Promise; /** * Returns the TanStack Query options object for token list. * * @param chainId - The chain ID. * @param queryOptions - Query options. * @param queryOptions.includeTokenFees - Whether to include token fees. * @param queryOptions.includeAssetType - Whether to include asset type. * @param queryOptions.includeAggregators - Whether to include aggregators. * @param queryOptions.includeERC20Permit - Whether to include ERC20 permit. * @param queryOptions.includeOccurrences - Whether to include occurrences. * @param queryOptions.includeStorage - Whether to include storage. * @param queryOptions.includeIconUrl - Whether to include icon URL. * @param queryOptions.includeAddress - Whether to include address. * @param queryOptions.includeName - Whether to include name. * @param options - Fetch options including cache settings. * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc. */ getTokenListQueryOptions(chainId: number, queryOptions?: { includeTokenFees?: boolean; includeAssetType?: boolean; includeAggregators?: boolean; includeERC20Permit?: boolean; includeOccurrences?: boolean; includeStorage?: boolean; includeIconUrl?: boolean; includeAddress?: boolean; includeName?: boolean; }, options?: FetchOptions): FetchQueryOptions; /** * Get token list for a chain. * * @param chainId - The chain ID. * @param queryOptions - Query options. * @param queryOptions.includeTokenFees - Include token fees data. * @param queryOptions.includeAssetType - Include asset type data. * @param queryOptions.includeAggregators - Include aggregators data. * @param queryOptions.includeERC20Permit - Include ERC20 permit data. * @param queryOptions.includeOccurrences - Include occurrences data. * @param queryOptions.includeStorage - Include storage data. * @param queryOptions.includeIconUrl - Include icon URL. * @param queryOptions.includeAddress - Include address. * @param queryOptions.includeName - Include name. * @param options - Fetch options including cache settings. * @returns Array of token metadata. */ fetchTokenList(chainId: number, queryOptions?: { includeTokenFees?: boolean; includeAssetType?: boolean; includeAggregators?: boolean; includeERC20Permit?: boolean; includeOccurrences?: boolean; includeStorage?: boolean; includeIconUrl?: boolean; includeAddress?: boolean; includeName?: boolean; }, options?: FetchOptions): Promise; /** * Returns the TanStack Query options object for v1 token metadata. * * @param chainId - The chain ID. * @param tokenAddress - The token address. * @param queryOptions - Query options. * @param queryOptions.includeTokenFees - Whether to include token fees. * @param queryOptions.includeAssetType - Whether to include asset type. * @param queryOptions.includeAggregators - Whether to include aggregators. * @param queryOptions.includeERC20Permit - Whether to include ERC20 permit. * @param queryOptions.includeOccurrences - Whether to include occurrences. * @param queryOptions.includeStorage - Whether to include storage. * @param queryOptions.includeIconUrl - Whether to include icon URL. * @param queryOptions.includeAddress - Whether to include address. * @param queryOptions.includeName - Whether to include name. * @param options - Fetch options including cache settings. * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc. */ getV1TokenMetadataQueryOptions(chainId: number, tokenAddress: string, queryOptions?: { includeTokenFees?: boolean; includeAssetType?: boolean; includeAggregators?: boolean; includeERC20Permit?: boolean; includeOccurrences?: boolean; includeStorage?: boolean; includeIconUrl?: boolean; includeAddress?: boolean; includeName?: boolean; }, options?: FetchOptions): FetchQueryOptions; /** * Get token metadata by address. * * @param chainId - The chain ID. * @param tokenAddress - The token address. * @param queryOptions - Query options. * @param queryOptions.includeTokenFees - Include token fees data. * @param queryOptions.includeAssetType - Include asset type data. * @param queryOptions.includeAggregators - Include aggregators data. * @param queryOptions.includeERC20Permit - Include ERC20 permit data. * @param queryOptions.includeOccurrences - Include occurrences data. * @param queryOptions.includeStorage - Include storage data. * @param queryOptions.includeIconUrl - Include icon URL. * @param queryOptions.includeAddress - Include address. * @param queryOptions.includeName - Include name. * @param options - Fetch options including cache settings. * @returns The token metadata or undefined. */ fetchV1TokenMetadata(chainId: number, tokenAddress: string, queryOptions?: { includeTokenFees?: boolean; includeAssetType?: boolean; includeAggregators?: boolean; includeERC20Permit?: boolean; includeOccurrences?: boolean; includeStorage?: boolean; includeIconUrl?: boolean; includeAddress?: boolean; includeName?: boolean; }, options?: FetchOptions): Promise; /** * Returns the TanStack Query options object for token description. * * @param chainId - The chain ID. * @param tokenAddress - The token address. * @param options - Fetch options including cache settings. * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc. */ getTokenDescriptionQueryOptions(chainId: number, tokenAddress: string, options?: FetchOptions): FetchQueryOptions; /** * Get token description. * * @param chainId - The chain ID. * @param tokenAddress - The token address. * @param options - Fetch options including cache settings. * @returns The token description or undefined. */ fetchTokenDescription(chainId: number, tokenAddress: string, options?: FetchOptions): Promise; /** * Returns the TanStack Query options object for v3 trending tokens. * * @param chainIds - Array of chain IDs. * @param queryOptions - Query options. * @param queryOptions.sortBy - Sort option. * @param queryOptions.minLiquidity - Minimum liquidity filter. * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter. * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter. * @param queryOptions.minMarketCap - Minimum market cap filter. * @param queryOptions.maxMarketCap - Maximum market cap filter. * @param queryOptions.includeTokenSecurityData - Whether to include token security data. * @param options - Fetch options including cache settings. * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc. */ getV3TrendingTokensQueryOptions(chainIds: string[], queryOptions?: { sortBy?: TrendingSortOption; minLiquidity?: number; minVolume24hUsd?: number; maxVolume24hUsd?: number; minMarketCap?: number; maxMarketCap?: number; includeTokenSecurityData?: boolean; }, options?: FetchOptions): FetchQueryOptions; /** * Get trending tokens (v3 endpoint). * * @param chainIds - Array of chain IDs. * @param queryOptions - Query options. * @param queryOptions.sortBy - Sort option. * @param queryOptions.minLiquidity - Minimum liquidity filter. * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter. * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter. * @param queryOptions.minMarketCap - Minimum market cap filter. * @param queryOptions.maxMarketCap - Maximum market cap filter. * @param queryOptions.includeTokenSecurityData - Whether to include token security data. * @param options - Fetch options including cache settings. * @returns Array of trending tokens. */ fetchV3TrendingTokens(chainIds: string[], queryOptions?: { sortBy?: TrendingSortOption; minLiquidity?: number; minVolume24hUsd?: number; maxVolume24hUsd?: number; minMarketCap?: number; maxMarketCap?: number; includeTokenSecurityData?: boolean; }, options?: FetchOptions): Promise; /** * Returns the TanStack Query options object for v3 top gainers. * * @param chainIds - Array of chain IDs. * @param queryOptions - Query options. * @param queryOptions.sort - Sort option. * @param queryOptions.blockRegion - Region filter (global/us). * @param queryOptions.minLiquidity - Minimum liquidity filter. * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter. * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter. * @param queryOptions.minMarketCap - Minimum market cap filter. * @param queryOptions.maxMarketCap - Maximum market cap filter. * @param options - Fetch options including cache settings. * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc. */ getV3TopGainersQueryOptions(chainIds: string[], queryOptions?: { sort?: TopGainersSortOption; blockRegion?: 'global' | 'us'; minLiquidity?: number; minVolume24hUsd?: number; maxVolume24hUsd?: number; minMarketCap?: number; maxMarketCap?: number; }, options?: FetchOptions): FetchQueryOptions; /** * Get top gainers/losers (v3 endpoint). * * @param chainIds - Array of chain IDs. * @param queryOptions - Query options. * @param queryOptions.sort - Sort option. * @param queryOptions.blockRegion - Region filter (global/us). * @param queryOptions.minLiquidity - Minimum liquidity filter. * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter. * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter. * @param queryOptions.minMarketCap - Minimum market cap filter. * @param queryOptions.maxMarketCap - Maximum market cap filter. * @param options - Fetch options including cache settings. * @returns Array of top gainer tokens. */ fetchV3TopGainers(chainIds: string[], queryOptions?: { sort?: TopGainersSortOption; blockRegion?: 'global' | 'us'; minLiquidity?: number; minVolume24hUsd?: number; maxVolume24hUsd?: number; minMarketCap?: number; maxMarketCap?: number; }, options?: FetchOptions): Promise; /** * Returns the TanStack Query options object for v3 popular tokens. * * @param chainIds - Array of chain IDs. * @param queryOptions - Query options. * @param queryOptions.blockRegion - Region filter (global/us). * @param queryOptions.minLiquidity - Minimum liquidity filter. * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter. * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter. * @param queryOptions.minMarketCap - Minimum market cap filter. * @param queryOptions.maxMarketCap - Maximum market cap filter. * @param options - Fetch options including cache settings. * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc. */ getV3PopularTokensQueryOptions(chainIds: string[], queryOptions?: { blockRegion?: 'global' | 'us'; minLiquidity?: number; minVolume24hUsd?: number; maxVolume24hUsd?: number; minMarketCap?: number; maxMarketCap?: number; }, options?: FetchOptions): FetchQueryOptions; /** * Get popular tokens (v3 endpoint). * * @param chainIds - Array of chain IDs. * @param queryOptions - Query options. * @param queryOptions.blockRegion - Region filter (global/us). * @param queryOptions.minLiquidity - Minimum liquidity filter. * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter. * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter. * @param queryOptions.minMarketCap - Minimum market cap filter. * @param queryOptions.maxMarketCap - Maximum market cap filter. * @param options - Fetch options including cache settings. * @returns Array of popular tokens. */ fetchV3PopularTokens(chainIds: string[], queryOptions?: { blockRegion?: 'global' | 'us'; minLiquidity?: number; minVolume24hUsd?: number; maxVolume24hUsd?: number; minMarketCap?: number; maxMarketCap?: number; }, options?: FetchOptions): Promise; /** * Returns the TanStack Query options object for top assets. * * @param chainId - The chain ID. * @param options - Fetch options including cache settings. * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc. */ getTopAssetsQueryOptions(chainId: number, options?: FetchOptions): FetchQueryOptions; /** * Get top assets for a chain. * * @param chainId - The chain ID. * @param options - Fetch options including cache settings. * @returns Array of top assets. */ fetchTopAssets(chainId: number, options?: FetchOptions): Promise; /** * Returns the TanStack Query options object for v1 suggested occurrence floors. * * @param options - Fetch options including cache settings. * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc. */ getV1SuggestedOccurrenceFloorsQueryOptions(options?: FetchOptions): FetchQueryOptions; /** * Get suggested occurrence floors for all chains. * * @param options - Fetch options including cache settings. * @returns The suggested occurrence floors response. */ fetchV1SuggestedOccurrenceFloors(options?: FetchOptions): Promise; } //# sourceMappingURL=client.d.mts.map