@metamask-previews/core-backend 6.0.0-preview-968b2b4f4 → 6.0.0-preview-bc00f2c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/dist/api/token/client.cjs +3 -0
- package/dist/api/token/client.cjs.map +1 -1
- package/dist/api/token/client.d.cts +4 -0
- package/dist/api/token/client.d.cts.map +1 -1
- package/dist/api/token/client.d.mts +4 -0
- package/dist/api/token/client.d.mts.map +1 -1
- package/dist/api/token/client.mjs +3 -0
- package/dist/api/token/client.mjs.map +1 -1
- package/dist/api/token/index.cjs.map +1 -1
- package/dist/api/token/index.d.cts +1 -1
- package/dist/api/token/index.d.cts.map +1 -1
- package/dist/api/token/index.d.mts +1 -1
- package/dist/api/token/index.d.mts.map +1 -1
- package/dist/api/token/index.mjs.map +1 -1
- package/dist/api/token/types.cjs.map +1 -1
- package/dist/api/token/types.d.cts +49 -0
- package/dist/api/token/types.d.cts.map +1 -1
- package/dist/api/token/types.d.mts +49 -0
- package/dist/api/token/types.d.mts.map +1 -1
- package/dist/api/token/types.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
10
10
|
### Added
|
|
11
11
|
|
|
12
12
|
- Add `includeAggregators` option to `V3AssetsQueryOptions` so the tokens v3 assets API can be called with `includeAggregators: true` to return DEX/aggregator integrations in the response ([#8021](https://github.com/MetaMask/core/pull/8021))
|
|
13
|
+
- Add `includeTokenSecurityData` option to `fetchV3TrendingTokens` and `getV3TrendingTokensQueryOptions` to request token security data from the API ([#8106](https://github.com/MetaMask/core/pull/8106))
|
|
14
|
+
- Export new types `TokenSecurityData`, `TokenSecurityFeature`, `TokenSecurityHolder`, `TokenSecurityMarket`, `TokenSecurityFees`, `TokenSecurityFinancialStats`, and `TokenSecurityMetadata` ([#8106](https://github.com/MetaMask/core/pull/8106))
|
|
13
15
|
- Add `getV4MultiAccountTransactionsInfiniteQueryOptions` for paginated transaction queries with `useInfiniteQuery` ([#8002](https://github.com/MetaMask/core/pull/8002))
|
|
14
16
|
|
|
15
17
|
### Changed
|
|
@@ -277,6 +277,7 @@ class TokenApiClient extends base_client_1.BaseApiClient {
|
|
|
277
277
|
* @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.
|
|
278
278
|
* @param queryOptions.minMarketCap - Minimum market cap filter.
|
|
279
279
|
* @param queryOptions.maxMarketCap - Maximum market cap filter.
|
|
280
|
+
* @param queryOptions.includeTokenSecurityData - Whether to include token security data.
|
|
280
281
|
* @param options - Fetch options including cache settings.
|
|
281
282
|
* @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.
|
|
282
283
|
*/
|
|
@@ -297,6 +298,7 @@ class TokenApiClient extends base_client_1.BaseApiClient {
|
|
|
297
298
|
maxVolume24hUsd: queryOptions?.maxVolume24hUsd,
|
|
298
299
|
minMarketCap: queryOptions?.minMarketCap,
|
|
299
300
|
maxMarketCap: queryOptions?.maxMarketCap,
|
|
301
|
+
includeTokenSecurityData: queryOptions?.includeTokenSecurityData,
|
|
300
302
|
},
|
|
301
303
|
}),
|
|
302
304
|
...(0, shared_types_1.getQueryOptionsOverrides)(options),
|
|
@@ -315,6 +317,7 @@ class TokenApiClient extends base_client_1.BaseApiClient {
|
|
|
315
317
|
* @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.
|
|
316
318
|
* @param queryOptions.minMarketCap - Minimum market cap filter.
|
|
317
319
|
* @param queryOptions.maxMarketCap - Maximum market cap filter.
|
|
320
|
+
* @param queryOptions.includeTokenSecurityData - Whether to include token security data.
|
|
318
321
|
* @param options - Fetch options including cache settings.
|
|
319
322
|
* @returns Array of trending tokens.
|
|
320
323
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.cjs","sourceRoot":"","sources":["../../../src/api/token/client.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Token API Client - token.api.cx.metamask.io\n *\n * Handles all token-related API calls including:\n * - Networks\n * - Token lists\n * - Token metadata\n * - Token descriptions\n * - Trending tokens\n * - Top gainers/popular tokens\n * - Top assets\n * - Occurrence floors\n */\n\nimport type {\n FetchQueryOptions,\n QueryFunctionContext,\n} from '@tanstack/query-core';\n\nimport type {\n TokenMetadata,\n V1TokenDescriptionResponse,\n NetworkInfo,\n TopAsset,\n TrendingToken,\n TrendingSortOption,\n TopGainersSortOption,\n V1SuggestedOccurrenceFloorsResponse,\n} from './types';\nimport { BaseApiClient, API_URLS, STALE_TIMES, GC_TIMES } from '../base-client';\nimport { getQueryOptionsOverrides } from '../shared-types';\nimport type { FetchOptions } from '../shared-types';\n\n/**\n * Token API Client.\n * Provides methods for interacting with the Token API.\n */\nexport class TokenApiClient extends BaseApiClient {\n // ==========================================================================\n // CACHE MANAGEMENT\n // ==========================================================================\n\n /**\n * Invalidate all token API queries.\n * Note: This only invalidates queries from token.api.cx.metamask.io,\n * not from tokens.api.cx.metamask.io (use TokensApiClient.invalidateTokens() for that).\n */\n async invalidateToken(): Promise<void> {\n await this.queryClient.invalidateQueries({\n queryKey: ['token'],\n });\n }\n\n // ==========================================================================\n // NETWORKS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for networks.\n *\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getNetworksQueryOptions(\n options?: FetchOptions,\n ): FetchQueryOptions<NetworkInfo[]> {\n return {\n queryKey: ['token', 'networks'],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<NetworkInfo[]>(API_URLS.TOKEN, '/networks', { signal }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.SUPPORTED_NETWORKS,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get all networks.\n *\n * @param options - Fetch options including cache settings.\n * @returns Array of network info.\n */\n async fetchNetworks(options?: FetchOptions): Promise<NetworkInfo[]> {\n return this.queryClient.fetchQuery(this.getNetworksQueryOptions(options));\n }\n\n /**\n * Returns the TanStack Query options object for network by chain ID.\n *\n * @param chainId - The chain ID.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getNetworkByChainIdQueryOptions(\n chainId: number,\n options?: FetchOptions,\n ): FetchQueryOptions<NetworkInfo> {\n return {\n queryKey: ['token', 'networkByChainId', chainId],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<NetworkInfo>(API_URLS.TOKEN, `/networks/${chainId}`, {\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 network by chain ID.\n *\n * @param chainId - The chain ID.\n * @param options - Fetch options including cache settings.\n * @returns The network info.\n */\n async fetchNetworkByChainId(\n chainId: number,\n options?: FetchOptions,\n ): Promise<NetworkInfo> {\n return this.queryClient.fetchQuery(\n this.getNetworkByChainIdQueryOptions(chainId, options),\n );\n }\n\n // ==========================================================================\n // TOKEN LIST\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for token list.\n *\n * @param chainId - The chain ID.\n * @param queryOptions - Query options.\n * @param queryOptions.includeTokenFees - Whether to include token fees.\n * @param queryOptions.includeAssetType - Whether to include asset type.\n * @param queryOptions.includeAggregators - Whether to include aggregators.\n * @param queryOptions.includeERC20Permit - Whether to include ERC20 permit.\n * @param queryOptions.includeOccurrences - Whether to include occurrences.\n * @param queryOptions.includeStorage - Whether to include storage.\n * @param queryOptions.includeIconUrl - Whether to include icon URL.\n * @param queryOptions.includeAddress - Whether to include address.\n * @param queryOptions.includeName - Whether to include name.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getTokenListQueryOptions(\n chainId: number,\n queryOptions?: {\n includeTokenFees?: boolean;\n includeAssetType?: boolean;\n includeAggregators?: boolean;\n includeERC20Permit?: boolean;\n includeOccurrences?: boolean;\n includeStorage?: boolean;\n includeIconUrl?: boolean;\n includeAddress?: boolean;\n includeName?: boolean;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<TokenMetadata[]> {\n return {\n queryKey: ['token', 'tokenList', { chainId, options: queryOptions }],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<TokenMetadata[]>(API_URLS.TOKEN, `/tokens/${chainId}`, {\n signal,\n params: {\n includeTokenFees: queryOptions?.includeTokenFees,\n includeAssetType: queryOptions?.includeAssetType,\n includeAggregators: queryOptions?.includeAggregators,\n includeERC20Permit: queryOptions?.includeERC20Permit,\n includeOccurrences: queryOptions?.includeOccurrences,\n includeStorage: queryOptions?.includeStorage,\n includeIconUrl: queryOptions?.includeIconUrl,\n includeAddress: queryOptions?.includeAddress,\n includeName: queryOptions?.includeName,\n },\n }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TOKEN_LIST,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get token list for a chain.\n *\n * @param chainId - The chain ID.\n * @param queryOptions - Query options.\n * @param queryOptions.includeTokenFees - Include token fees data.\n * @param queryOptions.includeAssetType - Include asset type data.\n * @param queryOptions.includeAggregators - Include aggregators data.\n * @param queryOptions.includeERC20Permit - Include ERC20 permit data.\n * @param queryOptions.includeOccurrences - Include occurrences data.\n * @param queryOptions.includeStorage - Include storage data.\n * @param queryOptions.includeIconUrl - Include icon URL.\n * @param queryOptions.includeAddress - Include address.\n * @param queryOptions.includeName - Include name.\n * @param options - Fetch options including cache settings.\n * @returns Array of token metadata.\n */\n async fetchTokenList(\n chainId: number,\n queryOptions?: {\n includeTokenFees?: boolean;\n includeAssetType?: boolean;\n includeAggregators?: boolean;\n includeERC20Permit?: boolean;\n includeOccurrences?: boolean;\n includeStorage?: boolean;\n includeIconUrl?: boolean;\n includeAddress?: boolean;\n includeName?: boolean;\n },\n options?: FetchOptions,\n ): Promise<TokenMetadata[]> {\n return this.queryClient.fetchQuery(\n this.getTokenListQueryOptions(chainId, queryOptions, options),\n );\n }\n\n // ==========================================================================\n // TOKEN METADATA\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 token metadata.\n *\n * @param chainId - The chain ID.\n * @param tokenAddress - The token address.\n * @param queryOptions - Query options.\n * @param queryOptions.includeTokenFees - Whether to include token fees.\n * @param queryOptions.includeAssetType - Whether to include asset type.\n * @param queryOptions.includeAggregators - Whether to include aggregators.\n * @param queryOptions.includeERC20Permit - Whether to include ERC20 permit.\n * @param queryOptions.includeOccurrences - Whether to include occurrences.\n * @param queryOptions.includeStorage - Whether to include storage.\n * @param queryOptions.includeIconUrl - Whether to include icon URL.\n * @param queryOptions.includeAddress - Whether to include address.\n * @param queryOptions.includeName - Whether to include name.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1TokenMetadataQueryOptions(\n chainId: number,\n tokenAddress: string,\n queryOptions?: {\n includeTokenFees?: boolean;\n includeAssetType?: boolean;\n includeAggregators?: boolean;\n includeERC20Permit?: boolean;\n includeOccurrences?: boolean;\n includeStorage?: boolean;\n includeIconUrl?: boolean;\n includeAddress?: boolean;\n includeName?: boolean;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<TokenMetadata> {\n return {\n queryKey: [\n 'token',\n 'v1Metadata',\n { chainId, tokenAddress, options: queryOptions },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<TokenMetadata> => {\n return this.fetch<TokenMetadata>(API_URLS.TOKEN, `/token/${chainId}`, {\n signal,\n params: {\n address: tokenAddress,\n includeTokenFees: queryOptions?.includeTokenFees,\n includeAssetType: queryOptions?.includeAssetType,\n includeAggregators: queryOptions?.includeAggregators,\n includeERC20Permit: queryOptions?.includeERC20Permit,\n includeOccurrences: queryOptions?.includeOccurrences,\n includeStorage: queryOptions?.includeStorage,\n includeIconUrl: queryOptions?.includeIconUrl,\n includeAddress: queryOptions?.includeAddress,\n includeName: queryOptions?.includeName,\n },\n });\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TOKEN_METADATA,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get token metadata by address.\n *\n * @param chainId - The chain ID.\n * @param tokenAddress - The token address.\n * @param queryOptions - Query options.\n * @param queryOptions.includeTokenFees - Include token fees data.\n * @param queryOptions.includeAssetType - Include asset type data.\n * @param queryOptions.includeAggregators - Include aggregators data.\n * @param queryOptions.includeERC20Permit - Include ERC20 permit data.\n * @param queryOptions.includeOccurrences - Include occurrences data.\n * @param queryOptions.includeStorage - Include storage data.\n * @param queryOptions.includeIconUrl - Include icon URL.\n * @param queryOptions.includeAddress - Include address.\n * @param queryOptions.includeName - Include name.\n * @param options - Fetch options including cache settings.\n * @returns The token metadata or undefined.\n */\n async fetchV1TokenMetadata(\n chainId: number,\n tokenAddress: string,\n queryOptions?: {\n includeTokenFees?: boolean;\n includeAssetType?: boolean;\n includeAggregators?: boolean;\n includeERC20Permit?: boolean;\n includeOccurrences?: boolean;\n includeStorage?: boolean;\n includeIconUrl?: boolean;\n includeAddress?: boolean;\n includeName?: boolean;\n },\n options?: FetchOptions,\n ): Promise<TokenMetadata | undefined> {\n try {\n return await this.queryClient.fetchQuery(\n this.getV1TokenMetadataQueryOptions(\n chainId,\n tokenAddress,\n queryOptions,\n options,\n ),\n );\n } catch {\n return undefined;\n }\n }\n\n /**\n * Returns the TanStack Query options object for token description.\n *\n * @param chainId - The chain ID.\n * @param tokenAddress - The token address.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getTokenDescriptionQueryOptions(\n chainId: number,\n tokenAddress: string,\n options?: FetchOptions,\n ): FetchQueryOptions<V1TokenDescriptionResponse> {\n return {\n queryKey: ['token', 'tokenDescription', chainId, tokenAddress],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V1TokenDescriptionResponse> =>\n this.fetch<V1TokenDescriptionResponse>(\n API_URLS.TOKEN,\n `/token/${chainId}/description`,\n {\n signal,\n params: { address: tokenAddress },\n },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TOKEN_METADATA,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get token description.\n *\n * @param chainId - The chain ID.\n * @param tokenAddress - The token address.\n * @param options - Fetch options including cache settings.\n * @returns The token description or undefined.\n */\n async fetchTokenDescription(\n chainId: number,\n tokenAddress: string,\n options?: FetchOptions,\n ): Promise<V1TokenDescriptionResponse | undefined> {\n try {\n return await this.queryClient.fetchQuery(\n this.getTokenDescriptionQueryOptions(chainId, tokenAddress, options),\n );\n } catch {\n return undefined;\n }\n }\n\n // ==========================================================================\n // TRENDING & TOP TOKENS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v3 trending tokens.\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.sortBy - Sort option.\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV3TrendingTokensQueryOptions(\n chainIds: string[],\n queryOptions?: {\n sortBy?: TrendingSortOption;\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<TrendingToken[]> {\n return {\n queryKey: [\n 'token',\n 'v3Trending',\n { chainIds: [...chainIds].sort(), options: queryOptions },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<TrendingToken[]>(API_URLS.TOKEN, '/v3/tokens/trending', {\n signal,\n params: {\n chainIds,\n sort: queryOptions?.sortBy,\n minLiquidity: queryOptions?.minLiquidity,\n minVolume24hUsd: queryOptions?.minVolume24hUsd,\n maxVolume24hUsd: queryOptions?.maxVolume24hUsd,\n minMarketCap: queryOptions?.minMarketCap,\n maxMarketCap: queryOptions?.maxMarketCap,\n },\n }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRENDING,\n gcTime: options?.gcTime ?? GC_TIMES.SHORT,\n };\n }\n\n /**\n * Get trending tokens (v3 endpoint).\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.sortBy - Sort option.\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param options - Fetch options including cache settings.\n * @returns Array of trending tokens.\n */\n async fetchV3TrendingTokens(\n chainIds: string[],\n queryOptions?: {\n sortBy?: TrendingSortOption;\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n },\n options?: FetchOptions,\n ): Promise<TrendingToken[]> {\n return this.queryClient.fetchQuery(\n this.getV3TrendingTokensQueryOptions(chainIds, queryOptions, options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v3 top gainers.\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.sort - Sort option.\n * @param queryOptions.blockRegion - Region filter (global/us).\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV3TopGainersQueryOptions(\n chainIds: string[],\n queryOptions?: {\n sort?: TopGainersSortOption;\n blockRegion?: 'global' | 'us';\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<TrendingToken[]> {\n return {\n queryKey: [\n 'token',\n 'v3TopGainers',\n { chainIds: [...chainIds].sort(), options: queryOptions },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<TrendingToken[]>(API_URLS.TOKEN, '/v3/tokens/top-gainers', {\n signal,\n params: {\n chainIds,\n sort: queryOptions?.sort,\n blockRegion: queryOptions?.blockRegion,\n minLiquidity: queryOptions?.minLiquidity,\n minVolume24hUsd: queryOptions?.minVolume24hUsd,\n maxVolume24hUsd: queryOptions?.maxVolume24hUsd,\n minMarketCap: queryOptions?.minMarketCap,\n maxMarketCap: queryOptions?.maxMarketCap,\n },\n }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRENDING,\n gcTime: options?.gcTime ?? GC_TIMES.SHORT,\n };\n }\n\n /**\n * Get top gainers/losers (v3 endpoint).\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.sort - Sort option.\n * @param queryOptions.blockRegion - Region filter (global/us).\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param options - Fetch options including cache settings.\n * @returns Array of top gainer tokens.\n */\n async fetchV3TopGainers(\n chainIds: string[],\n queryOptions?: {\n sort?: TopGainersSortOption;\n blockRegion?: 'global' | 'us';\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n },\n options?: FetchOptions,\n ): Promise<TrendingToken[]> {\n return this.queryClient.fetchQuery(\n this.getV3TopGainersQueryOptions(chainIds, queryOptions, options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v3 popular tokens.\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.blockRegion - Region filter (global/us).\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV3PopularTokensQueryOptions(\n chainIds: string[],\n queryOptions?: {\n blockRegion?: 'global' | 'us';\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<TrendingToken[]> {\n return {\n queryKey: [\n 'token',\n 'v3Popular',\n { chainIds: [...chainIds].sort(), options: queryOptions },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<TrendingToken[]>(API_URLS.TOKEN, '/v3/tokens/popular', {\n signal,\n params: {\n chainIds,\n blockRegion: queryOptions?.blockRegion,\n minLiquidity: queryOptions?.minLiquidity,\n minVolume24hUsd: queryOptions?.minVolume24hUsd,\n maxVolume24hUsd: queryOptions?.maxVolume24hUsd,\n minMarketCap: queryOptions?.minMarketCap,\n maxMarketCap: queryOptions?.maxMarketCap,\n },\n }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRENDING,\n gcTime: options?.gcTime ?? GC_TIMES.SHORT,\n };\n }\n\n /**\n * Get popular tokens (v3 endpoint).\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.blockRegion - Region filter (global/us).\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param options - Fetch options including cache settings.\n * @returns Array of popular tokens.\n */\n async fetchV3PopularTokens(\n chainIds: string[],\n queryOptions?: {\n blockRegion?: 'global' | 'us';\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n },\n options?: FetchOptions,\n ): Promise<TrendingToken[]> {\n return this.queryClient.fetchQuery(\n this.getV3PopularTokensQueryOptions(chainIds, queryOptions, options),\n );\n }\n\n // ==========================================================================\n // TOP ASSETS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for top assets.\n *\n * @param chainId - The chain ID.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getTopAssetsQueryOptions(\n chainId: number,\n options?: FetchOptions,\n ): FetchQueryOptions<TopAsset[]> {\n return {\n queryKey: ['token', 'topAssets', chainId],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<TopAsset[]>(API_URLS.TOKEN, `/topAssets/${chainId}`, {\n signal,\n }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRENDING,\n gcTime: options?.gcTime ?? GC_TIMES.SHORT,\n };\n }\n\n /**\n * Get top assets for a chain.\n *\n * @param chainId - The chain ID.\n * @param options - Fetch options including cache settings.\n * @returns Array of top assets.\n */\n async fetchTopAssets(\n chainId: number,\n options?: FetchOptions,\n ): Promise<TopAsset[]> {\n return this.queryClient.fetchQuery(\n this.getTopAssetsQueryOptions(chainId, options),\n );\n }\n\n // ==========================================================================\n // UTILITY\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 suggested occurrence floors.\n *\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1SuggestedOccurrenceFloorsQueryOptions(\n options?: FetchOptions,\n ): FetchQueryOptions<V1SuggestedOccurrenceFloorsResponse> {\n return {\n queryKey: ['token', 'v1SuggestedOccurrenceFloors'],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V1SuggestedOccurrenceFloorsResponse>(\n API_URLS.TOKEN,\n '/v1/suggestedOccurrenceFloors',\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 suggested occurrence floors for all chains.\n *\n * @param options - Fetch options including cache settings.\n * @returns The suggested occurrence floors response.\n */\n async fetchV1SuggestedOccurrenceFloors(\n options?: FetchOptions,\n ): Promise<V1SuggestedOccurrenceFloorsResponse> {\n return this.queryClient.fetchQuery(\n this.getV1SuggestedOccurrenceFloorsQueryOptions(options),\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"client.cjs","sourceRoot":"","sources":["../../../src/api/token/client.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Token API Client - token.api.cx.metamask.io\n *\n * Handles all token-related API calls including:\n * - Networks\n * - Token lists\n * - Token metadata\n * - Token descriptions\n * - Trending tokens\n * - Top gainers/popular tokens\n * - Top assets\n * - Occurrence floors\n */\n\nimport type {\n FetchQueryOptions,\n QueryFunctionContext,\n} from '@tanstack/query-core';\n\nimport type {\n TokenMetadata,\n V1TokenDescriptionResponse,\n NetworkInfo,\n TopAsset,\n TrendingToken,\n TrendingSortOption,\n TopGainersSortOption,\n V1SuggestedOccurrenceFloorsResponse,\n} from './types';\nimport { BaseApiClient, API_URLS, STALE_TIMES, GC_TIMES } from '../base-client';\nimport { getQueryOptionsOverrides } from '../shared-types';\nimport type { FetchOptions } from '../shared-types';\n\n/**\n * Token API Client.\n * Provides methods for interacting with the Token API.\n */\nexport class TokenApiClient extends BaseApiClient {\n // ==========================================================================\n // CACHE MANAGEMENT\n // ==========================================================================\n\n /**\n * Invalidate all token API queries.\n * Note: This only invalidates queries from token.api.cx.metamask.io,\n * not from tokens.api.cx.metamask.io (use TokensApiClient.invalidateTokens() for that).\n */\n async invalidateToken(): Promise<void> {\n await this.queryClient.invalidateQueries({\n queryKey: ['token'],\n });\n }\n\n // ==========================================================================\n // NETWORKS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for networks.\n *\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getNetworksQueryOptions(\n options?: FetchOptions,\n ): FetchQueryOptions<NetworkInfo[]> {\n return {\n queryKey: ['token', 'networks'],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<NetworkInfo[]>(API_URLS.TOKEN, '/networks', { signal }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.SUPPORTED_NETWORKS,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get all networks.\n *\n * @param options - Fetch options including cache settings.\n * @returns Array of network info.\n */\n async fetchNetworks(options?: FetchOptions): Promise<NetworkInfo[]> {\n return this.queryClient.fetchQuery(this.getNetworksQueryOptions(options));\n }\n\n /**\n * Returns the TanStack Query options object for network by chain ID.\n *\n * @param chainId - The chain ID.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getNetworkByChainIdQueryOptions(\n chainId: number,\n options?: FetchOptions,\n ): FetchQueryOptions<NetworkInfo> {\n return {\n queryKey: ['token', 'networkByChainId', chainId],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<NetworkInfo>(API_URLS.TOKEN, `/networks/${chainId}`, {\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 network by chain ID.\n *\n * @param chainId - The chain ID.\n * @param options - Fetch options including cache settings.\n * @returns The network info.\n */\n async fetchNetworkByChainId(\n chainId: number,\n options?: FetchOptions,\n ): Promise<NetworkInfo> {\n return this.queryClient.fetchQuery(\n this.getNetworkByChainIdQueryOptions(chainId, options),\n );\n }\n\n // ==========================================================================\n // TOKEN LIST\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for token list.\n *\n * @param chainId - The chain ID.\n * @param queryOptions - Query options.\n * @param queryOptions.includeTokenFees - Whether to include token fees.\n * @param queryOptions.includeAssetType - Whether to include asset type.\n * @param queryOptions.includeAggregators - Whether to include aggregators.\n * @param queryOptions.includeERC20Permit - Whether to include ERC20 permit.\n * @param queryOptions.includeOccurrences - Whether to include occurrences.\n * @param queryOptions.includeStorage - Whether to include storage.\n * @param queryOptions.includeIconUrl - Whether to include icon URL.\n * @param queryOptions.includeAddress - Whether to include address.\n * @param queryOptions.includeName - Whether to include name.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getTokenListQueryOptions(\n chainId: number,\n queryOptions?: {\n includeTokenFees?: boolean;\n includeAssetType?: boolean;\n includeAggregators?: boolean;\n includeERC20Permit?: boolean;\n includeOccurrences?: boolean;\n includeStorage?: boolean;\n includeIconUrl?: boolean;\n includeAddress?: boolean;\n includeName?: boolean;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<TokenMetadata[]> {\n return {\n queryKey: ['token', 'tokenList', { chainId, options: queryOptions }],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<TokenMetadata[]>(API_URLS.TOKEN, `/tokens/${chainId}`, {\n signal,\n params: {\n includeTokenFees: queryOptions?.includeTokenFees,\n includeAssetType: queryOptions?.includeAssetType,\n includeAggregators: queryOptions?.includeAggregators,\n includeERC20Permit: queryOptions?.includeERC20Permit,\n includeOccurrences: queryOptions?.includeOccurrences,\n includeStorage: queryOptions?.includeStorage,\n includeIconUrl: queryOptions?.includeIconUrl,\n includeAddress: queryOptions?.includeAddress,\n includeName: queryOptions?.includeName,\n },\n }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TOKEN_LIST,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get token list for a chain.\n *\n * @param chainId - The chain ID.\n * @param queryOptions - Query options.\n * @param queryOptions.includeTokenFees - Include token fees data.\n * @param queryOptions.includeAssetType - Include asset type data.\n * @param queryOptions.includeAggregators - Include aggregators data.\n * @param queryOptions.includeERC20Permit - Include ERC20 permit data.\n * @param queryOptions.includeOccurrences - Include occurrences data.\n * @param queryOptions.includeStorage - Include storage data.\n * @param queryOptions.includeIconUrl - Include icon URL.\n * @param queryOptions.includeAddress - Include address.\n * @param queryOptions.includeName - Include name.\n * @param options - Fetch options including cache settings.\n * @returns Array of token metadata.\n */\n async fetchTokenList(\n chainId: number,\n queryOptions?: {\n includeTokenFees?: boolean;\n includeAssetType?: boolean;\n includeAggregators?: boolean;\n includeERC20Permit?: boolean;\n includeOccurrences?: boolean;\n includeStorage?: boolean;\n includeIconUrl?: boolean;\n includeAddress?: boolean;\n includeName?: boolean;\n },\n options?: FetchOptions,\n ): Promise<TokenMetadata[]> {\n return this.queryClient.fetchQuery(\n this.getTokenListQueryOptions(chainId, queryOptions, options),\n );\n }\n\n // ==========================================================================\n // TOKEN METADATA\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 token metadata.\n *\n * @param chainId - The chain ID.\n * @param tokenAddress - The token address.\n * @param queryOptions - Query options.\n * @param queryOptions.includeTokenFees - Whether to include token fees.\n * @param queryOptions.includeAssetType - Whether to include asset type.\n * @param queryOptions.includeAggregators - Whether to include aggregators.\n * @param queryOptions.includeERC20Permit - Whether to include ERC20 permit.\n * @param queryOptions.includeOccurrences - Whether to include occurrences.\n * @param queryOptions.includeStorage - Whether to include storage.\n * @param queryOptions.includeIconUrl - Whether to include icon URL.\n * @param queryOptions.includeAddress - Whether to include address.\n * @param queryOptions.includeName - Whether to include name.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1TokenMetadataQueryOptions(\n chainId: number,\n tokenAddress: string,\n queryOptions?: {\n includeTokenFees?: boolean;\n includeAssetType?: boolean;\n includeAggregators?: boolean;\n includeERC20Permit?: boolean;\n includeOccurrences?: boolean;\n includeStorage?: boolean;\n includeIconUrl?: boolean;\n includeAddress?: boolean;\n includeName?: boolean;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<TokenMetadata> {\n return {\n queryKey: [\n 'token',\n 'v1Metadata',\n { chainId, tokenAddress, options: queryOptions },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<TokenMetadata> => {\n return this.fetch<TokenMetadata>(API_URLS.TOKEN, `/token/${chainId}`, {\n signal,\n params: {\n address: tokenAddress,\n includeTokenFees: queryOptions?.includeTokenFees,\n includeAssetType: queryOptions?.includeAssetType,\n includeAggregators: queryOptions?.includeAggregators,\n includeERC20Permit: queryOptions?.includeERC20Permit,\n includeOccurrences: queryOptions?.includeOccurrences,\n includeStorage: queryOptions?.includeStorage,\n includeIconUrl: queryOptions?.includeIconUrl,\n includeAddress: queryOptions?.includeAddress,\n includeName: queryOptions?.includeName,\n },\n });\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TOKEN_METADATA,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get token metadata by address.\n *\n * @param chainId - The chain ID.\n * @param tokenAddress - The token address.\n * @param queryOptions - Query options.\n * @param queryOptions.includeTokenFees - Include token fees data.\n * @param queryOptions.includeAssetType - Include asset type data.\n * @param queryOptions.includeAggregators - Include aggregators data.\n * @param queryOptions.includeERC20Permit - Include ERC20 permit data.\n * @param queryOptions.includeOccurrences - Include occurrences data.\n * @param queryOptions.includeStorage - Include storage data.\n * @param queryOptions.includeIconUrl - Include icon URL.\n * @param queryOptions.includeAddress - Include address.\n * @param queryOptions.includeName - Include name.\n * @param options - Fetch options including cache settings.\n * @returns The token metadata or undefined.\n */\n async fetchV1TokenMetadata(\n chainId: number,\n tokenAddress: string,\n queryOptions?: {\n includeTokenFees?: boolean;\n includeAssetType?: boolean;\n includeAggregators?: boolean;\n includeERC20Permit?: boolean;\n includeOccurrences?: boolean;\n includeStorage?: boolean;\n includeIconUrl?: boolean;\n includeAddress?: boolean;\n includeName?: boolean;\n },\n options?: FetchOptions,\n ): Promise<TokenMetadata | undefined> {\n try {\n return await this.queryClient.fetchQuery(\n this.getV1TokenMetadataQueryOptions(\n chainId,\n tokenAddress,\n queryOptions,\n options,\n ),\n );\n } catch {\n return undefined;\n }\n }\n\n /**\n * Returns the TanStack Query options object for token description.\n *\n * @param chainId - The chain ID.\n * @param tokenAddress - The token address.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getTokenDescriptionQueryOptions(\n chainId: number,\n tokenAddress: string,\n options?: FetchOptions,\n ): FetchQueryOptions<V1TokenDescriptionResponse> {\n return {\n queryKey: ['token', 'tokenDescription', chainId, tokenAddress],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V1TokenDescriptionResponse> =>\n this.fetch<V1TokenDescriptionResponse>(\n API_URLS.TOKEN,\n `/token/${chainId}/description`,\n {\n signal,\n params: { address: tokenAddress },\n },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TOKEN_METADATA,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get token description.\n *\n * @param chainId - The chain ID.\n * @param tokenAddress - The token address.\n * @param options - Fetch options including cache settings.\n * @returns The token description or undefined.\n */\n async fetchTokenDescription(\n chainId: number,\n tokenAddress: string,\n options?: FetchOptions,\n ): Promise<V1TokenDescriptionResponse | undefined> {\n try {\n return await this.queryClient.fetchQuery(\n this.getTokenDescriptionQueryOptions(chainId, tokenAddress, options),\n );\n } catch {\n return undefined;\n }\n }\n\n // ==========================================================================\n // TRENDING & TOP TOKENS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v3 trending tokens.\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.sortBy - Sort option.\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param queryOptions.includeTokenSecurityData - Whether to include token security data.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV3TrendingTokensQueryOptions(\n chainIds: string[],\n queryOptions?: {\n sortBy?: TrendingSortOption;\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n includeTokenSecurityData?: boolean;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<TrendingToken[]> {\n return {\n queryKey: [\n 'token',\n 'v3Trending',\n { chainIds: [...chainIds].sort(), options: queryOptions },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<TrendingToken[]>(API_URLS.TOKEN, '/v3/tokens/trending', {\n signal,\n params: {\n chainIds,\n sort: queryOptions?.sortBy,\n minLiquidity: queryOptions?.minLiquidity,\n minVolume24hUsd: queryOptions?.minVolume24hUsd,\n maxVolume24hUsd: queryOptions?.maxVolume24hUsd,\n minMarketCap: queryOptions?.minMarketCap,\n maxMarketCap: queryOptions?.maxMarketCap,\n includeTokenSecurityData: queryOptions?.includeTokenSecurityData,\n },\n }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRENDING,\n gcTime: options?.gcTime ?? GC_TIMES.SHORT,\n };\n }\n\n /**\n * Get trending tokens (v3 endpoint).\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.sortBy - Sort option.\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param queryOptions.includeTokenSecurityData - Whether to include token security data.\n * @param options - Fetch options including cache settings.\n * @returns Array of trending tokens.\n */\n async fetchV3TrendingTokens(\n chainIds: string[],\n queryOptions?: {\n sortBy?: TrendingSortOption;\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n includeTokenSecurityData?: boolean;\n },\n options?: FetchOptions,\n ): Promise<TrendingToken[]> {\n return this.queryClient.fetchQuery(\n this.getV3TrendingTokensQueryOptions(chainIds, queryOptions, options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v3 top gainers.\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.sort - Sort option.\n * @param queryOptions.blockRegion - Region filter (global/us).\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV3TopGainersQueryOptions(\n chainIds: string[],\n queryOptions?: {\n sort?: TopGainersSortOption;\n blockRegion?: 'global' | 'us';\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<TrendingToken[]> {\n return {\n queryKey: [\n 'token',\n 'v3TopGainers',\n { chainIds: [...chainIds].sort(), options: queryOptions },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<TrendingToken[]>(API_URLS.TOKEN, '/v3/tokens/top-gainers', {\n signal,\n params: {\n chainIds,\n sort: queryOptions?.sort,\n blockRegion: queryOptions?.blockRegion,\n minLiquidity: queryOptions?.minLiquidity,\n minVolume24hUsd: queryOptions?.minVolume24hUsd,\n maxVolume24hUsd: queryOptions?.maxVolume24hUsd,\n minMarketCap: queryOptions?.minMarketCap,\n maxMarketCap: queryOptions?.maxMarketCap,\n },\n }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRENDING,\n gcTime: options?.gcTime ?? GC_TIMES.SHORT,\n };\n }\n\n /**\n * Get top gainers/losers (v3 endpoint).\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.sort - Sort option.\n * @param queryOptions.blockRegion - Region filter (global/us).\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param options - Fetch options including cache settings.\n * @returns Array of top gainer tokens.\n */\n async fetchV3TopGainers(\n chainIds: string[],\n queryOptions?: {\n sort?: TopGainersSortOption;\n blockRegion?: 'global' | 'us';\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n },\n options?: FetchOptions,\n ): Promise<TrendingToken[]> {\n return this.queryClient.fetchQuery(\n this.getV3TopGainersQueryOptions(chainIds, queryOptions, options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v3 popular tokens.\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.blockRegion - Region filter (global/us).\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV3PopularTokensQueryOptions(\n chainIds: string[],\n queryOptions?: {\n blockRegion?: 'global' | 'us';\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<TrendingToken[]> {\n return {\n queryKey: [\n 'token',\n 'v3Popular',\n { chainIds: [...chainIds].sort(), options: queryOptions },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<TrendingToken[]>(API_URLS.TOKEN, '/v3/tokens/popular', {\n signal,\n params: {\n chainIds,\n blockRegion: queryOptions?.blockRegion,\n minLiquidity: queryOptions?.minLiquidity,\n minVolume24hUsd: queryOptions?.minVolume24hUsd,\n maxVolume24hUsd: queryOptions?.maxVolume24hUsd,\n minMarketCap: queryOptions?.minMarketCap,\n maxMarketCap: queryOptions?.maxMarketCap,\n },\n }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRENDING,\n gcTime: options?.gcTime ?? GC_TIMES.SHORT,\n };\n }\n\n /**\n * Get popular tokens (v3 endpoint).\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.blockRegion - Region filter (global/us).\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param options - Fetch options including cache settings.\n * @returns Array of popular tokens.\n */\n async fetchV3PopularTokens(\n chainIds: string[],\n queryOptions?: {\n blockRegion?: 'global' | 'us';\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n },\n options?: FetchOptions,\n ): Promise<TrendingToken[]> {\n return this.queryClient.fetchQuery(\n this.getV3PopularTokensQueryOptions(chainIds, queryOptions, options),\n );\n }\n\n // ==========================================================================\n // TOP ASSETS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for top assets.\n *\n * @param chainId - The chain ID.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getTopAssetsQueryOptions(\n chainId: number,\n options?: FetchOptions,\n ): FetchQueryOptions<TopAsset[]> {\n return {\n queryKey: ['token', 'topAssets', chainId],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<TopAsset[]>(API_URLS.TOKEN, `/topAssets/${chainId}`, {\n signal,\n }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRENDING,\n gcTime: options?.gcTime ?? GC_TIMES.SHORT,\n };\n }\n\n /**\n * Get top assets for a chain.\n *\n * @param chainId - The chain ID.\n * @param options - Fetch options including cache settings.\n * @returns Array of top assets.\n */\n async fetchTopAssets(\n chainId: number,\n options?: FetchOptions,\n ): Promise<TopAsset[]> {\n return this.queryClient.fetchQuery(\n this.getTopAssetsQueryOptions(chainId, options),\n );\n }\n\n // ==========================================================================\n // UTILITY\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 suggested occurrence floors.\n *\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1SuggestedOccurrenceFloorsQueryOptions(\n options?: FetchOptions,\n ): FetchQueryOptions<V1SuggestedOccurrenceFloorsResponse> {\n return {\n queryKey: ['token', 'v1SuggestedOccurrenceFloors'],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V1SuggestedOccurrenceFloorsResponse>(\n API_URLS.TOKEN,\n '/v1/suggestedOccurrenceFloors',\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 suggested occurrence floors for all chains.\n *\n * @param options - Fetch options including cache settings.\n * @returns The suggested occurrence floors response.\n */\n async fetchV1SuggestedOccurrenceFloors(\n options?: FetchOptions,\n ): Promise<V1SuggestedOccurrenceFloorsResponse> {\n return this.queryClient.fetchQuery(\n this.getV1SuggestedOccurrenceFloorsQueryOptions(options),\n );\n }\n}\n"]}
|
|
@@ -199,6 +199,7 @@ export declare class TokenApiClient extends BaseApiClient {
|
|
|
199
199
|
* @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.
|
|
200
200
|
* @param queryOptions.minMarketCap - Minimum market cap filter.
|
|
201
201
|
* @param queryOptions.maxMarketCap - Maximum market cap filter.
|
|
202
|
+
* @param queryOptions.includeTokenSecurityData - Whether to include token security data.
|
|
202
203
|
* @param options - Fetch options including cache settings.
|
|
203
204
|
* @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.
|
|
204
205
|
*/
|
|
@@ -209,6 +210,7 @@ export declare class TokenApiClient extends BaseApiClient {
|
|
|
209
210
|
maxVolume24hUsd?: number;
|
|
210
211
|
minMarketCap?: number;
|
|
211
212
|
maxMarketCap?: number;
|
|
213
|
+
includeTokenSecurityData?: boolean;
|
|
212
214
|
}, options?: FetchOptions): FetchQueryOptions<TrendingToken[]>;
|
|
213
215
|
/**
|
|
214
216
|
* Get trending tokens (v3 endpoint).
|
|
@@ -221,6 +223,7 @@ export declare class TokenApiClient extends BaseApiClient {
|
|
|
221
223
|
* @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.
|
|
222
224
|
* @param queryOptions.minMarketCap - Minimum market cap filter.
|
|
223
225
|
* @param queryOptions.maxMarketCap - Maximum market cap filter.
|
|
226
|
+
* @param queryOptions.includeTokenSecurityData - Whether to include token security data.
|
|
224
227
|
* @param options - Fetch options including cache settings.
|
|
225
228
|
* @returns Array of trending tokens.
|
|
226
229
|
*/
|
|
@@ -231,6 +234,7 @@ export declare class TokenApiClient extends BaseApiClient {
|
|
|
231
234
|
maxVolume24hUsd?: number;
|
|
232
235
|
minMarketCap?: number;
|
|
233
236
|
maxMarketCap?: number;
|
|
237
|
+
includeTokenSecurityData?: boolean;
|
|
234
238
|
}, options?: FetchOptions): Promise<TrendingToken[]>;
|
|
235
239
|
/**
|
|
236
240
|
* Returns the TanStack Query options object for v3 top gainers.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.cts","sourceRoot":"","sources":["../../../src/api/token/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,iBAAiB,EAElB,6BAA6B;AAE9B,OAAO,KAAK,EACV,aAAa,EACb,0BAA0B,EAC1B,WAAW,EACX,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,mCAAmC,EACpC,oBAAgB;AACjB,OAAO,EAAE,aAAa,EAAmC,2BAAuB;AAEhF,OAAO,KAAK,EAAE,YAAY,EAAE,4BAAwB;AAEpD;;;GAGG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAK/C;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAUtC;;;;;OAKG;IACH,uBAAuB,CACrB,OAAO,CAAC,EAAE,YAAY,GACrB,iBAAiB,CAAC,WAAW,EAAE,CAAC;IAWnC;;;;;OAKG;IACG,aAAa,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAInE;;;;;;OAMG;IACH,+BAA+B,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,GACrB,iBAAiB,CAAC,WAAW,CAAC;IAajC;;;;;;OAMG;IACG,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,WAAW,CAAC;IAUvB;;;;;;;;;;;;;;;;OAgBG;IACH,wBAAwB,CACtB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE;QACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,EACD,OAAO,CAAC,EAAE,YAAY,GACrB,iBAAiB,CAAC,aAAa,EAAE,CAAC;IAwBrC;;;;;;;;;;;;;;;;OAgBG;IACG,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE;QACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,EACD,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,aAAa,EAAE,CAAC;IAU3B;;;;;;;;;;;;;;;;;OAiBG;IACH,8BAA8B,CAC5B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE;QACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,EACD,OAAO,CAAC,EAAE,YAAY,GACrB,iBAAiB,CAAC,aAAa,CAAC;IAgCnC;;;;;;;;;;;;;;;;;OAiBG;IACG,oBAAoB,CACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE;QACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,EACD,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAerC;;;;;;;OAOG;IACH,+BAA+B,CAC7B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,YAAY,GACrB,iBAAiB,CAAC,0BAA0B,CAAC;IAoBhD;;;;;;;OAOG;IACG,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAclD
|
|
1
|
+
{"version":3,"file":"client.d.cts","sourceRoot":"","sources":["../../../src/api/token/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,iBAAiB,EAElB,6BAA6B;AAE9B,OAAO,KAAK,EACV,aAAa,EACb,0BAA0B,EAC1B,WAAW,EACX,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,mCAAmC,EACpC,oBAAgB;AACjB,OAAO,EAAE,aAAa,EAAmC,2BAAuB;AAEhF,OAAO,KAAK,EAAE,YAAY,EAAE,4BAAwB;AAEpD;;;GAGG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAK/C;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAUtC;;;;;OAKG;IACH,uBAAuB,CACrB,OAAO,CAAC,EAAE,YAAY,GACrB,iBAAiB,CAAC,WAAW,EAAE,CAAC;IAWnC;;;;;OAKG;IACG,aAAa,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAInE;;;;;;OAMG;IACH,+BAA+B,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,GACrB,iBAAiB,CAAC,WAAW,CAAC;IAajC;;;;;;OAMG;IACG,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,WAAW,CAAC;IAUvB;;;;;;;;;;;;;;;;OAgBG;IACH,wBAAwB,CACtB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE;QACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,EACD,OAAO,CAAC,EAAE,YAAY,GACrB,iBAAiB,CAAC,aAAa,EAAE,CAAC;IAwBrC;;;;;;;;;;;;;;;;OAgBG;IACG,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE;QACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,EACD,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,aAAa,EAAE,CAAC;IAU3B;;;;;;;;;;;;;;;;;OAiBG;IACH,8BAA8B,CAC5B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE;QACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,EACD,OAAO,CAAC,EAAE,YAAY,GACrB,iBAAiB,CAAC,aAAa,CAAC;IAgCnC;;;;;;;;;;;;;;;;;OAiBG;IACG,oBAAoB,CACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE;QACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,EACD,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAerC;;;;;;;OAOG;IACH,+BAA+B,CAC7B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,YAAY,GACrB,iBAAiB,CAAC,0BAA0B,CAAC;IAoBhD;;;;;;;OAOG;IACG,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAclD;;;;;;;;;;;;;;OAcG;IACH,+BAA+B,CAC7B,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,kBAAkB,CAAC;QAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,wBAAwB,CAAC,EAAE,OAAO,CAAC;KACpC,EACD,OAAO,CAAC,EAAE,YAAY,GACrB,iBAAiB,CAAC,aAAa,EAAE,CAAC;IA2BrC;;;;;;;;;;;;;;OAcG;IACG,qBAAqB,CACzB,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,kBAAkB,CAAC;QAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,wBAAwB,CAAC,EAAE,OAAO,CAAC;KACpC,EACD,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,aAAa,EAAE,CAAC;IAM3B;;;;;;;;;;;;;;OAcG;IACH,2BAA2B,CACzB,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,CAAC,EAAE;QACb,IAAI,CAAC,EAAE,oBAAoB,CAAC;QAC5B,WAAW,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;QAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,EACD,OAAO,CAAC,EAAE,YAAY,GACrB,iBAAiB,CAAC,aAAa,EAAE,CAAC;IA2BrC;;;;;;;;;;;;;;OAcG;IACG,iBAAiB,CACrB,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,CAAC,EAAE;QACb,IAAI,CAAC,EAAE,oBAAoB,CAAC;QAC5B,WAAW,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;QAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,EACD,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,aAAa,EAAE,CAAC;IAM3B;;;;;;;;;;;;;OAaG;IACH,8BAA8B,CAC5B,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,CAAC,EAAE;QACb,WAAW,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;QAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,EACD,OAAO,CAAC,EAAE,YAAY,GACrB,iBAAiB,CAAC,aAAa,EAAE,CAAC;IA0BrC;;;;;;;;;;;;;OAaG;IACG,oBAAoB,CACxB,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,CAAC,EAAE;QACb,WAAW,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;QAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,EACD,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,aAAa,EAAE,CAAC;IAU3B;;;;;;OAMG;IACH,wBAAwB,CACtB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,GACrB,iBAAiB,CAAC,QAAQ,EAAE,CAAC;IAahC;;;;;;OAMG;IACG,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,QAAQ,EAAE,CAAC;IAUtB;;;;;OAKG;IACH,0CAA0C,CACxC,OAAO,CAAC,EAAE,YAAY,GACrB,iBAAiB,CAAC,mCAAmC,CAAC;IAezD;;;;;OAKG;IACG,gCAAgC,CACpC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,mCAAmC,CAAC;CAKhD"}
|
|
@@ -199,6 +199,7 @@ export declare class TokenApiClient extends BaseApiClient {
|
|
|
199
199
|
* @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.
|
|
200
200
|
* @param queryOptions.minMarketCap - Minimum market cap filter.
|
|
201
201
|
* @param queryOptions.maxMarketCap - Maximum market cap filter.
|
|
202
|
+
* @param queryOptions.includeTokenSecurityData - Whether to include token security data.
|
|
202
203
|
* @param options - Fetch options including cache settings.
|
|
203
204
|
* @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.
|
|
204
205
|
*/
|
|
@@ -209,6 +210,7 @@ export declare class TokenApiClient extends BaseApiClient {
|
|
|
209
210
|
maxVolume24hUsd?: number;
|
|
210
211
|
minMarketCap?: number;
|
|
211
212
|
maxMarketCap?: number;
|
|
213
|
+
includeTokenSecurityData?: boolean;
|
|
212
214
|
}, options?: FetchOptions): FetchQueryOptions<TrendingToken[]>;
|
|
213
215
|
/**
|
|
214
216
|
* Get trending tokens (v3 endpoint).
|
|
@@ -221,6 +223,7 @@ export declare class TokenApiClient extends BaseApiClient {
|
|
|
221
223
|
* @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.
|
|
222
224
|
* @param queryOptions.minMarketCap - Minimum market cap filter.
|
|
223
225
|
* @param queryOptions.maxMarketCap - Maximum market cap filter.
|
|
226
|
+
* @param queryOptions.includeTokenSecurityData - Whether to include token security data.
|
|
224
227
|
* @param options - Fetch options including cache settings.
|
|
225
228
|
* @returns Array of trending tokens.
|
|
226
229
|
*/
|
|
@@ -231,6 +234,7 @@ export declare class TokenApiClient extends BaseApiClient {
|
|
|
231
234
|
maxVolume24hUsd?: number;
|
|
232
235
|
minMarketCap?: number;
|
|
233
236
|
maxMarketCap?: number;
|
|
237
|
+
includeTokenSecurityData?: boolean;
|
|
234
238
|
}, options?: FetchOptions): Promise<TrendingToken[]>;
|
|
235
239
|
/**
|
|
236
240
|
* Returns the TanStack Query options object for v3 top gainers.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.mts","sourceRoot":"","sources":["../../../src/api/token/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.d.mts","sourceRoot":"","sources":["../../../src/api/token/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -274,6 +274,7 @@ export class TokenApiClient extends BaseApiClient {
|
|
|
274
274
|
* @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.
|
|
275
275
|
* @param queryOptions.minMarketCap - Minimum market cap filter.
|
|
276
276
|
* @param queryOptions.maxMarketCap - Maximum market cap filter.
|
|
277
|
+
* @param queryOptions.includeTokenSecurityData - Whether to include token security data.
|
|
277
278
|
* @param options - Fetch options including cache settings.
|
|
278
279
|
* @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.
|
|
279
280
|
*/
|
|
@@ -294,6 +295,7 @@ export class TokenApiClient extends BaseApiClient {
|
|
|
294
295
|
maxVolume24hUsd: queryOptions?.maxVolume24hUsd,
|
|
295
296
|
minMarketCap: queryOptions?.minMarketCap,
|
|
296
297
|
maxMarketCap: queryOptions?.maxMarketCap,
|
|
298
|
+
includeTokenSecurityData: queryOptions?.includeTokenSecurityData,
|
|
297
299
|
},
|
|
298
300
|
}),
|
|
299
301
|
...getQueryOptionsOverrides(options),
|
|
@@ -312,6 +314,7 @@ export class TokenApiClient extends BaseApiClient {
|
|
|
312
314
|
* @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.
|
|
313
315
|
* @param queryOptions.minMarketCap - Minimum market cap filter.
|
|
314
316
|
* @param queryOptions.maxMarketCap - Maximum market cap filter.
|
|
317
|
+
* @param queryOptions.includeTokenSecurityData - Whether to include token security data.
|
|
315
318
|
* @param options - Fetch options including cache settings.
|
|
316
319
|
* @returns Array of trending tokens.
|
|
317
320
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.mjs","sourceRoot":"","sources":["../../../src/api/token/client.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Token API Client - token.api.cx.metamask.io\n *\n * Handles all token-related API calls including:\n * - Networks\n * - Token lists\n * - Token metadata\n * - Token descriptions\n * - Trending tokens\n * - Top gainers/popular tokens\n * - Top assets\n * - Occurrence floors\n */\n\nimport type {\n FetchQueryOptions,\n QueryFunctionContext,\n} from '@tanstack/query-core';\n\nimport type {\n TokenMetadata,\n V1TokenDescriptionResponse,\n NetworkInfo,\n TopAsset,\n TrendingToken,\n TrendingSortOption,\n TopGainersSortOption,\n V1SuggestedOccurrenceFloorsResponse,\n} from './types';\nimport { BaseApiClient, API_URLS, STALE_TIMES, GC_TIMES } from '../base-client';\nimport { getQueryOptionsOverrides } from '../shared-types';\nimport type { FetchOptions } from '../shared-types';\n\n/**\n * Token API Client.\n * Provides methods for interacting with the Token API.\n */\nexport class TokenApiClient extends BaseApiClient {\n // ==========================================================================\n // CACHE MANAGEMENT\n // ==========================================================================\n\n /**\n * Invalidate all token API queries.\n * Note: This only invalidates queries from token.api.cx.metamask.io,\n * not from tokens.api.cx.metamask.io (use TokensApiClient.invalidateTokens() for that).\n */\n async invalidateToken(): Promise<void> {\n await this.queryClient.invalidateQueries({\n queryKey: ['token'],\n });\n }\n\n // ==========================================================================\n // NETWORKS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for networks.\n *\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getNetworksQueryOptions(\n options?: FetchOptions,\n ): FetchQueryOptions<NetworkInfo[]> {\n return {\n queryKey: ['token', 'networks'],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<NetworkInfo[]>(API_URLS.TOKEN, '/networks', { signal }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.SUPPORTED_NETWORKS,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get all networks.\n *\n * @param options - Fetch options including cache settings.\n * @returns Array of network info.\n */\n async fetchNetworks(options?: FetchOptions): Promise<NetworkInfo[]> {\n return this.queryClient.fetchQuery(this.getNetworksQueryOptions(options));\n }\n\n /**\n * Returns the TanStack Query options object for network by chain ID.\n *\n * @param chainId - The chain ID.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getNetworkByChainIdQueryOptions(\n chainId: number,\n options?: FetchOptions,\n ): FetchQueryOptions<NetworkInfo> {\n return {\n queryKey: ['token', 'networkByChainId', chainId],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<NetworkInfo>(API_URLS.TOKEN, `/networks/${chainId}`, {\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 network by chain ID.\n *\n * @param chainId - The chain ID.\n * @param options - Fetch options including cache settings.\n * @returns The network info.\n */\n async fetchNetworkByChainId(\n chainId: number,\n options?: FetchOptions,\n ): Promise<NetworkInfo> {\n return this.queryClient.fetchQuery(\n this.getNetworkByChainIdQueryOptions(chainId, options),\n );\n }\n\n // ==========================================================================\n // TOKEN LIST\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for token list.\n *\n * @param chainId - The chain ID.\n * @param queryOptions - Query options.\n * @param queryOptions.includeTokenFees - Whether to include token fees.\n * @param queryOptions.includeAssetType - Whether to include asset type.\n * @param queryOptions.includeAggregators - Whether to include aggregators.\n * @param queryOptions.includeERC20Permit - Whether to include ERC20 permit.\n * @param queryOptions.includeOccurrences - Whether to include occurrences.\n * @param queryOptions.includeStorage - Whether to include storage.\n * @param queryOptions.includeIconUrl - Whether to include icon URL.\n * @param queryOptions.includeAddress - Whether to include address.\n * @param queryOptions.includeName - Whether to include name.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getTokenListQueryOptions(\n chainId: number,\n queryOptions?: {\n includeTokenFees?: boolean;\n includeAssetType?: boolean;\n includeAggregators?: boolean;\n includeERC20Permit?: boolean;\n includeOccurrences?: boolean;\n includeStorage?: boolean;\n includeIconUrl?: boolean;\n includeAddress?: boolean;\n includeName?: boolean;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<TokenMetadata[]> {\n return {\n queryKey: ['token', 'tokenList', { chainId, options: queryOptions }],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<TokenMetadata[]>(API_URLS.TOKEN, `/tokens/${chainId}`, {\n signal,\n params: {\n includeTokenFees: queryOptions?.includeTokenFees,\n includeAssetType: queryOptions?.includeAssetType,\n includeAggregators: queryOptions?.includeAggregators,\n includeERC20Permit: queryOptions?.includeERC20Permit,\n includeOccurrences: queryOptions?.includeOccurrences,\n includeStorage: queryOptions?.includeStorage,\n includeIconUrl: queryOptions?.includeIconUrl,\n includeAddress: queryOptions?.includeAddress,\n includeName: queryOptions?.includeName,\n },\n }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TOKEN_LIST,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get token list for a chain.\n *\n * @param chainId - The chain ID.\n * @param queryOptions - Query options.\n * @param queryOptions.includeTokenFees - Include token fees data.\n * @param queryOptions.includeAssetType - Include asset type data.\n * @param queryOptions.includeAggregators - Include aggregators data.\n * @param queryOptions.includeERC20Permit - Include ERC20 permit data.\n * @param queryOptions.includeOccurrences - Include occurrences data.\n * @param queryOptions.includeStorage - Include storage data.\n * @param queryOptions.includeIconUrl - Include icon URL.\n * @param queryOptions.includeAddress - Include address.\n * @param queryOptions.includeName - Include name.\n * @param options - Fetch options including cache settings.\n * @returns Array of token metadata.\n */\n async fetchTokenList(\n chainId: number,\n queryOptions?: {\n includeTokenFees?: boolean;\n includeAssetType?: boolean;\n includeAggregators?: boolean;\n includeERC20Permit?: boolean;\n includeOccurrences?: boolean;\n includeStorage?: boolean;\n includeIconUrl?: boolean;\n includeAddress?: boolean;\n includeName?: boolean;\n },\n options?: FetchOptions,\n ): Promise<TokenMetadata[]> {\n return this.queryClient.fetchQuery(\n this.getTokenListQueryOptions(chainId, queryOptions, options),\n );\n }\n\n // ==========================================================================\n // TOKEN METADATA\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 token metadata.\n *\n * @param chainId - The chain ID.\n * @param tokenAddress - The token address.\n * @param queryOptions - Query options.\n * @param queryOptions.includeTokenFees - Whether to include token fees.\n * @param queryOptions.includeAssetType - Whether to include asset type.\n * @param queryOptions.includeAggregators - Whether to include aggregators.\n * @param queryOptions.includeERC20Permit - Whether to include ERC20 permit.\n * @param queryOptions.includeOccurrences - Whether to include occurrences.\n * @param queryOptions.includeStorage - Whether to include storage.\n * @param queryOptions.includeIconUrl - Whether to include icon URL.\n * @param queryOptions.includeAddress - Whether to include address.\n * @param queryOptions.includeName - Whether to include name.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1TokenMetadataQueryOptions(\n chainId: number,\n tokenAddress: string,\n queryOptions?: {\n includeTokenFees?: boolean;\n includeAssetType?: boolean;\n includeAggregators?: boolean;\n includeERC20Permit?: boolean;\n includeOccurrences?: boolean;\n includeStorage?: boolean;\n includeIconUrl?: boolean;\n includeAddress?: boolean;\n includeName?: boolean;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<TokenMetadata> {\n return {\n queryKey: [\n 'token',\n 'v1Metadata',\n { chainId, tokenAddress, options: queryOptions },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<TokenMetadata> => {\n return this.fetch<TokenMetadata>(API_URLS.TOKEN, `/token/${chainId}`, {\n signal,\n params: {\n address: tokenAddress,\n includeTokenFees: queryOptions?.includeTokenFees,\n includeAssetType: queryOptions?.includeAssetType,\n includeAggregators: queryOptions?.includeAggregators,\n includeERC20Permit: queryOptions?.includeERC20Permit,\n includeOccurrences: queryOptions?.includeOccurrences,\n includeStorage: queryOptions?.includeStorage,\n includeIconUrl: queryOptions?.includeIconUrl,\n includeAddress: queryOptions?.includeAddress,\n includeName: queryOptions?.includeName,\n },\n });\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TOKEN_METADATA,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get token metadata by address.\n *\n * @param chainId - The chain ID.\n * @param tokenAddress - The token address.\n * @param queryOptions - Query options.\n * @param queryOptions.includeTokenFees - Include token fees data.\n * @param queryOptions.includeAssetType - Include asset type data.\n * @param queryOptions.includeAggregators - Include aggregators data.\n * @param queryOptions.includeERC20Permit - Include ERC20 permit data.\n * @param queryOptions.includeOccurrences - Include occurrences data.\n * @param queryOptions.includeStorage - Include storage data.\n * @param queryOptions.includeIconUrl - Include icon URL.\n * @param queryOptions.includeAddress - Include address.\n * @param queryOptions.includeName - Include name.\n * @param options - Fetch options including cache settings.\n * @returns The token metadata or undefined.\n */\n async fetchV1TokenMetadata(\n chainId: number,\n tokenAddress: string,\n queryOptions?: {\n includeTokenFees?: boolean;\n includeAssetType?: boolean;\n includeAggregators?: boolean;\n includeERC20Permit?: boolean;\n includeOccurrences?: boolean;\n includeStorage?: boolean;\n includeIconUrl?: boolean;\n includeAddress?: boolean;\n includeName?: boolean;\n },\n options?: FetchOptions,\n ): Promise<TokenMetadata | undefined> {\n try {\n return await this.queryClient.fetchQuery(\n this.getV1TokenMetadataQueryOptions(\n chainId,\n tokenAddress,\n queryOptions,\n options,\n ),\n );\n } catch {\n return undefined;\n }\n }\n\n /**\n * Returns the TanStack Query options object for token description.\n *\n * @param chainId - The chain ID.\n * @param tokenAddress - The token address.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getTokenDescriptionQueryOptions(\n chainId: number,\n tokenAddress: string,\n options?: FetchOptions,\n ): FetchQueryOptions<V1TokenDescriptionResponse> {\n return {\n queryKey: ['token', 'tokenDescription', chainId, tokenAddress],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V1TokenDescriptionResponse> =>\n this.fetch<V1TokenDescriptionResponse>(\n API_URLS.TOKEN,\n `/token/${chainId}/description`,\n {\n signal,\n params: { address: tokenAddress },\n },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TOKEN_METADATA,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get token description.\n *\n * @param chainId - The chain ID.\n * @param tokenAddress - The token address.\n * @param options - Fetch options including cache settings.\n * @returns The token description or undefined.\n */\n async fetchTokenDescription(\n chainId: number,\n tokenAddress: string,\n options?: FetchOptions,\n ): Promise<V1TokenDescriptionResponse | undefined> {\n try {\n return await this.queryClient.fetchQuery(\n this.getTokenDescriptionQueryOptions(chainId, tokenAddress, options),\n );\n } catch {\n return undefined;\n }\n }\n\n // ==========================================================================\n // TRENDING & TOP TOKENS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v3 trending tokens.\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.sortBy - Sort option.\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV3TrendingTokensQueryOptions(\n chainIds: string[],\n queryOptions?: {\n sortBy?: TrendingSortOption;\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<TrendingToken[]> {\n return {\n queryKey: [\n 'token',\n 'v3Trending',\n { chainIds: [...chainIds].sort(), options: queryOptions },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<TrendingToken[]>(API_URLS.TOKEN, '/v3/tokens/trending', {\n signal,\n params: {\n chainIds,\n sort: queryOptions?.sortBy,\n minLiquidity: queryOptions?.minLiquidity,\n minVolume24hUsd: queryOptions?.minVolume24hUsd,\n maxVolume24hUsd: queryOptions?.maxVolume24hUsd,\n minMarketCap: queryOptions?.minMarketCap,\n maxMarketCap: queryOptions?.maxMarketCap,\n },\n }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRENDING,\n gcTime: options?.gcTime ?? GC_TIMES.SHORT,\n };\n }\n\n /**\n * Get trending tokens (v3 endpoint).\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.sortBy - Sort option.\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param options - Fetch options including cache settings.\n * @returns Array of trending tokens.\n */\n async fetchV3TrendingTokens(\n chainIds: string[],\n queryOptions?: {\n sortBy?: TrendingSortOption;\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n },\n options?: FetchOptions,\n ): Promise<TrendingToken[]> {\n return this.queryClient.fetchQuery(\n this.getV3TrendingTokensQueryOptions(chainIds, queryOptions, options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v3 top gainers.\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.sort - Sort option.\n * @param queryOptions.blockRegion - Region filter (global/us).\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV3TopGainersQueryOptions(\n chainIds: string[],\n queryOptions?: {\n sort?: TopGainersSortOption;\n blockRegion?: 'global' | 'us';\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<TrendingToken[]> {\n return {\n queryKey: [\n 'token',\n 'v3TopGainers',\n { chainIds: [...chainIds].sort(), options: queryOptions },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<TrendingToken[]>(API_URLS.TOKEN, '/v3/tokens/top-gainers', {\n signal,\n params: {\n chainIds,\n sort: queryOptions?.sort,\n blockRegion: queryOptions?.blockRegion,\n minLiquidity: queryOptions?.minLiquidity,\n minVolume24hUsd: queryOptions?.minVolume24hUsd,\n maxVolume24hUsd: queryOptions?.maxVolume24hUsd,\n minMarketCap: queryOptions?.minMarketCap,\n maxMarketCap: queryOptions?.maxMarketCap,\n },\n }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRENDING,\n gcTime: options?.gcTime ?? GC_TIMES.SHORT,\n };\n }\n\n /**\n * Get top gainers/losers (v3 endpoint).\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.sort - Sort option.\n * @param queryOptions.blockRegion - Region filter (global/us).\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param options - Fetch options including cache settings.\n * @returns Array of top gainer tokens.\n */\n async fetchV3TopGainers(\n chainIds: string[],\n queryOptions?: {\n sort?: TopGainersSortOption;\n blockRegion?: 'global' | 'us';\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n },\n options?: FetchOptions,\n ): Promise<TrendingToken[]> {\n return this.queryClient.fetchQuery(\n this.getV3TopGainersQueryOptions(chainIds, queryOptions, options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v3 popular tokens.\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.blockRegion - Region filter (global/us).\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV3PopularTokensQueryOptions(\n chainIds: string[],\n queryOptions?: {\n blockRegion?: 'global' | 'us';\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<TrendingToken[]> {\n return {\n queryKey: [\n 'token',\n 'v3Popular',\n { chainIds: [...chainIds].sort(), options: queryOptions },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<TrendingToken[]>(API_URLS.TOKEN, '/v3/tokens/popular', {\n signal,\n params: {\n chainIds,\n blockRegion: queryOptions?.blockRegion,\n minLiquidity: queryOptions?.minLiquidity,\n minVolume24hUsd: queryOptions?.minVolume24hUsd,\n maxVolume24hUsd: queryOptions?.maxVolume24hUsd,\n minMarketCap: queryOptions?.minMarketCap,\n maxMarketCap: queryOptions?.maxMarketCap,\n },\n }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRENDING,\n gcTime: options?.gcTime ?? GC_TIMES.SHORT,\n };\n }\n\n /**\n * Get popular tokens (v3 endpoint).\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.blockRegion - Region filter (global/us).\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param options - Fetch options including cache settings.\n * @returns Array of popular tokens.\n */\n async fetchV3PopularTokens(\n chainIds: string[],\n queryOptions?: {\n blockRegion?: 'global' | 'us';\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n },\n options?: FetchOptions,\n ): Promise<TrendingToken[]> {\n return this.queryClient.fetchQuery(\n this.getV3PopularTokensQueryOptions(chainIds, queryOptions, options),\n );\n }\n\n // ==========================================================================\n // TOP ASSETS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for top assets.\n *\n * @param chainId - The chain ID.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getTopAssetsQueryOptions(\n chainId: number,\n options?: FetchOptions,\n ): FetchQueryOptions<TopAsset[]> {\n return {\n queryKey: ['token', 'topAssets', chainId],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<TopAsset[]>(API_URLS.TOKEN, `/topAssets/${chainId}`, {\n signal,\n }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRENDING,\n gcTime: options?.gcTime ?? GC_TIMES.SHORT,\n };\n }\n\n /**\n * Get top assets for a chain.\n *\n * @param chainId - The chain ID.\n * @param options - Fetch options including cache settings.\n * @returns Array of top assets.\n */\n async fetchTopAssets(\n chainId: number,\n options?: FetchOptions,\n ): Promise<TopAsset[]> {\n return this.queryClient.fetchQuery(\n this.getTopAssetsQueryOptions(chainId, options),\n );\n }\n\n // ==========================================================================\n // UTILITY\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 suggested occurrence floors.\n *\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1SuggestedOccurrenceFloorsQueryOptions(\n options?: FetchOptions,\n ): FetchQueryOptions<V1SuggestedOccurrenceFloorsResponse> {\n return {\n queryKey: ['token', 'v1SuggestedOccurrenceFloors'],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V1SuggestedOccurrenceFloorsResponse>(\n API_URLS.TOKEN,\n '/v1/suggestedOccurrenceFloors',\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 suggested occurrence floors for all chains.\n *\n * @param options - Fetch options including cache settings.\n * @returns The suggested occurrence floors response.\n */\n async fetchV1SuggestedOccurrenceFloors(\n options?: FetchOptions,\n ): Promise<V1SuggestedOccurrenceFloorsResponse> {\n return this.queryClient.fetchQuery(\n this.getV1SuggestedOccurrenceFloorsQueryOptions(options),\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"client.mjs","sourceRoot":"","sources":["../../../src/api/token/client.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Token API Client - token.api.cx.metamask.io\n *\n * Handles all token-related API calls including:\n * - Networks\n * - Token lists\n * - Token metadata\n * - Token descriptions\n * - Trending tokens\n * - Top gainers/popular tokens\n * - Top assets\n * - Occurrence floors\n */\n\nimport type {\n FetchQueryOptions,\n QueryFunctionContext,\n} from '@tanstack/query-core';\n\nimport type {\n TokenMetadata,\n V1TokenDescriptionResponse,\n NetworkInfo,\n TopAsset,\n TrendingToken,\n TrendingSortOption,\n TopGainersSortOption,\n V1SuggestedOccurrenceFloorsResponse,\n} from './types';\nimport { BaseApiClient, API_URLS, STALE_TIMES, GC_TIMES } from '../base-client';\nimport { getQueryOptionsOverrides } from '../shared-types';\nimport type { FetchOptions } from '../shared-types';\n\n/**\n * Token API Client.\n * Provides methods for interacting with the Token API.\n */\nexport class TokenApiClient extends BaseApiClient {\n // ==========================================================================\n // CACHE MANAGEMENT\n // ==========================================================================\n\n /**\n * Invalidate all token API queries.\n * Note: This only invalidates queries from token.api.cx.metamask.io,\n * not from tokens.api.cx.metamask.io (use TokensApiClient.invalidateTokens() for that).\n */\n async invalidateToken(): Promise<void> {\n await this.queryClient.invalidateQueries({\n queryKey: ['token'],\n });\n }\n\n // ==========================================================================\n // NETWORKS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for networks.\n *\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getNetworksQueryOptions(\n options?: FetchOptions,\n ): FetchQueryOptions<NetworkInfo[]> {\n return {\n queryKey: ['token', 'networks'],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<NetworkInfo[]>(API_URLS.TOKEN, '/networks', { signal }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.SUPPORTED_NETWORKS,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get all networks.\n *\n * @param options - Fetch options including cache settings.\n * @returns Array of network info.\n */\n async fetchNetworks(options?: FetchOptions): Promise<NetworkInfo[]> {\n return this.queryClient.fetchQuery(this.getNetworksQueryOptions(options));\n }\n\n /**\n * Returns the TanStack Query options object for network by chain ID.\n *\n * @param chainId - The chain ID.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getNetworkByChainIdQueryOptions(\n chainId: number,\n options?: FetchOptions,\n ): FetchQueryOptions<NetworkInfo> {\n return {\n queryKey: ['token', 'networkByChainId', chainId],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<NetworkInfo>(API_URLS.TOKEN, `/networks/${chainId}`, {\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 network by chain ID.\n *\n * @param chainId - The chain ID.\n * @param options - Fetch options including cache settings.\n * @returns The network info.\n */\n async fetchNetworkByChainId(\n chainId: number,\n options?: FetchOptions,\n ): Promise<NetworkInfo> {\n return this.queryClient.fetchQuery(\n this.getNetworkByChainIdQueryOptions(chainId, options),\n );\n }\n\n // ==========================================================================\n // TOKEN LIST\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for token list.\n *\n * @param chainId - The chain ID.\n * @param queryOptions - Query options.\n * @param queryOptions.includeTokenFees - Whether to include token fees.\n * @param queryOptions.includeAssetType - Whether to include asset type.\n * @param queryOptions.includeAggregators - Whether to include aggregators.\n * @param queryOptions.includeERC20Permit - Whether to include ERC20 permit.\n * @param queryOptions.includeOccurrences - Whether to include occurrences.\n * @param queryOptions.includeStorage - Whether to include storage.\n * @param queryOptions.includeIconUrl - Whether to include icon URL.\n * @param queryOptions.includeAddress - Whether to include address.\n * @param queryOptions.includeName - Whether to include name.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getTokenListQueryOptions(\n chainId: number,\n queryOptions?: {\n includeTokenFees?: boolean;\n includeAssetType?: boolean;\n includeAggregators?: boolean;\n includeERC20Permit?: boolean;\n includeOccurrences?: boolean;\n includeStorage?: boolean;\n includeIconUrl?: boolean;\n includeAddress?: boolean;\n includeName?: boolean;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<TokenMetadata[]> {\n return {\n queryKey: ['token', 'tokenList', { chainId, options: queryOptions }],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<TokenMetadata[]>(API_URLS.TOKEN, `/tokens/${chainId}`, {\n signal,\n params: {\n includeTokenFees: queryOptions?.includeTokenFees,\n includeAssetType: queryOptions?.includeAssetType,\n includeAggregators: queryOptions?.includeAggregators,\n includeERC20Permit: queryOptions?.includeERC20Permit,\n includeOccurrences: queryOptions?.includeOccurrences,\n includeStorage: queryOptions?.includeStorage,\n includeIconUrl: queryOptions?.includeIconUrl,\n includeAddress: queryOptions?.includeAddress,\n includeName: queryOptions?.includeName,\n },\n }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TOKEN_LIST,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get token list for a chain.\n *\n * @param chainId - The chain ID.\n * @param queryOptions - Query options.\n * @param queryOptions.includeTokenFees - Include token fees data.\n * @param queryOptions.includeAssetType - Include asset type data.\n * @param queryOptions.includeAggregators - Include aggregators data.\n * @param queryOptions.includeERC20Permit - Include ERC20 permit data.\n * @param queryOptions.includeOccurrences - Include occurrences data.\n * @param queryOptions.includeStorage - Include storage data.\n * @param queryOptions.includeIconUrl - Include icon URL.\n * @param queryOptions.includeAddress - Include address.\n * @param queryOptions.includeName - Include name.\n * @param options - Fetch options including cache settings.\n * @returns Array of token metadata.\n */\n async fetchTokenList(\n chainId: number,\n queryOptions?: {\n includeTokenFees?: boolean;\n includeAssetType?: boolean;\n includeAggregators?: boolean;\n includeERC20Permit?: boolean;\n includeOccurrences?: boolean;\n includeStorage?: boolean;\n includeIconUrl?: boolean;\n includeAddress?: boolean;\n includeName?: boolean;\n },\n options?: FetchOptions,\n ): Promise<TokenMetadata[]> {\n return this.queryClient.fetchQuery(\n this.getTokenListQueryOptions(chainId, queryOptions, options),\n );\n }\n\n // ==========================================================================\n // TOKEN METADATA\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 token metadata.\n *\n * @param chainId - The chain ID.\n * @param tokenAddress - The token address.\n * @param queryOptions - Query options.\n * @param queryOptions.includeTokenFees - Whether to include token fees.\n * @param queryOptions.includeAssetType - Whether to include asset type.\n * @param queryOptions.includeAggregators - Whether to include aggregators.\n * @param queryOptions.includeERC20Permit - Whether to include ERC20 permit.\n * @param queryOptions.includeOccurrences - Whether to include occurrences.\n * @param queryOptions.includeStorage - Whether to include storage.\n * @param queryOptions.includeIconUrl - Whether to include icon URL.\n * @param queryOptions.includeAddress - Whether to include address.\n * @param queryOptions.includeName - Whether to include name.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1TokenMetadataQueryOptions(\n chainId: number,\n tokenAddress: string,\n queryOptions?: {\n includeTokenFees?: boolean;\n includeAssetType?: boolean;\n includeAggregators?: boolean;\n includeERC20Permit?: boolean;\n includeOccurrences?: boolean;\n includeStorage?: boolean;\n includeIconUrl?: boolean;\n includeAddress?: boolean;\n includeName?: boolean;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<TokenMetadata> {\n return {\n queryKey: [\n 'token',\n 'v1Metadata',\n { chainId, tokenAddress, options: queryOptions },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<TokenMetadata> => {\n return this.fetch<TokenMetadata>(API_URLS.TOKEN, `/token/${chainId}`, {\n signal,\n params: {\n address: tokenAddress,\n includeTokenFees: queryOptions?.includeTokenFees,\n includeAssetType: queryOptions?.includeAssetType,\n includeAggregators: queryOptions?.includeAggregators,\n includeERC20Permit: queryOptions?.includeERC20Permit,\n includeOccurrences: queryOptions?.includeOccurrences,\n includeStorage: queryOptions?.includeStorage,\n includeIconUrl: queryOptions?.includeIconUrl,\n includeAddress: queryOptions?.includeAddress,\n includeName: queryOptions?.includeName,\n },\n });\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TOKEN_METADATA,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get token metadata by address.\n *\n * @param chainId - The chain ID.\n * @param tokenAddress - The token address.\n * @param queryOptions - Query options.\n * @param queryOptions.includeTokenFees - Include token fees data.\n * @param queryOptions.includeAssetType - Include asset type data.\n * @param queryOptions.includeAggregators - Include aggregators data.\n * @param queryOptions.includeERC20Permit - Include ERC20 permit data.\n * @param queryOptions.includeOccurrences - Include occurrences data.\n * @param queryOptions.includeStorage - Include storage data.\n * @param queryOptions.includeIconUrl - Include icon URL.\n * @param queryOptions.includeAddress - Include address.\n * @param queryOptions.includeName - Include name.\n * @param options - Fetch options including cache settings.\n * @returns The token metadata or undefined.\n */\n async fetchV1TokenMetadata(\n chainId: number,\n tokenAddress: string,\n queryOptions?: {\n includeTokenFees?: boolean;\n includeAssetType?: boolean;\n includeAggregators?: boolean;\n includeERC20Permit?: boolean;\n includeOccurrences?: boolean;\n includeStorage?: boolean;\n includeIconUrl?: boolean;\n includeAddress?: boolean;\n includeName?: boolean;\n },\n options?: FetchOptions,\n ): Promise<TokenMetadata | undefined> {\n try {\n return await this.queryClient.fetchQuery(\n this.getV1TokenMetadataQueryOptions(\n chainId,\n tokenAddress,\n queryOptions,\n options,\n ),\n );\n } catch {\n return undefined;\n }\n }\n\n /**\n * Returns the TanStack Query options object for token description.\n *\n * @param chainId - The chain ID.\n * @param tokenAddress - The token address.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getTokenDescriptionQueryOptions(\n chainId: number,\n tokenAddress: string,\n options?: FetchOptions,\n ): FetchQueryOptions<V1TokenDescriptionResponse> {\n return {\n queryKey: ['token', 'tokenDescription', chainId, tokenAddress],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V1TokenDescriptionResponse> =>\n this.fetch<V1TokenDescriptionResponse>(\n API_URLS.TOKEN,\n `/token/${chainId}/description`,\n {\n signal,\n params: { address: tokenAddress },\n },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TOKEN_METADATA,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get token description.\n *\n * @param chainId - The chain ID.\n * @param tokenAddress - The token address.\n * @param options - Fetch options including cache settings.\n * @returns The token description or undefined.\n */\n async fetchTokenDescription(\n chainId: number,\n tokenAddress: string,\n options?: FetchOptions,\n ): Promise<V1TokenDescriptionResponse | undefined> {\n try {\n return await this.queryClient.fetchQuery(\n this.getTokenDescriptionQueryOptions(chainId, tokenAddress, options),\n );\n } catch {\n return undefined;\n }\n }\n\n // ==========================================================================\n // TRENDING & TOP TOKENS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v3 trending tokens.\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.sortBy - Sort option.\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param queryOptions.includeTokenSecurityData - Whether to include token security data.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV3TrendingTokensQueryOptions(\n chainIds: string[],\n queryOptions?: {\n sortBy?: TrendingSortOption;\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n includeTokenSecurityData?: boolean;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<TrendingToken[]> {\n return {\n queryKey: [\n 'token',\n 'v3Trending',\n { chainIds: [...chainIds].sort(), options: queryOptions },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<TrendingToken[]>(API_URLS.TOKEN, '/v3/tokens/trending', {\n signal,\n params: {\n chainIds,\n sort: queryOptions?.sortBy,\n minLiquidity: queryOptions?.minLiquidity,\n minVolume24hUsd: queryOptions?.minVolume24hUsd,\n maxVolume24hUsd: queryOptions?.maxVolume24hUsd,\n minMarketCap: queryOptions?.minMarketCap,\n maxMarketCap: queryOptions?.maxMarketCap,\n includeTokenSecurityData: queryOptions?.includeTokenSecurityData,\n },\n }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRENDING,\n gcTime: options?.gcTime ?? GC_TIMES.SHORT,\n };\n }\n\n /**\n * Get trending tokens (v3 endpoint).\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.sortBy - Sort option.\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param queryOptions.includeTokenSecurityData - Whether to include token security data.\n * @param options - Fetch options including cache settings.\n * @returns Array of trending tokens.\n */\n async fetchV3TrendingTokens(\n chainIds: string[],\n queryOptions?: {\n sortBy?: TrendingSortOption;\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n includeTokenSecurityData?: boolean;\n },\n options?: FetchOptions,\n ): Promise<TrendingToken[]> {\n return this.queryClient.fetchQuery(\n this.getV3TrendingTokensQueryOptions(chainIds, queryOptions, options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v3 top gainers.\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.sort - Sort option.\n * @param queryOptions.blockRegion - Region filter (global/us).\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV3TopGainersQueryOptions(\n chainIds: string[],\n queryOptions?: {\n sort?: TopGainersSortOption;\n blockRegion?: 'global' | 'us';\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<TrendingToken[]> {\n return {\n queryKey: [\n 'token',\n 'v3TopGainers',\n { chainIds: [...chainIds].sort(), options: queryOptions },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<TrendingToken[]>(API_URLS.TOKEN, '/v3/tokens/top-gainers', {\n signal,\n params: {\n chainIds,\n sort: queryOptions?.sort,\n blockRegion: queryOptions?.blockRegion,\n minLiquidity: queryOptions?.minLiquidity,\n minVolume24hUsd: queryOptions?.minVolume24hUsd,\n maxVolume24hUsd: queryOptions?.maxVolume24hUsd,\n minMarketCap: queryOptions?.minMarketCap,\n maxMarketCap: queryOptions?.maxMarketCap,\n },\n }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRENDING,\n gcTime: options?.gcTime ?? GC_TIMES.SHORT,\n };\n }\n\n /**\n * Get top gainers/losers (v3 endpoint).\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.sort - Sort option.\n * @param queryOptions.blockRegion - Region filter (global/us).\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param options - Fetch options including cache settings.\n * @returns Array of top gainer tokens.\n */\n async fetchV3TopGainers(\n chainIds: string[],\n queryOptions?: {\n sort?: TopGainersSortOption;\n blockRegion?: 'global' | 'us';\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n },\n options?: FetchOptions,\n ): Promise<TrendingToken[]> {\n return this.queryClient.fetchQuery(\n this.getV3TopGainersQueryOptions(chainIds, queryOptions, options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v3 popular tokens.\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.blockRegion - Region filter (global/us).\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV3PopularTokensQueryOptions(\n chainIds: string[],\n queryOptions?: {\n blockRegion?: 'global' | 'us';\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<TrendingToken[]> {\n return {\n queryKey: [\n 'token',\n 'v3Popular',\n { chainIds: [...chainIds].sort(), options: queryOptions },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<TrendingToken[]>(API_URLS.TOKEN, '/v3/tokens/popular', {\n signal,\n params: {\n chainIds,\n blockRegion: queryOptions?.blockRegion,\n minLiquidity: queryOptions?.minLiquidity,\n minVolume24hUsd: queryOptions?.minVolume24hUsd,\n maxVolume24hUsd: queryOptions?.maxVolume24hUsd,\n minMarketCap: queryOptions?.minMarketCap,\n maxMarketCap: queryOptions?.maxMarketCap,\n },\n }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRENDING,\n gcTime: options?.gcTime ?? GC_TIMES.SHORT,\n };\n }\n\n /**\n * Get popular tokens (v3 endpoint).\n *\n * @param chainIds - Array of chain IDs.\n * @param queryOptions - Query options.\n * @param queryOptions.blockRegion - Region filter (global/us).\n * @param queryOptions.minLiquidity - Minimum liquidity filter.\n * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.\n * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.\n * @param queryOptions.minMarketCap - Minimum market cap filter.\n * @param queryOptions.maxMarketCap - Maximum market cap filter.\n * @param options - Fetch options including cache settings.\n * @returns Array of popular tokens.\n */\n async fetchV3PopularTokens(\n chainIds: string[],\n queryOptions?: {\n blockRegion?: 'global' | 'us';\n minLiquidity?: number;\n minVolume24hUsd?: number;\n maxVolume24hUsd?: number;\n minMarketCap?: number;\n maxMarketCap?: number;\n },\n options?: FetchOptions,\n ): Promise<TrendingToken[]> {\n return this.queryClient.fetchQuery(\n this.getV3PopularTokensQueryOptions(chainIds, queryOptions, options),\n );\n }\n\n // ==========================================================================\n // TOP ASSETS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for top assets.\n *\n * @param chainId - The chain ID.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getTopAssetsQueryOptions(\n chainId: number,\n options?: FetchOptions,\n ): FetchQueryOptions<TopAsset[]> {\n return {\n queryKey: ['token', 'topAssets', chainId],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<TopAsset[]>(API_URLS.TOKEN, `/topAssets/${chainId}`, {\n signal,\n }),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRENDING,\n gcTime: options?.gcTime ?? GC_TIMES.SHORT,\n };\n }\n\n /**\n * Get top assets for a chain.\n *\n * @param chainId - The chain ID.\n * @param options - Fetch options including cache settings.\n * @returns Array of top assets.\n */\n async fetchTopAssets(\n chainId: number,\n options?: FetchOptions,\n ): Promise<TopAsset[]> {\n return this.queryClient.fetchQuery(\n this.getTopAssetsQueryOptions(chainId, options),\n );\n }\n\n // ==========================================================================\n // UTILITY\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 suggested occurrence floors.\n *\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1SuggestedOccurrenceFloorsQueryOptions(\n options?: FetchOptions,\n ): FetchQueryOptions<V1SuggestedOccurrenceFloorsResponse> {\n return {\n queryKey: ['token', 'v1SuggestedOccurrenceFloors'],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V1SuggestedOccurrenceFloorsResponse>(\n API_URLS.TOKEN,\n '/v1/suggestedOccurrenceFloors',\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 suggested occurrence floors for all chains.\n *\n * @param options - Fetch options including cache settings.\n * @returns The suggested occurrence floors response.\n */\n async fetchV1SuggestedOccurrenceFloors(\n options?: FetchOptions,\n ): Promise<V1SuggestedOccurrenceFloorsResponse> {\n return this.queryClient.fetchQuery(\n this.getV1SuggestedOccurrenceFloorsQueryOptions(options),\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../src/api/token/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,uCAA0C;AAAjC,wGAAA,cAAc,OAAA","sourcesContent":["/**\n * Token API barrel export.\n */\n\nexport { TokenApiClient } from './client';\nexport type {\n TokenMetadata,\n V1TokenDescriptionResponse,\n NetworkInfo,\n TopAsset,\n TrendingSortBy,\n TrendingToken,\n TopGainersSortOption,\n TrendingSortOption,\n V1SuggestedOccurrenceFloorsResponse,\n} from './types';\n"]}
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../src/api/token/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,uCAA0C;AAAjC,wGAAA,cAAc,OAAA","sourcesContent":["/**\n * Token API barrel export.\n */\n\nexport { TokenApiClient } from './client';\nexport type {\n TokenMetadata,\n V1TokenDescriptionResponse,\n NetworkInfo,\n TopAsset,\n TrendingSortBy,\n TrendingToken,\n TopGainersSortOption,\n TrendingSortOption,\n V1SuggestedOccurrenceFloorsResponse,\n TokenSecurityData,\n TokenSecurityFeature,\n TokenSecurityHolder,\n TokenSecurityMarket,\n TokenSecurityFees,\n TokenSecurityFinancialStats,\n TokenSecurityMetadata,\n} from './types';\n"]}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Token API barrel export.
|
|
3
3
|
*/
|
|
4
4
|
export { TokenApiClient } from "./client.cjs";
|
|
5
|
-
export type { TokenMetadata, V1TokenDescriptionResponse, NetworkInfo, TopAsset, TrendingSortBy, TrendingToken, TopGainersSortOption, TrendingSortOption, V1SuggestedOccurrenceFloorsResponse, } from "./types.cjs";
|
|
5
|
+
export type { TokenMetadata, V1TokenDescriptionResponse, NetworkInfo, TopAsset, TrendingSortBy, TrendingToken, TopGainersSortOption, TrendingSortOption, V1SuggestedOccurrenceFloorsResponse, TokenSecurityData, TokenSecurityFeature, TokenSecurityHolder, TokenSecurityMarket, TokenSecurityFees, TokenSecurityFinancialStats, TokenSecurityMetadata, } from "./types.cjs";
|
|
6
6
|
//# sourceMappingURL=index.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/api/token/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,qBAAiB;AAC1C,YAAY,EACV,aAAa,EACb,0BAA0B,EAC1B,WAAW,EACX,QAAQ,EACR,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,mCAAmC,
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/api/token/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,qBAAiB;AAC1C,YAAY,EACV,aAAa,EACb,0BAA0B,EAC1B,WAAW,EACX,QAAQ,EACR,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,mCAAmC,EACnC,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,GACtB,oBAAgB"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Token API barrel export.
|
|
3
3
|
*/
|
|
4
4
|
export { TokenApiClient } from "./client.mjs";
|
|
5
|
-
export type { TokenMetadata, V1TokenDescriptionResponse, NetworkInfo, TopAsset, TrendingSortBy, TrendingToken, TopGainersSortOption, TrendingSortOption, V1SuggestedOccurrenceFloorsResponse, } from "./types.mjs";
|
|
5
|
+
export type { TokenMetadata, V1TokenDescriptionResponse, NetworkInfo, TopAsset, TrendingSortBy, TrendingToken, TopGainersSortOption, TrendingSortOption, V1SuggestedOccurrenceFloorsResponse, TokenSecurityData, TokenSecurityFeature, TokenSecurityHolder, TokenSecurityMarket, TokenSecurityFees, TokenSecurityFinancialStats, TokenSecurityMetadata, } from "./types.mjs";
|
|
6
6
|
//# sourceMappingURL=index.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/api/token/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,qBAAiB;AAC1C,YAAY,EACV,aAAa,EACb,0BAA0B,EAC1B,WAAW,EACX,QAAQ,EACR,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,mCAAmC,
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/api/token/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,qBAAiB;AAC1C,YAAY,EACV,aAAa,EACb,0BAA0B,EAC1B,WAAW,EACX,QAAQ,EACR,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,mCAAmC,EACnC,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,GACtB,oBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/api/token/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,qBAAiB","sourcesContent":["/**\n * Token API barrel export.\n */\n\nexport { TokenApiClient } from './client';\nexport type {\n TokenMetadata,\n V1TokenDescriptionResponse,\n NetworkInfo,\n TopAsset,\n TrendingSortBy,\n TrendingToken,\n TopGainersSortOption,\n TrendingSortOption,\n V1SuggestedOccurrenceFloorsResponse,\n} from './types';\n"]}
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/api/token/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,qBAAiB","sourcesContent":["/**\n * Token API barrel export.\n */\n\nexport { TokenApiClient } from './client';\nexport type {\n TokenMetadata,\n V1TokenDescriptionResponse,\n NetworkInfo,\n TopAsset,\n TrendingSortBy,\n TrendingToken,\n TopGainersSortOption,\n TrendingSortOption,\n V1SuggestedOccurrenceFloorsResponse,\n TokenSecurityData,\n TokenSecurityFeature,\n TokenSecurityHolder,\n TokenSecurityMarket,\n TokenSecurityFees,\n TokenSecurityFinancialStats,\n TokenSecurityMetadata,\n} from './types';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.cjs","sourceRoot":"","sources":["../../../src/api/token/types.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/**\n * Token API types for the API Platform Client.\n * API: token.api.cx.metamask.io\n */\n\n// ============================================================================\n// TOKEN METADATA TYPES\n// ============================================================================\n\n/**\n * Token metadata from Token API v1 /tokens/{chainId} endpoint\n */\nexport type TokenMetadata = {\n address: string;\n symbol: string;\n decimals: number;\n name: string;\n iconUrl?: string;\n aggregators?: string[];\n occurrences?: number;\n};\n\n/** Token description response */\nexport type V1TokenDescriptionResponse = {\n description: string;\n};\n\n// ============================================================================\n// NETWORK TYPES\n// ============================================================================\n\n/** Network info */\nexport type NetworkInfo = {\n active: boolean;\n chainId: number;\n chainName: string;\n nativeCurrency: {\n name: string;\n symbol: string;\n decimals: number;\n address: string;\n };\n iconUrl?: string;\n blockExplorerUrl?: string;\n networkType?: string;\n tokenSources?: string[];\n};\n\n// ============================================================================\n// TOP ASSETS TYPES\n// ============================================================================\n\n/** Top asset */\nexport type TopAsset = {\n address: string;\n symbol: string;\n};\n\n// ============================================================================\n// TRENDING TOKENS TYPES\n// ============================================================================\n\n/**\n * Sort options for trending tokens (v3)\n */\nexport type TrendingSortBy =\n | 'm5_trending'\n | 'h1_trending'\n | 'h6_trending'\n | 'h24_trending';\n\n/**\n * Trending token data from Token API v3 /tokens/trending endpoint\n */\nexport type TrendingToken = {\n assetId: string;\n name: string;\n symbol: string;\n decimals: number;\n price: string;\n aggregatedUsdVolume: number;\n marketCap: number;\n priceChangePct?: {\n m5?: string;\n m15?: string;\n m30?: string;\n h1?: string;\n h6?: string;\n h24?: string;\n };\n labels?: string[];\n};\n\n/** Top gainers sort options */\nexport type TopGainersSortOption =\n | 'm5_price_change_percentage_desc'\n | 'h1_price_change_percentage_desc'\n | 'h6_price_change_percentage_desc'\n | 'h24_price_change_percentage_desc'\n | 'm5_price_change_percentage_asc'\n | 'h1_price_change_percentage_asc'\n | 'h6_price_change_percentage_asc'\n | 'h24_price_change_percentage_asc';\n\n/** Trending sort options */\nexport type TrendingSortOption =\n | 'm5_trending'\n | 'h1_trending'\n | 'h6_trending'\n | 'h24_trending';\n\n// ============================================================================\n// UTILITY TYPES\n// ============================================================================\n\n/** Suggested occurrence floors response */\nexport type V1SuggestedOccurrenceFloorsResponse = {\n [chainId: string]: number;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"types.cjs","sourceRoot":"","sources":["../../../src/api/token/types.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/**\n * Token API types for the API Platform Client.\n * API: token.api.cx.metamask.io\n */\n\n// ============================================================================\n// TOKEN METADATA TYPES\n// ============================================================================\n\n/**\n * Token metadata from Token API v1 /tokens/{chainId} endpoint\n */\nexport type TokenMetadata = {\n address: string;\n symbol: string;\n decimals: number;\n name: string;\n iconUrl?: string;\n aggregators?: string[];\n occurrences?: number;\n};\n\n/** Token description response */\nexport type V1TokenDescriptionResponse = {\n description: string;\n};\n\n// ============================================================================\n// NETWORK TYPES\n// ============================================================================\n\n/** Network info */\nexport type NetworkInfo = {\n active: boolean;\n chainId: number;\n chainName: string;\n nativeCurrency: {\n name: string;\n symbol: string;\n decimals: number;\n address: string;\n };\n iconUrl?: string;\n blockExplorerUrl?: string;\n networkType?: string;\n tokenSources?: string[];\n};\n\n// ============================================================================\n// TOP ASSETS TYPES\n// ============================================================================\n\n/** Top asset */\nexport type TopAsset = {\n address: string;\n symbol: string;\n};\n\n// ============================================================================\n// TRENDING TOKENS TYPES\n// ============================================================================\n\n/**\n * Sort options for trending tokens (v3)\n */\nexport type TrendingSortBy =\n | 'm5_trending'\n | 'h1_trending'\n | 'h6_trending'\n | 'h24_trending';\n\n// ============================================================================\n// TOKEN SECURITY TYPES\n// ============================================================================\n\nexport type TokenSecurityFeature = {\n featureId: string;\n type: string;\n description: string;\n};\n\nexport type TokenSecurityHolder = {\n label: string;\n name: string | null;\n address: string;\n holdingPercentage: number;\n};\n\nexport type TokenSecurityMarket = {\n marketType: string;\n marketName: string;\n pairName: string;\n reserveUSD: number;\n};\n\nexport type TokenSecurityFees = {\n transfer: number;\n transferFeeMaxAmount: number | null;\n buy: number;\n sell: number | null;\n};\n\nexport type TokenSecurityFinancialStats = {\n supply: number;\n topHolders: TokenSecurityHolder[];\n holdersCount: number;\n tradeVolume24h: number | null;\n lockedLiquidityPct: number | null;\n markets: TokenSecurityMarket[];\n};\n\nexport type TokenSecurityMetadata = {\n externalLinks: {\n homepage: string | null;\n twitterPage: string | null;\n telegramChannelId: string | null;\n };\n};\n\nexport type TokenSecurityData = {\n resultType: string;\n maliciousScore: string;\n fees: TokenSecurityFees;\n features: TokenSecurityFeature[];\n financialStats: TokenSecurityFinancialStats;\n metadata: TokenSecurityMetadata;\n created: string;\n};\n\n/**\n * Trending token data from Token API v3 /tokens/trending endpoint\n */\nexport type TrendingToken = {\n assetId: string;\n name: string;\n symbol: string;\n decimals: number;\n price: string;\n aggregatedUsdVolume: number;\n marketCap: number;\n priceChangePct?: {\n m5?: string;\n m15?: string;\n m30?: string;\n h1?: string;\n h6?: string;\n h24?: string;\n };\n labels?: string[];\n /** Optional security data for tokens when includeTokenSecurityData is true */\n securityData?: TokenSecurityData;\n};\n\n/** Top gainers sort options */\nexport type TopGainersSortOption =\n | 'm5_price_change_percentage_desc'\n | 'h1_price_change_percentage_desc'\n | 'h6_price_change_percentage_desc'\n | 'h24_price_change_percentage_desc'\n | 'm5_price_change_percentage_asc'\n | 'h1_price_change_percentage_asc'\n | 'h6_price_change_percentage_asc'\n | 'h24_price_change_percentage_asc';\n\n/** Trending sort options */\nexport type TrendingSortOption =\n | 'm5_trending'\n | 'h1_trending'\n | 'h6_trending'\n | 'h24_trending';\n\n// ============================================================================\n// UTILITY TYPES\n// ============================================================================\n\n/** Suggested occurrence floors response */\nexport type V1SuggestedOccurrenceFloorsResponse = {\n [chainId: string]: number;\n};\n"]}
|
|
@@ -43,6 +43,53 @@ export type TopAsset = {
|
|
|
43
43
|
* Sort options for trending tokens (v3)
|
|
44
44
|
*/
|
|
45
45
|
export type TrendingSortBy = 'm5_trending' | 'h1_trending' | 'h6_trending' | 'h24_trending';
|
|
46
|
+
export type TokenSecurityFeature = {
|
|
47
|
+
featureId: string;
|
|
48
|
+
type: string;
|
|
49
|
+
description: string;
|
|
50
|
+
};
|
|
51
|
+
export type TokenSecurityHolder = {
|
|
52
|
+
label: string;
|
|
53
|
+
name: string | null;
|
|
54
|
+
address: string;
|
|
55
|
+
holdingPercentage: number;
|
|
56
|
+
};
|
|
57
|
+
export type TokenSecurityMarket = {
|
|
58
|
+
marketType: string;
|
|
59
|
+
marketName: string;
|
|
60
|
+
pairName: string;
|
|
61
|
+
reserveUSD: number;
|
|
62
|
+
};
|
|
63
|
+
export type TokenSecurityFees = {
|
|
64
|
+
transfer: number;
|
|
65
|
+
transferFeeMaxAmount: number | null;
|
|
66
|
+
buy: number;
|
|
67
|
+
sell: number | null;
|
|
68
|
+
};
|
|
69
|
+
export type TokenSecurityFinancialStats = {
|
|
70
|
+
supply: number;
|
|
71
|
+
topHolders: TokenSecurityHolder[];
|
|
72
|
+
holdersCount: number;
|
|
73
|
+
tradeVolume24h: number | null;
|
|
74
|
+
lockedLiquidityPct: number | null;
|
|
75
|
+
markets: TokenSecurityMarket[];
|
|
76
|
+
};
|
|
77
|
+
export type TokenSecurityMetadata = {
|
|
78
|
+
externalLinks: {
|
|
79
|
+
homepage: string | null;
|
|
80
|
+
twitterPage: string | null;
|
|
81
|
+
telegramChannelId: string | null;
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
export type TokenSecurityData = {
|
|
85
|
+
resultType: string;
|
|
86
|
+
maliciousScore: string;
|
|
87
|
+
fees: TokenSecurityFees;
|
|
88
|
+
features: TokenSecurityFeature[];
|
|
89
|
+
financialStats: TokenSecurityFinancialStats;
|
|
90
|
+
metadata: TokenSecurityMetadata;
|
|
91
|
+
created: string;
|
|
92
|
+
};
|
|
46
93
|
/**
|
|
47
94
|
* Trending token data from Token API v3 /tokens/trending endpoint
|
|
48
95
|
*/
|
|
@@ -63,6 +110,8 @@ export type TrendingToken = {
|
|
|
63
110
|
h24?: string;
|
|
64
111
|
};
|
|
65
112
|
labels?: string[];
|
|
113
|
+
/** Optional security data for tokens when includeTokenSecurityData is true */
|
|
114
|
+
securityData?: TokenSecurityData;
|
|
66
115
|
};
|
|
67
116
|
/** Top gainers sort options */
|
|
68
117
|
export type TopGainersSortOption = 'm5_price_change_percentage_desc' | 'h1_price_change_percentage_desc' | 'h6_price_change_percentage_desc' | 'h24_price_change_percentage_desc' | 'm5_price_change_percentage_asc' | 'h1_price_change_percentage_asc' | 'h6_price_change_percentage_asc' | 'h24_price_change_percentage_asc';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../../../src/api/token/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,iCAAiC;AACjC,MAAM,MAAM,0BAA0B,GAAG;IACvC,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAMF,mBAAmB;AACnB,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAMF,gBAAgB;AAChB,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAMF;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,aAAa,GACb,aAAa,GACb,aAAa,GACb,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../../../src/api/token/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,53 @@ export type TopAsset = {
|
|
|
43
43
|
* Sort options for trending tokens (v3)
|
|
44
44
|
*/
|
|
45
45
|
export type TrendingSortBy = 'm5_trending' | 'h1_trending' | 'h6_trending' | 'h24_trending';
|
|
46
|
+
export type TokenSecurityFeature = {
|
|
47
|
+
featureId: string;
|
|
48
|
+
type: string;
|
|
49
|
+
description: string;
|
|
50
|
+
};
|
|
51
|
+
export type TokenSecurityHolder = {
|
|
52
|
+
label: string;
|
|
53
|
+
name: string | null;
|
|
54
|
+
address: string;
|
|
55
|
+
holdingPercentage: number;
|
|
56
|
+
};
|
|
57
|
+
export type TokenSecurityMarket = {
|
|
58
|
+
marketType: string;
|
|
59
|
+
marketName: string;
|
|
60
|
+
pairName: string;
|
|
61
|
+
reserveUSD: number;
|
|
62
|
+
};
|
|
63
|
+
export type TokenSecurityFees = {
|
|
64
|
+
transfer: number;
|
|
65
|
+
transferFeeMaxAmount: number | null;
|
|
66
|
+
buy: number;
|
|
67
|
+
sell: number | null;
|
|
68
|
+
};
|
|
69
|
+
export type TokenSecurityFinancialStats = {
|
|
70
|
+
supply: number;
|
|
71
|
+
topHolders: TokenSecurityHolder[];
|
|
72
|
+
holdersCount: number;
|
|
73
|
+
tradeVolume24h: number | null;
|
|
74
|
+
lockedLiquidityPct: number | null;
|
|
75
|
+
markets: TokenSecurityMarket[];
|
|
76
|
+
};
|
|
77
|
+
export type TokenSecurityMetadata = {
|
|
78
|
+
externalLinks: {
|
|
79
|
+
homepage: string | null;
|
|
80
|
+
twitterPage: string | null;
|
|
81
|
+
telegramChannelId: string | null;
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
export type TokenSecurityData = {
|
|
85
|
+
resultType: string;
|
|
86
|
+
maliciousScore: string;
|
|
87
|
+
fees: TokenSecurityFees;
|
|
88
|
+
features: TokenSecurityFeature[];
|
|
89
|
+
financialStats: TokenSecurityFinancialStats;
|
|
90
|
+
metadata: TokenSecurityMetadata;
|
|
91
|
+
created: string;
|
|
92
|
+
};
|
|
46
93
|
/**
|
|
47
94
|
* Trending token data from Token API v3 /tokens/trending endpoint
|
|
48
95
|
*/
|
|
@@ -63,6 +110,8 @@ export type TrendingToken = {
|
|
|
63
110
|
h24?: string;
|
|
64
111
|
};
|
|
65
112
|
labels?: string[];
|
|
113
|
+
/** Optional security data for tokens when includeTokenSecurityData is true */
|
|
114
|
+
securityData?: TokenSecurityData;
|
|
66
115
|
};
|
|
67
116
|
/** Top gainers sort options */
|
|
68
117
|
export type TopGainersSortOption = 'm5_price_change_percentage_desc' | 'h1_price_change_percentage_desc' | 'h6_price_change_percentage_desc' | 'h24_price_change_percentage_desc' | 'm5_price_change_percentage_asc' | 'h1_price_change_percentage_asc' | 'h6_price_change_percentage_asc' | 'h24_price_change_percentage_asc';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../../../src/api/token/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,iCAAiC;AACjC,MAAM,MAAM,0BAA0B,GAAG;IACvC,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAMF,mBAAmB;AACnB,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAMF,gBAAgB;AAChB,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAMF;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,aAAa,GACb,aAAa,GACb,aAAa,GACb,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../../../src/api/token/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.mjs","sourceRoot":"","sources":["../../../src/api/token/types.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/**\n * Token API types for the API Platform Client.\n * API: token.api.cx.metamask.io\n */\n\n// ============================================================================\n// TOKEN METADATA TYPES\n// ============================================================================\n\n/**\n * Token metadata from Token API v1 /tokens/{chainId} endpoint\n */\nexport type TokenMetadata = {\n address: string;\n symbol: string;\n decimals: number;\n name: string;\n iconUrl?: string;\n aggregators?: string[];\n occurrences?: number;\n};\n\n/** Token description response */\nexport type V1TokenDescriptionResponse = {\n description: string;\n};\n\n// ============================================================================\n// NETWORK TYPES\n// ============================================================================\n\n/** Network info */\nexport type NetworkInfo = {\n active: boolean;\n chainId: number;\n chainName: string;\n nativeCurrency: {\n name: string;\n symbol: string;\n decimals: number;\n address: string;\n };\n iconUrl?: string;\n blockExplorerUrl?: string;\n networkType?: string;\n tokenSources?: string[];\n};\n\n// ============================================================================\n// TOP ASSETS TYPES\n// ============================================================================\n\n/** Top asset */\nexport type TopAsset = {\n address: string;\n symbol: string;\n};\n\n// ============================================================================\n// TRENDING TOKENS TYPES\n// ============================================================================\n\n/**\n * Sort options for trending tokens (v3)\n */\nexport type TrendingSortBy =\n | 'm5_trending'\n | 'h1_trending'\n | 'h6_trending'\n | 'h24_trending';\n\n/**\n * Trending token data from Token API v3 /tokens/trending endpoint\n */\nexport type TrendingToken = {\n assetId: string;\n name: string;\n symbol: string;\n decimals: number;\n price: string;\n aggregatedUsdVolume: number;\n marketCap: number;\n priceChangePct?: {\n m5?: string;\n m15?: string;\n m30?: string;\n h1?: string;\n h6?: string;\n h24?: string;\n };\n labels?: string[];\n};\n\n/** Top gainers sort options */\nexport type TopGainersSortOption =\n | 'm5_price_change_percentage_desc'\n | 'h1_price_change_percentage_desc'\n | 'h6_price_change_percentage_desc'\n | 'h24_price_change_percentage_desc'\n | 'm5_price_change_percentage_asc'\n | 'h1_price_change_percentage_asc'\n | 'h6_price_change_percentage_asc'\n | 'h24_price_change_percentage_asc';\n\n/** Trending sort options */\nexport type TrendingSortOption =\n | 'm5_trending'\n | 'h1_trending'\n | 'h6_trending'\n | 'h24_trending';\n\n// ============================================================================\n// UTILITY TYPES\n// ============================================================================\n\n/** Suggested occurrence floors response */\nexport type V1SuggestedOccurrenceFloorsResponse = {\n [chainId: string]: number;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"types.mjs","sourceRoot":"","sources":["../../../src/api/token/types.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/**\n * Token API types for the API Platform Client.\n * API: token.api.cx.metamask.io\n */\n\n// ============================================================================\n// TOKEN METADATA TYPES\n// ============================================================================\n\n/**\n * Token metadata from Token API v1 /tokens/{chainId} endpoint\n */\nexport type TokenMetadata = {\n address: string;\n symbol: string;\n decimals: number;\n name: string;\n iconUrl?: string;\n aggregators?: string[];\n occurrences?: number;\n};\n\n/** Token description response */\nexport type V1TokenDescriptionResponse = {\n description: string;\n};\n\n// ============================================================================\n// NETWORK TYPES\n// ============================================================================\n\n/** Network info */\nexport type NetworkInfo = {\n active: boolean;\n chainId: number;\n chainName: string;\n nativeCurrency: {\n name: string;\n symbol: string;\n decimals: number;\n address: string;\n };\n iconUrl?: string;\n blockExplorerUrl?: string;\n networkType?: string;\n tokenSources?: string[];\n};\n\n// ============================================================================\n// TOP ASSETS TYPES\n// ============================================================================\n\n/** Top asset */\nexport type TopAsset = {\n address: string;\n symbol: string;\n};\n\n// ============================================================================\n// TRENDING TOKENS TYPES\n// ============================================================================\n\n/**\n * Sort options for trending tokens (v3)\n */\nexport type TrendingSortBy =\n | 'm5_trending'\n | 'h1_trending'\n | 'h6_trending'\n | 'h24_trending';\n\n// ============================================================================\n// TOKEN SECURITY TYPES\n// ============================================================================\n\nexport type TokenSecurityFeature = {\n featureId: string;\n type: string;\n description: string;\n};\n\nexport type TokenSecurityHolder = {\n label: string;\n name: string | null;\n address: string;\n holdingPercentage: number;\n};\n\nexport type TokenSecurityMarket = {\n marketType: string;\n marketName: string;\n pairName: string;\n reserveUSD: number;\n};\n\nexport type TokenSecurityFees = {\n transfer: number;\n transferFeeMaxAmount: number | null;\n buy: number;\n sell: number | null;\n};\n\nexport type TokenSecurityFinancialStats = {\n supply: number;\n topHolders: TokenSecurityHolder[];\n holdersCount: number;\n tradeVolume24h: number | null;\n lockedLiquidityPct: number | null;\n markets: TokenSecurityMarket[];\n};\n\nexport type TokenSecurityMetadata = {\n externalLinks: {\n homepage: string | null;\n twitterPage: string | null;\n telegramChannelId: string | null;\n };\n};\n\nexport type TokenSecurityData = {\n resultType: string;\n maliciousScore: string;\n fees: TokenSecurityFees;\n features: TokenSecurityFeature[];\n financialStats: TokenSecurityFinancialStats;\n metadata: TokenSecurityMetadata;\n created: string;\n};\n\n/**\n * Trending token data from Token API v3 /tokens/trending endpoint\n */\nexport type TrendingToken = {\n assetId: string;\n name: string;\n symbol: string;\n decimals: number;\n price: string;\n aggregatedUsdVolume: number;\n marketCap: number;\n priceChangePct?: {\n m5?: string;\n m15?: string;\n m30?: string;\n h1?: string;\n h6?: string;\n h24?: string;\n };\n labels?: string[];\n /** Optional security data for tokens when includeTokenSecurityData is true */\n securityData?: TokenSecurityData;\n};\n\n/** Top gainers sort options */\nexport type TopGainersSortOption =\n | 'm5_price_change_percentage_desc'\n | 'h1_price_change_percentage_desc'\n | 'h6_price_change_percentage_desc'\n | 'h24_price_change_percentage_desc'\n | 'm5_price_change_percentage_asc'\n | 'h1_price_change_percentage_asc'\n | 'h6_price_change_percentage_asc'\n | 'h24_price_change_percentage_asc';\n\n/** Trending sort options */\nexport type TrendingSortOption =\n | 'm5_trending'\n | 'h1_trending'\n | 'h6_trending'\n | 'h24_trending';\n\n// ============================================================================\n// UTILITY TYPES\n// ============================================================================\n\n/** Suggested occurrence floors response */\nexport type V1SuggestedOccurrenceFloorsResponse = {\n [chainId: string]: number;\n};\n"]}
|