@metamask/core-backend 5.0.0 → 5.1.0

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.
Files changed (159) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/README.md +252 -1
  3. package/dist/AccountActivityService.cjs +1 -1
  4. package/dist/AccountActivityService.cjs.map +1 -1
  5. package/dist/AccountActivityService.mjs +1 -1
  6. package/dist/AccountActivityService.mjs.map +1 -1
  7. package/dist/BackendWebSocketService.cjs +5 -3
  8. package/dist/BackendWebSocketService.cjs.map +1 -1
  9. package/dist/BackendWebSocketService.d.cts +2 -2
  10. package/dist/BackendWebSocketService.d.cts.map +1 -1
  11. package/dist/BackendWebSocketService.d.mts +2 -2
  12. package/dist/BackendWebSocketService.d.mts.map +1 -1
  13. package/dist/BackendWebSocketService.mjs +5 -3
  14. package/dist/BackendWebSocketService.mjs.map +1 -1
  15. package/dist/api/ApiPlatformClient.cjs +177 -0
  16. package/dist/api/ApiPlatformClient.cjs.map +1 -0
  17. package/dist/api/ApiPlatformClient.d.cts +127 -0
  18. package/dist/api/ApiPlatformClient.d.cts.map +1 -0
  19. package/dist/api/ApiPlatformClient.d.mts +127 -0
  20. package/dist/api/ApiPlatformClient.d.mts.map +1 -0
  21. package/dist/api/ApiPlatformClient.mjs +172 -0
  22. package/dist/api/ApiPlatformClient.mjs.map +1 -0
  23. package/dist/api/accounts/client.cjs +492 -0
  24. package/dist/api/accounts/client.cjs.map +1 -0
  25. package/dist/api/accounts/client.d.cts +213 -0
  26. package/dist/api/accounts/client.d.cts.map +1 -0
  27. package/dist/api/accounts/client.d.mts +213 -0
  28. package/dist/api/accounts/client.d.mts.map +1 -0
  29. package/dist/api/accounts/client.mjs +488 -0
  30. package/dist/api/accounts/client.mjs.map +1 -0
  31. package/dist/api/accounts/index.cjs +9 -0
  32. package/dist/api/accounts/index.cjs.map +1 -0
  33. package/dist/api/accounts/index.d.cts +6 -0
  34. package/dist/api/accounts/index.d.cts.map +1 -0
  35. package/dist/api/accounts/index.d.mts +6 -0
  36. package/dist/api/accounts/index.d.mts.map +1 -0
  37. package/dist/api/accounts/index.mjs +5 -0
  38. package/dist/api/accounts/index.mjs.map +1 -0
  39. package/dist/api/accounts/types.cjs +7 -0
  40. package/dist/api/accounts/types.cjs.map +1 -0
  41. package/dist/api/accounts/types.d.cts +195 -0
  42. package/dist/api/accounts/types.d.cts.map +1 -0
  43. package/dist/api/accounts/types.d.mts +195 -0
  44. package/dist/api/accounts/types.d.mts.map +1 -0
  45. package/dist/api/accounts/types.mjs +6 -0
  46. package/dist/api/accounts/types.mjs.map +1 -0
  47. package/dist/api/base-client.cjs +149 -0
  48. package/dist/api/base-client.cjs.map +1 -0
  49. package/dist/api/base-client.d.cts +54 -0
  50. package/dist/api/base-client.d.cts.map +1 -0
  51. package/dist/api/base-client.d.mts +54 -0
  52. package/dist/api/base-client.d.mts.map +1 -0
  53. package/dist/api/base-client.mjs +143 -0
  54. package/dist/api/base-client.mjs.map +1 -0
  55. package/dist/api/index.cjs +35 -0
  56. package/dist/api/index.cjs.map +1 -0
  57. package/dist/api/index.d.cts +18 -0
  58. package/dist/api/index.d.cts.map +1 -0
  59. package/dist/api/index.d.mts +18 -0
  60. package/dist/api/index.d.mts.map +1 -0
  61. package/dist/api/index.mjs +18 -0
  62. package/dist/api/index.mjs.map +1 -0
  63. package/dist/api/prices/client.cjs +521 -0
  64. package/dist/api/prices/client.cjs.map +1 -0
  65. package/dist/api/prices/client.d.cts +235 -0
  66. package/dist/api/prices/client.d.cts.map +1 -0
  67. package/dist/api/prices/client.d.mts +235 -0
  68. package/dist/api/prices/client.d.mts.map +1 -0
  69. package/dist/api/prices/client.mjs +517 -0
  70. package/dist/api/prices/client.mjs.map +1 -0
  71. package/dist/api/prices/index.cjs +9 -0
  72. package/dist/api/prices/index.cjs.map +1 -0
  73. package/dist/api/prices/index.d.cts +6 -0
  74. package/dist/api/prices/index.d.cts.map +1 -0
  75. package/dist/api/prices/index.d.mts +6 -0
  76. package/dist/api/prices/index.d.mts.map +1 -0
  77. package/dist/api/prices/index.mjs +5 -0
  78. package/dist/api/prices/index.mjs.map +1 -0
  79. package/dist/api/prices/types.cjs +7 -0
  80. package/dist/api/prices/types.cjs.map +1 -0
  81. package/dist/api/prices/types.d.cts +61 -0
  82. package/dist/api/prices/types.d.cts.map +1 -0
  83. package/dist/api/prices/types.d.mts +61 -0
  84. package/dist/api/prices/types.d.mts.map +1 -0
  85. package/dist/api/prices/types.mjs +6 -0
  86. package/dist/api/prices/types.mjs.map +1 -0
  87. package/dist/api/shared-types.cjs +93 -0
  88. package/dist/api/shared-types.cjs.map +1 -0
  89. package/dist/api/shared-types.d.cts +131 -0
  90. package/dist/api/shared-types.d.cts.map +1 -0
  91. package/dist/api/shared-types.d.mts +131 -0
  92. package/dist/api/shared-types.d.mts.map +1 -0
  93. package/dist/api/shared-types.mjs +87 -0
  94. package/dist/api/shared-types.mjs.map +1 -0
  95. package/dist/api/test-utils.cjs +70 -0
  96. package/dist/api/test-utils.cjs.map +1 -0
  97. package/dist/api/test-utils.d.cts +30 -0
  98. package/dist/api/test-utils.d.cts.map +1 -0
  99. package/dist/api/test-utils.d.mts +30 -0
  100. package/dist/api/test-utils.d.mts.map +1 -0
  101. package/dist/api/test-utils.mjs +64 -0
  102. package/dist/api/test-utils.mjs.map +1 -0
  103. package/dist/api/token/client.cjs +342 -0
  104. package/dist/api/token/client.cjs.map +1 -0
  105. package/dist/api/token/client.d.cts +193 -0
  106. package/dist/api/token/client.d.cts.map +1 -0
  107. package/dist/api/token/client.d.mts +193 -0
  108. package/dist/api/token/client.d.mts.map +1 -0
  109. package/dist/api/token/client.mjs +338 -0
  110. package/dist/api/token/client.mjs.map +1 -0
  111. package/dist/api/token/index.cjs +9 -0
  112. package/dist/api/token/index.cjs.map +1 -0
  113. package/dist/api/token/index.d.cts +6 -0
  114. package/dist/api/token/index.d.cts.map +1 -0
  115. package/dist/api/token/index.d.mts +6 -0
  116. package/dist/api/token/index.d.mts.map +1 -0
  117. package/dist/api/token/index.mjs +5 -0
  118. package/dist/api/token/index.mjs.map +1 -0
  119. package/dist/api/token/types.cjs +7 -0
  120. package/dist/api/token/types.cjs.map +1 -0
  121. package/dist/api/token/types.d.cts +75 -0
  122. package/dist/api/token/types.d.cts.map +1 -0
  123. package/dist/api/token/types.d.mts +75 -0
  124. package/dist/api/token/types.d.mts.map +1 -0
  125. package/dist/api/token/types.mjs +6 -0
  126. package/dist/api/token/types.mjs.map +1 -0
  127. package/dist/api/tokens/client.cjs +91 -0
  128. package/dist/api/tokens/client.cjs.map +1 -0
  129. package/dist/api/tokens/client.d.cts +45 -0
  130. package/dist/api/tokens/client.d.cts.map +1 -0
  131. package/dist/api/tokens/client.d.mts +45 -0
  132. package/dist/api/tokens/client.d.mts.map +1 -0
  133. package/dist/api/tokens/client.mjs +87 -0
  134. package/dist/api/tokens/client.mjs.map +1 -0
  135. package/dist/api/tokens/index.cjs +9 -0
  136. package/dist/api/tokens/index.cjs.map +1 -0
  137. package/dist/api/tokens/index.d.cts +6 -0
  138. package/dist/api/tokens/index.d.cts.map +1 -0
  139. package/dist/api/tokens/index.d.mts +6 -0
  140. package/dist/api/tokens/index.d.mts.map +1 -0
  141. package/dist/api/tokens/index.mjs +5 -0
  142. package/dist/api/tokens/index.mjs.map +1 -0
  143. package/dist/api/tokens/types.cjs +7 -0
  144. package/dist/api/tokens/types.cjs.map +1 -0
  145. package/dist/api/tokens/types.d.cts +83 -0
  146. package/dist/api/tokens/types.d.cts.map +1 -0
  147. package/dist/api/tokens/types.d.mts +83 -0
  148. package/dist/api/tokens/types.d.mts.map +1 -0
  149. package/dist/api/tokens/types.mjs +6 -0
  150. package/dist/api/tokens/types.mjs.map +1 -0
  151. package/dist/index.cjs +33 -4
  152. package/dist/index.cjs.map +1 -1
  153. package/dist/index.d.cts +6 -7
  154. package/dist/index.d.cts.map +1 -1
  155. package/dist/index.d.mts +6 -7
  156. package/dist/index.d.mts.map +1 -1
  157. package/dist/index.mjs +21 -5
  158. package/dist/index.mjs.map +1 -1
  159. package/package.json +8 -11
@@ -0,0 +1,193 @@
1
+ /**
2
+ * Token API Client - token.api.cx.metamask.io
3
+ *
4
+ * Handles all token-related API calls including:
5
+ * - Networks
6
+ * - Token lists
7
+ * - Token metadata
8
+ * - Token descriptions
9
+ * - Trending tokens
10
+ * - Top gainers/popular tokens
11
+ * - Top assets
12
+ * - Occurrence floors
13
+ */
14
+ import type { TokenMetadata, V1TokenDescriptionResponse, NetworkInfo, TopAsset, TrendingToken, TrendingSortOption, TopGainersSortOption, V1SuggestedOccurrenceFloorsResponse } from "./types.cjs";
15
+ import { BaseApiClient } from "../base-client.cjs";
16
+ import type { FetchOptions } from "../shared-types.cjs";
17
+ /**
18
+ * Token API Client.
19
+ * Provides methods for interacting with the Token API.
20
+ */
21
+ export declare class TokenApiClient extends BaseApiClient {
22
+ /**
23
+ * Invalidate all token API queries.
24
+ * Note: This only invalidates queries from token.api.cx.metamask.io,
25
+ * not from tokens.api.cx.metamask.io (use TokensApiClient.invalidateTokens() for that).
26
+ */
27
+ invalidateToken(): Promise<void>;
28
+ /**
29
+ * Get all networks.
30
+ *
31
+ * @param options - Fetch options including cache settings.
32
+ * @returns Array of network info.
33
+ */
34
+ fetchNetworks(options?: FetchOptions): Promise<NetworkInfo[]>;
35
+ /**
36
+ * Get network by chain ID.
37
+ *
38
+ * @param chainId - The chain ID.
39
+ * @param options - Fetch options including cache settings.
40
+ * @returns The network info.
41
+ */
42
+ fetchNetworkByChainId(chainId: number, options?: FetchOptions): Promise<NetworkInfo>;
43
+ /**
44
+ * Get token list for a chain.
45
+ *
46
+ * @param chainId - The chain ID.
47
+ * @param queryOptions - Query options.
48
+ * @param queryOptions.includeTokenFees - Include token fees data.
49
+ * @param queryOptions.includeAssetType - Include asset type data.
50
+ * @param queryOptions.includeAggregators - Include aggregators data.
51
+ * @param queryOptions.includeERC20Permit - Include ERC20 permit data.
52
+ * @param queryOptions.includeOccurrences - Include occurrences data.
53
+ * @param queryOptions.includeStorage - Include storage data.
54
+ * @param queryOptions.includeIconUrl - Include icon URL.
55
+ * @param queryOptions.includeAddress - Include address.
56
+ * @param queryOptions.includeName - Include name.
57
+ * @param options - Fetch options including cache settings.
58
+ * @returns Array of token metadata.
59
+ */
60
+ fetchTokenList(chainId: number, queryOptions?: {
61
+ includeTokenFees?: boolean;
62
+ includeAssetType?: boolean;
63
+ includeAggregators?: boolean;
64
+ includeERC20Permit?: boolean;
65
+ includeOccurrences?: boolean;
66
+ includeStorage?: boolean;
67
+ includeIconUrl?: boolean;
68
+ includeAddress?: boolean;
69
+ includeName?: boolean;
70
+ }, options?: FetchOptions): Promise<TokenMetadata[]>;
71
+ /**
72
+ * Get token metadata by address.
73
+ *
74
+ * @param chainId - The chain ID.
75
+ * @param tokenAddress - The token address.
76
+ * @param queryOptions - Query options.
77
+ * @param queryOptions.includeTokenFees - Include token fees data.
78
+ * @param queryOptions.includeAssetType - Include asset type data.
79
+ * @param queryOptions.includeAggregators - Include aggregators data.
80
+ * @param queryOptions.includeERC20Permit - Include ERC20 permit data.
81
+ * @param queryOptions.includeOccurrences - Include occurrences data.
82
+ * @param queryOptions.includeStorage - Include storage data.
83
+ * @param queryOptions.includeIconUrl - Include icon URL.
84
+ * @param queryOptions.includeAddress - Include address.
85
+ * @param queryOptions.includeName - Include name.
86
+ * @param options - Fetch options including cache settings.
87
+ * @returns The token metadata or undefined.
88
+ */
89
+ fetchV1TokenMetadata(chainId: number, tokenAddress: string, queryOptions?: {
90
+ includeTokenFees?: boolean;
91
+ includeAssetType?: boolean;
92
+ includeAggregators?: boolean;
93
+ includeERC20Permit?: boolean;
94
+ includeOccurrences?: boolean;
95
+ includeStorage?: boolean;
96
+ includeIconUrl?: boolean;
97
+ includeAddress?: boolean;
98
+ includeName?: boolean;
99
+ }, options?: FetchOptions): Promise<TokenMetadata | undefined>;
100
+ /**
101
+ * Get token description.
102
+ *
103
+ * @param chainId - The chain ID.
104
+ * @param tokenAddress - The token address.
105
+ * @param options - Fetch options including cache settings.
106
+ * @returns The token description or undefined.
107
+ */
108
+ fetchTokenDescription(chainId: number, tokenAddress: string, options?: FetchOptions): Promise<V1TokenDescriptionResponse | undefined>;
109
+ /**
110
+ * Get trending tokens (v3 endpoint).
111
+ *
112
+ * @param chainIds - Array of chain IDs.
113
+ * @param queryOptions - Query options.
114
+ * @param queryOptions.sortBy - Sort option.
115
+ * @param queryOptions.minLiquidity - Minimum liquidity filter.
116
+ * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.
117
+ * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.
118
+ * @param queryOptions.minMarketCap - Minimum market cap filter.
119
+ * @param queryOptions.maxMarketCap - Maximum market cap filter.
120
+ * @param options - Fetch options including cache settings.
121
+ * @returns Array of trending tokens.
122
+ */
123
+ fetchV3TrendingTokens(chainIds: string[], queryOptions?: {
124
+ sortBy?: TrendingSortOption;
125
+ minLiquidity?: number;
126
+ minVolume24hUsd?: number;
127
+ maxVolume24hUsd?: number;
128
+ minMarketCap?: number;
129
+ maxMarketCap?: number;
130
+ }, options?: FetchOptions): Promise<TrendingToken[]>;
131
+ /**
132
+ * Get top gainers/losers (v3 endpoint).
133
+ *
134
+ * @param chainIds - Array of chain IDs.
135
+ * @param queryOptions - Query options.
136
+ * @param queryOptions.sort - Sort option.
137
+ * @param queryOptions.blockRegion - Region filter (global/us).
138
+ * @param queryOptions.minLiquidity - Minimum liquidity filter.
139
+ * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.
140
+ * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.
141
+ * @param queryOptions.minMarketCap - Minimum market cap filter.
142
+ * @param queryOptions.maxMarketCap - Maximum market cap filter.
143
+ * @param options - Fetch options including cache settings.
144
+ * @returns Array of top gainer tokens.
145
+ */
146
+ fetchV3TopGainers(chainIds: string[], queryOptions?: {
147
+ sort?: TopGainersSortOption;
148
+ blockRegion?: 'global' | 'us';
149
+ minLiquidity?: number;
150
+ minVolume24hUsd?: number;
151
+ maxVolume24hUsd?: number;
152
+ minMarketCap?: number;
153
+ maxMarketCap?: number;
154
+ }, options?: FetchOptions): Promise<TrendingToken[]>;
155
+ /**
156
+ * Get popular tokens (v3 endpoint).
157
+ *
158
+ * @param chainIds - Array of chain IDs.
159
+ * @param queryOptions - Query options.
160
+ * @param queryOptions.blockRegion - Region filter (global/us).
161
+ * @param queryOptions.minLiquidity - Minimum liquidity filter.
162
+ * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.
163
+ * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.
164
+ * @param queryOptions.minMarketCap - Minimum market cap filter.
165
+ * @param queryOptions.maxMarketCap - Maximum market cap filter.
166
+ * @param options - Fetch options including cache settings.
167
+ * @returns Array of popular tokens.
168
+ */
169
+ fetchV3PopularTokens(chainIds: string[], queryOptions?: {
170
+ blockRegion?: 'global' | 'us';
171
+ minLiquidity?: number;
172
+ minVolume24hUsd?: number;
173
+ maxVolume24hUsd?: number;
174
+ minMarketCap?: number;
175
+ maxMarketCap?: number;
176
+ }, options?: FetchOptions): Promise<TrendingToken[]>;
177
+ /**
178
+ * Get top assets for a chain.
179
+ *
180
+ * @param chainId - The chain ID.
181
+ * @param options - Fetch options including cache settings.
182
+ * @returns Array of top assets.
183
+ */
184
+ fetchTopAssets(chainId: number, options?: FetchOptions): Promise<TopAsset[]>;
185
+ /**
186
+ * Get suggested occurrence floors for all chains.
187
+ *
188
+ * @param options - Fetch options including cache settings.
189
+ * @returns The suggested occurrence floors response.
190
+ */
191
+ fetchV1SuggestedOccurrenceFloors(options?: FetchOptions): Promise<V1SuggestedOccurrenceFloorsResponse>;
192
+ }
193
+ //# sourceMappingURL=client.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.cts","sourceRoot":"","sources":["../../../src/api/token/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,193 @@
1
+ /**
2
+ * Token API Client - token.api.cx.metamask.io
3
+ *
4
+ * Handles all token-related API calls including:
5
+ * - Networks
6
+ * - Token lists
7
+ * - Token metadata
8
+ * - Token descriptions
9
+ * - Trending tokens
10
+ * - Top gainers/popular tokens
11
+ * - Top assets
12
+ * - Occurrence floors
13
+ */
14
+ import type { TokenMetadata, V1TokenDescriptionResponse, NetworkInfo, TopAsset, TrendingToken, TrendingSortOption, TopGainersSortOption, V1SuggestedOccurrenceFloorsResponse } from "./types.mjs";
15
+ import { BaseApiClient } from "../base-client.mjs";
16
+ import type { FetchOptions } from "../shared-types.mjs";
17
+ /**
18
+ * Token API Client.
19
+ * Provides methods for interacting with the Token API.
20
+ */
21
+ export declare class TokenApiClient extends BaseApiClient {
22
+ /**
23
+ * Invalidate all token API queries.
24
+ * Note: This only invalidates queries from token.api.cx.metamask.io,
25
+ * not from tokens.api.cx.metamask.io (use TokensApiClient.invalidateTokens() for that).
26
+ */
27
+ invalidateToken(): Promise<void>;
28
+ /**
29
+ * Get all networks.
30
+ *
31
+ * @param options - Fetch options including cache settings.
32
+ * @returns Array of network info.
33
+ */
34
+ fetchNetworks(options?: FetchOptions): Promise<NetworkInfo[]>;
35
+ /**
36
+ * Get network by chain ID.
37
+ *
38
+ * @param chainId - The chain ID.
39
+ * @param options - Fetch options including cache settings.
40
+ * @returns The network info.
41
+ */
42
+ fetchNetworkByChainId(chainId: number, options?: FetchOptions): Promise<NetworkInfo>;
43
+ /**
44
+ * Get token list for a chain.
45
+ *
46
+ * @param chainId - The chain ID.
47
+ * @param queryOptions - Query options.
48
+ * @param queryOptions.includeTokenFees - Include token fees data.
49
+ * @param queryOptions.includeAssetType - Include asset type data.
50
+ * @param queryOptions.includeAggregators - Include aggregators data.
51
+ * @param queryOptions.includeERC20Permit - Include ERC20 permit data.
52
+ * @param queryOptions.includeOccurrences - Include occurrences data.
53
+ * @param queryOptions.includeStorage - Include storage data.
54
+ * @param queryOptions.includeIconUrl - Include icon URL.
55
+ * @param queryOptions.includeAddress - Include address.
56
+ * @param queryOptions.includeName - Include name.
57
+ * @param options - Fetch options including cache settings.
58
+ * @returns Array of token metadata.
59
+ */
60
+ fetchTokenList(chainId: number, queryOptions?: {
61
+ includeTokenFees?: boolean;
62
+ includeAssetType?: boolean;
63
+ includeAggregators?: boolean;
64
+ includeERC20Permit?: boolean;
65
+ includeOccurrences?: boolean;
66
+ includeStorage?: boolean;
67
+ includeIconUrl?: boolean;
68
+ includeAddress?: boolean;
69
+ includeName?: boolean;
70
+ }, options?: FetchOptions): Promise<TokenMetadata[]>;
71
+ /**
72
+ * Get token metadata by address.
73
+ *
74
+ * @param chainId - The chain ID.
75
+ * @param tokenAddress - The token address.
76
+ * @param queryOptions - Query options.
77
+ * @param queryOptions.includeTokenFees - Include token fees data.
78
+ * @param queryOptions.includeAssetType - Include asset type data.
79
+ * @param queryOptions.includeAggregators - Include aggregators data.
80
+ * @param queryOptions.includeERC20Permit - Include ERC20 permit data.
81
+ * @param queryOptions.includeOccurrences - Include occurrences data.
82
+ * @param queryOptions.includeStorage - Include storage data.
83
+ * @param queryOptions.includeIconUrl - Include icon URL.
84
+ * @param queryOptions.includeAddress - Include address.
85
+ * @param queryOptions.includeName - Include name.
86
+ * @param options - Fetch options including cache settings.
87
+ * @returns The token metadata or undefined.
88
+ */
89
+ fetchV1TokenMetadata(chainId: number, tokenAddress: string, queryOptions?: {
90
+ includeTokenFees?: boolean;
91
+ includeAssetType?: boolean;
92
+ includeAggregators?: boolean;
93
+ includeERC20Permit?: boolean;
94
+ includeOccurrences?: boolean;
95
+ includeStorage?: boolean;
96
+ includeIconUrl?: boolean;
97
+ includeAddress?: boolean;
98
+ includeName?: boolean;
99
+ }, options?: FetchOptions): Promise<TokenMetadata | undefined>;
100
+ /**
101
+ * Get token description.
102
+ *
103
+ * @param chainId - The chain ID.
104
+ * @param tokenAddress - The token address.
105
+ * @param options - Fetch options including cache settings.
106
+ * @returns The token description or undefined.
107
+ */
108
+ fetchTokenDescription(chainId: number, tokenAddress: string, options?: FetchOptions): Promise<V1TokenDescriptionResponse | undefined>;
109
+ /**
110
+ * Get trending tokens (v3 endpoint).
111
+ *
112
+ * @param chainIds - Array of chain IDs.
113
+ * @param queryOptions - Query options.
114
+ * @param queryOptions.sortBy - Sort option.
115
+ * @param queryOptions.minLiquidity - Minimum liquidity filter.
116
+ * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.
117
+ * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.
118
+ * @param queryOptions.minMarketCap - Minimum market cap filter.
119
+ * @param queryOptions.maxMarketCap - Maximum market cap filter.
120
+ * @param options - Fetch options including cache settings.
121
+ * @returns Array of trending tokens.
122
+ */
123
+ fetchV3TrendingTokens(chainIds: string[], queryOptions?: {
124
+ sortBy?: TrendingSortOption;
125
+ minLiquidity?: number;
126
+ minVolume24hUsd?: number;
127
+ maxVolume24hUsd?: number;
128
+ minMarketCap?: number;
129
+ maxMarketCap?: number;
130
+ }, options?: FetchOptions): Promise<TrendingToken[]>;
131
+ /**
132
+ * Get top gainers/losers (v3 endpoint).
133
+ *
134
+ * @param chainIds - Array of chain IDs.
135
+ * @param queryOptions - Query options.
136
+ * @param queryOptions.sort - Sort option.
137
+ * @param queryOptions.blockRegion - Region filter (global/us).
138
+ * @param queryOptions.minLiquidity - Minimum liquidity filter.
139
+ * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.
140
+ * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.
141
+ * @param queryOptions.minMarketCap - Minimum market cap filter.
142
+ * @param queryOptions.maxMarketCap - Maximum market cap filter.
143
+ * @param options - Fetch options including cache settings.
144
+ * @returns Array of top gainer tokens.
145
+ */
146
+ fetchV3TopGainers(chainIds: string[], queryOptions?: {
147
+ sort?: TopGainersSortOption;
148
+ blockRegion?: 'global' | 'us';
149
+ minLiquidity?: number;
150
+ minVolume24hUsd?: number;
151
+ maxVolume24hUsd?: number;
152
+ minMarketCap?: number;
153
+ maxMarketCap?: number;
154
+ }, options?: FetchOptions): Promise<TrendingToken[]>;
155
+ /**
156
+ * Get popular tokens (v3 endpoint).
157
+ *
158
+ * @param chainIds - Array of chain IDs.
159
+ * @param queryOptions - Query options.
160
+ * @param queryOptions.blockRegion - Region filter (global/us).
161
+ * @param queryOptions.minLiquidity - Minimum liquidity filter.
162
+ * @param queryOptions.minVolume24hUsd - Minimum 24h volume filter.
163
+ * @param queryOptions.maxVolume24hUsd - Maximum 24h volume filter.
164
+ * @param queryOptions.minMarketCap - Minimum market cap filter.
165
+ * @param queryOptions.maxMarketCap - Maximum market cap filter.
166
+ * @param options - Fetch options including cache settings.
167
+ * @returns Array of popular tokens.
168
+ */
169
+ fetchV3PopularTokens(chainIds: string[], queryOptions?: {
170
+ blockRegion?: 'global' | 'us';
171
+ minLiquidity?: number;
172
+ minVolume24hUsd?: number;
173
+ maxVolume24hUsd?: number;
174
+ minMarketCap?: number;
175
+ maxMarketCap?: number;
176
+ }, options?: FetchOptions): Promise<TrendingToken[]>;
177
+ /**
178
+ * Get top assets for a chain.
179
+ *
180
+ * @param chainId - The chain ID.
181
+ * @param options - Fetch options including cache settings.
182
+ * @returns Array of top assets.
183
+ */
184
+ fetchTopAssets(chainId: number, options?: FetchOptions): Promise<TopAsset[]>;
185
+ /**
186
+ * Get suggested occurrence floors for all chains.
187
+ *
188
+ * @param options - Fetch options including cache settings.
189
+ * @returns The suggested occurrence floors response.
190
+ */
191
+ fetchV1SuggestedOccurrenceFloors(options?: FetchOptions): Promise<V1SuggestedOccurrenceFloorsResponse>;
192
+ }
193
+ //# sourceMappingURL=client.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.mts","sourceRoot":"","sources":["../../../src/api/token/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,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;AAChF,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;IACG,aAAa,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAUnE;;;;;;OAMG;IACG,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,WAAW,CAAC;IAgBvB;;;;;;;;;;;;;;;;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;IA2B3B;;;;;;;;;;;;;;;;;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;IAgCrC;;;;;;;OAOG;IACG,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAyBlD;;;;;;;;;;;;;OAaG;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;KACvB,EACD,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,aAAa,EAAE,CAAC;IAyB3B;;;;;;;;;;;;;;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;IA0B3B;;;;;;;;;;;;;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;IA6B3B;;;;;;OAMG;IACG,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,QAAQ,EAAE,CAAC;IAgBtB;;;;;OAKG;IACG,gCAAgC,CACpC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,mCAAmC,CAAC;CAahD"}