@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,235 @@
1
+ /**
2
+ * Prices API Client - price.api.cx.metamask.io
3
+ *
4
+ * Handles all price-related API calls including:
5
+ * - Supported networks
6
+ * - Exchange rates
7
+ * - Spot prices (v1, v2, v3)
8
+ * - Historical prices
9
+ * - Price graphs
10
+ */
11
+ import type { CoinGeckoSpotPrice, V1ExchangeRatesResponse, PriceSupportedNetworksResponse, V1HistoricalPricesResponse, V3SpotPricesResponse, V3HistoricalPricesResponse } from "./types.cjs";
12
+ import { BaseApiClient } from "../base-client.cjs";
13
+ import type { FetchOptions, SupportedCurrency, MarketDataDetails } from "../shared-types.cjs";
14
+ /**
15
+ * Prices API Client.
16
+ * Provides methods for interacting with the Price API.
17
+ */
18
+ export declare class PricesApiClient extends BaseApiClient {
19
+ /**
20
+ * Invalidate all price queries.
21
+ */
22
+ invalidatePrices(): Promise<void>;
23
+ /**
24
+ * Get price supported networks (v1 endpoint).
25
+ *
26
+ * @param options - Fetch options including cache settings.
27
+ * @returns The supported networks response.
28
+ */
29
+ fetchPriceV1SupportedNetworks(options?: FetchOptions): Promise<PriceSupportedNetworksResponse>;
30
+ /**
31
+ * Get price supported networks in CAIP format (v2 endpoint).
32
+ *
33
+ * @param options - Fetch options including cache settings.
34
+ * @returns The supported networks response.
35
+ */
36
+ fetchPriceV2SupportedNetworks(options?: FetchOptions): Promise<PriceSupportedNetworksResponse>;
37
+ /**
38
+ * Get all exchange rates for a base currency (v1 endpoint).
39
+ *
40
+ * @param baseCurrency - The base currency code.
41
+ * @param options - Fetch options including cache settings.
42
+ * @returns The exchange rates response.
43
+ */
44
+ fetchV1ExchangeRates(baseCurrency: string, options?: FetchOptions): Promise<V1ExchangeRatesResponse>;
45
+ /**
46
+ * Get fiat exchange rates (v1 endpoint).
47
+ *
48
+ * @param options - Fetch options including cache settings.
49
+ * @returns The exchange rates response.
50
+ */
51
+ fetchV1FiatExchangeRates(options?: FetchOptions): Promise<V1ExchangeRatesResponse>;
52
+ /**
53
+ * Get crypto exchange rates (v1 endpoint).
54
+ *
55
+ * @param options - Fetch options including cache settings.
56
+ * @returns The exchange rates response.
57
+ */
58
+ fetchV1CryptoExchangeRates(options?: FetchOptions): Promise<V1ExchangeRatesResponse>;
59
+ /**
60
+ * Get spot prices by CoinGecko coin IDs (v1 endpoint).
61
+ *
62
+ * @param coinIds - Array of CoinGecko coin IDs.
63
+ * @param options - Fetch options including cache settings.
64
+ * @returns The spot prices by coin ID.
65
+ */
66
+ fetchV1SpotPricesByCoinIds(coinIds: string[], options?: FetchOptions): Promise<Record<string, CoinGeckoSpotPrice>>;
67
+ /**
68
+ * Get spot price for a single CoinGecko coin ID (v1 endpoint).
69
+ *
70
+ * @param coinId - The CoinGecko coin ID.
71
+ * @param currency - The currency for prices.
72
+ * @param options - Fetch options including cache settings.
73
+ * @returns The spot price data.
74
+ */
75
+ fetchV1SpotPriceByCoinId(coinId: string, currency?: SupportedCurrency, options?: FetchOptions): Promise<CoinGeckoSpotPrice>;
76
+ /**
77
+ * Get spot prices for tokens on a chain (v1 endpoint).
78
+ *
79
+ * @param chainId - The chain ID (hex format).
80
+ * @param tokenAddresses - Array of token addresses.
81
+ * @param queryOptions - Query options.
82
+ * @param queryOptions.currency - The currency for prices.
83
+ * @param queryOptions.includeMarketData - Whether to include market data.
84
+ * @param options - Fetch options including cache settings.
85
+ * @returns The token prices by address.
86
+ */
87
+ fetchV1TokenPrices(chainId: string, tokenAddresses: string[], queryOptions?: {
88
+ currency?: SupportedCurrency;
89
+ includeMarketData?: boolean;
90
+ }, options?: FetchOptions): Promise<Record<string, Record<string, number>>>;
91
+ /**
92
+ * Get spot price for a single token (v1 endpoint).
93
+ *
94
+ * @param chainId - The chain ID (hex format).
95
+ * @param tokenAddress - The token address.
96
+ * @param currency - The currency for prices.
97
+ * @param options - Fetch options including cache settings.
98
+ * @returns The market data or undefined.
99
+ */
100
+ fetchV1TokenPrice(chainId: string, tokenAddress: string, currency?: SupportedCurrency, options?: FetchOptions): Promise<MarketDataDetails | undefined>;
101
+ /**
102
+ * Get spot prices for tokens on a chain with market data (v2 endpoint).
103
+ *
104
+ * @param chainId - The chain ID (hex format).
105
+ * @param tokenAddresses - Array of token addresses.
106
+ * @param queryOptions - Query options.
107
+ * @param queryOptions.currency - The currency for prices.
108
+ * @param queryOptions.includeMarketData - Whether to include market data.
109
+ * @param options - Fetch options including cache settings.
110
+ * @returns The spot prices with market data.
111
+ */
112
+ fetchV2SpotPrices(chainId: string, tokenAddresses: string[], queryOptions?: {
113
+ currency?: SupportedCurrency;
114
+ includeMarketData?: boolean;
115
+ }, options?: FetchOptions): Promise<Record<string, MarketDataDetails>>;
116
+ /**
117
+ * Get spot prices by CAIP-19 asset IDs (v3 endpoint).
118
+ *
119
+ * @param assetIds - Array of CAIP-19 asset IDs.
120
+ * @param queryOptions - Query options.
121
+ * @param queryOptions.currency - The currency for prices.
122
+ * @param queryOptions.includeMarketData - Whether to include market data.
123
+ * @param queryOptions.cacheOnly - Whether to use cache only.
124
+ * @param options - Fetch options including cache settings.
125
+ * @returns The spot prices response.
126
+ */
127
+ fetchV3SpotPrices(assetIds: string[], queryOptions?: {
128
+ currency?: SupportedCurrency;
129
+ includeMarketData?: boolean;
130
+ cacheOnly?: boolean;
131
+ }, options?: FetchOptions): Promise<V3SpotPricesResponse>;
132
+ /**
133
+ * Get historical prices by CoinGecko coin ID (v1 endpoint).
134
+ *
135
+ * @param coinId - The CoinGecko coin ID.
136
+ * @param queryOptions - Query options.
137
+ * @param queryOptions.currency - The currency for prices.
138
+ * @param queryOptions.timePeriod - The time period.
139
+ * @param queryOptions.from - Start timestamp.
140
+ * @param queryOptions.to - End timestamp.
141
+ * @param options - Fetch options including cache settings.
142
+ * @returns The historical prices response.
143
+ */
144
+ fetchV1HistoricalPricesByCoinId(coinId: string, queryOptions?: {
145
+ currency?: SupportedCurrency;
146
+ timePeriod?: string;
147
+ from?: number;
148
+ to?: number;
149
+ }, options?: FetchOptions): Promise<V1HistoricalPricesResponse>;
150
+ /**
151
+ * Get historical prices for tokens on a chain (v1 endpoint).
152
+ *
153
+ * @param chainId - The chain ID (hex format).
154
+ * @param tokenAddresses - Array of token addresses.
155
+ * @param queryOptions - Query options.
156
+ * @param queryOptions.currency - The currency for prices.
157
+ * @param queryOptions.timePeriod - The time period.
158
+ * @param queryOptions.from - Start timestamp.
159
+ * @param queryOptions.to - End timestamp.
160
+ * @param options - Fetch options including cache settings.
161
+ * @returns The historical prices response.
162
+ */
163
+ fetchV1HistoricalPricesByTokenAddresses(chainId: string, tokenAddresses: string[], queryOptions?: {
164
+ currency?: SupportedCurrency;
165
+ timePeriod?: string;
166
+ from?: number;
167
+ to?: number;
168
+ }, options?: FetchOptions): Promise<V1HistoricalPricesResponse>;
169
+ /**
170
+ * Get historical prices for a single token (v1 endpoint).
171
+ *
172
+ * @param chainId - The chain ID (hex format).
173
+ * @param tokenAddress - The token address.
174
+ * @param queryOptions - Query options.
175
+ * @param queryOptions.currency - The currency for prices.
176
+ * @param queryOptions.timeRange - The time range.
177
+ * @param options - Fetch options including cache settings.
178
+ * @returns The historical prices response.
179
+ */
180
+ fetchV1HistoricalPrices(chainId: string, tokenAddress: string, queryOptions?: {
181
+ currency?: SupportedCurrency;
182
+ timeRange?: string;
183
+ }, options?: FetchOptions): Promise<V1HistoricalPricesResponse>;
184
+ /**
185
+ * Get historical prices by CAIP-19 asset ID (v3 endpoint).
186
+ *
187
+ * @param chainId - The CAIP-2 chain ID.
188
+ * @param assetType - The asset type portion of CAIP-19.
189
+ * @param queryOptions - Query options.
190
+ * @param queryOptions.currency - The currency for prices.
191
+ * @param queryOptions.timePeriod - The time period.
192
+ * @param queryOptions.from - Start timestamp.
193
+ * @param queryOptions.to - End timestamp.
194
+ * @param queryOptions.interval - Data interval.
195
+ * @param options - Fetch options including cache settings.
196
+ * @returns The historical prices response.
197
+ */
198
+ fetchV3HistoricalPrices(chainId: string, assetType: string, queryOptions?: {
199
+ currency?: SupportedCurrency;
200
+ timePeriod?: string;
201
+ from?: number;
202
+ to?: number;
203
+ interval?: '5m' | 'hourly' | 'daily';
204
+ }, options?: FetchOptions): Promise<V3HistoricalPricesResponse>;
205
+ /**
206
+ * Get historical price graph data by CoinGecko coin ID (v1 endpoint).
207
+ *
208
+ * @param coinId - The CoinGecko coin ID.
209
+ * @param queryOptions - Query options.
210
+ * @param queryOptions.currency - The currency for prices.
211
+ * @param queryOptions.includeOHLC - Whether to include OHLC data.
212
+ * @param options - Fetch options including cache settings.
213
+ * @returns The historical price graph response.
214
+ */
215
+ fetchV1HistoricalPriceGraphByCoinId(coinId: string, queryOptions?: {
216
+ currency?: SupportedCurrency;
217
+ includeOHLC?: boolean;
218
+ }, options?: FetchOptions): Promise<V3HistoricalPricesResponse>;
219
+ /**
220
+ * Get historical price graph data by token address (v1 endpoint).
221
+ *
222
+ * @param chainId - The chain ID (hex format).
223
+ * @param tokenAddress - The token address.
224
+ * @param queryOptions - Query options.
225
+ * @param queryOptions.currency - The currency for prices.
226
+ * @param queryOptions.includeOHLC - Whether to include OHLC data.
227
+ * @param options - Fetch options including cache settings.
228
+ * @returns The historical price graph response.
229
+ */
230
+ fetchV1HistoricalPriceGraphByTokenAddress(chainId: string, tokenAddress: string, queryOptions?: {
231
+ currency?: SupportedCurrency;
232
+ includeOHLC?: boolean;
233
+ }, options?: FetchOptions): Promise<V3HistoricalPricesResponse>;
234
+ }
235
+ //# sourceMappingURL=client.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.cts","sourceRoot":"","sources":["../../../src/api/prices/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,235 @@
1
+ /**
2
+ * Prices API Client - price.api.cx.metamask.io
3
+ *
4
+ * Handles all price-related API calls including:
5
+ * - Supported networks
6
+ * - Exchange rates
7
+ * - Spot prices (v1, v2, v3)
8
+ * - Historical prices
9
+ * - Price graphs
10
+ */
11
+ import type { CoinGeckoSpotPrice, V1ExchangeRatesResponse, PriceSupportedNetworksResponse, V1HistoricalPricesResponse, V3SpotPricesResponse, V3HistoricalPricesResponse } from "./types.mjs";
12
+ import { BaseApiClient } from "../base-client.mjs";
13
+ import type { FetchOptions, SupportedCurrency, MarketDataDetails } from "../shared-types.mjs";
14
+ /**
15
+ * Prices API Client.
16
+ * Provides methods for interacting with the Price API.
17
+ */
18
+ export declare class PricesApiClient extends BaseApiClient {
19
+ /**
20
+ * Invalidate all price queries.
21
+ */
22
+ invalidatePrices(): Promise<void>;
23
+ /**
24
+ * Get price supported networks (v1 endpoint).
25
+ *
26
+ * @param options - Fetch options including cache settings.
27
+ * @returns The supported networks response.
28
+ */
29
+ fetchPriceV1SupportedNetworks(options?: FetchOptions): Promise<PriceSupportedNetworksResponse>;
30
+ /**
31
+ * Get price supported networks in CAIP format (v2 endpoint).
32
+ *
33
+ * @param options - Fetch options including cache settings.
34
+ * @returns The supported networks response.
35
+ */
36
+ fetchPriceV2SupportedNetworks(options?: FetchOptions): Promise<PriceSupportedNetworksResponse>;
37
+ /**
38
+ * Get all exchange rates for a base currency (v1 endpoint).
39
+ *
40
+ * @param baseCurrency - The base currency code.
41
+ * @param options - Fetch options including cache settings.
42
+ * @returns The exchange rates response.
43
+ */
44
+ fetchV1ExchangeRates(baseCurrency: string, options?: FetchOptions): Promise<V1ExchangeRatesResponse>;
45
+ /**
46
+ * Get fiat exchange rates (v1 endpoint).
47
+ *
48
+ * @param options - Fetch options including cache settings.
49
+ * @returns The exchange rates response.
50
+ */
51
+ fetchV1FiatExchangeRates(options?: FetchOptions): Promise<V1ExchangeRatesResponse>;
52
+ /**
53
+ * Get crypto exchange rates (v1 endpoint).
54
+ *
55
+ * @param options - Fetch options including cache settings.
56
+ * @returns The exchange rates response.
57
+ */
58
+ fetchV1CryptoExchangeRates(options?: FetchOptions): Promise<V1ExchangeRatesResponse>;
59
+ /**
60
+ * Get spot prices by CoinGecko coin IDs (v1 endpoint).
61
+ *
62
+ * @param coinIds - Array of CoinGecko coin IDs.
63
+ * @param options - Fetch options including cache settings.
64
+ * @returns The spot prices by coin ID.
65
+ */
66
+ fetchV1SpotPricesByCoinIds(coinIds: string[], options?: FetchOptions): Promise<Record<string, CoinGeckoSpotPrice>>;
67
+ /**
68
+ * Get spot price for a single CoinGecko coin ID (v1 endpoint).
69
+ *
70
+ * @param coinId - The CoinGecko coin ID.
71
+ * @param currency - The currency for prices.
72
+ * @param options - Fetch options including cache settings.
73
+ * @returns The spot price data.
74
+ */
75
+ fetchV1SpotPriceByCoinId(coinId: string, currency?: SupportedCurrency, options?: FetchOptions): Promise<CoinGeckoSpotPrice>;
76
+ /**
77
+ * Get spot prices for tokens on a chain (v1 endpoint).
78
+ *
79
+ * @param chainId - The chain ID (hex format).
80
+ * @param tokenAddresses - Array of token addresses.
81
+ * @param queryOptions - Query options.
82
+ * @param queryOptions.currency - The currency for prices.
83
+ * @param queryOptions.includeMarketData - Whether to include market data.
84
+ * @param options - Fetch options including cache settings.
85
+ * @returns The token prices by address.
86
+ */
87
+ fetchV1TokenPrices(chainId: string, tokenAddresses: string[], queryOptions?: {
88
+ currency?: SupportedCurrency;
89
+ includeMarketData?: boolean;
90
+ }, options?: FetchOptions): Promise<Record<string, Record<string, number>>>;
91
+ /**
92
+ * Get spot price for a single token (v1 endpoint).
93
+ *
94
+ * @param chainId - The chain ID (hex format).
95
+ * @param tokenAddress - The token address.
96
+ * @param currency - The currency for prices.
97
+ * @param options - Fetch options including cache settings.
98
+ * @returns The market data or undefined.
99
+ */
100
+ fetchV1TokenPrice(chainId: string, tokenAddress: string, currency?: SupportedCurrency, options?: FetchOptions): Promise<MarketDataDetails | undefined>;
101
+ /**
102
+ * Get spot prices for tokens on a chain with market data (v2 endpoint).
103
+ *
104
+ * @param chainId - The chain ID (hex format).
105
+ * @param tokenAddresses - Array of token addresses.
106
+ * @param queryOptions - Query options.
107
+ * @param queryOptions.currency - The currency for prices.
108
+ * @param queryOptions.includeMarketData - Whether to include market data.
109
+ * @param options - Fetch options including cache settings.
110
+ * @returns The spot prices with market data.
111
+ */
112
+ fetchV2SpotPrices(chainId: string, tokenAddresses: string[], queryOptions?: {
113
+ currency?: SupportedCurrency;
114
+ includeMarketData?: boolean;
115
+ }, options?: FetchOptions): Promise<Record<string, MarketDataDetails>>;
116
+ /**
117
+ * Get spot prices by CAIP-19 asset IDs (v3 endpoint).
118
+ *
119
+ * @param assetIds - Array of CAIP-19 asset IDs.
120
+ * @param queryOptions - Query options.
121
+ * @param queryOptions.currency - The currency for prices.
122
+ * @param queryOptions.includeMarketData - Whether to include market data.
123
+ * @param queryOptions.cacheOnly - Whether to use cache only.
124
+ * @param options - Fetch options including cache settings.
125
+ * @returns The spot prices response.
126
+ */
127
+ fetchV3SpotPrices(assetIds: string[], queryOptions?: {
128
+ currency?: SupportedCurrency;
129
+ includeMarketData?: boolean;
130
+ cacheOnly?: boolean;
131
+ }, options?: FetchOptions): Promise<V3SpotPricesResponse>;
132
+ /**
133
+ * Get historical prices by CoinGecko coin ID (v1 endpoint).
134
+ *
135
+ * @param coinId - The CoinGecko coin ID.
136
+ * @param queryOptions - Query options.
137
+ * @param queryOptions.currency - The currency for prices.
138
+ * @param queryOptions.timePeriod - The time period.
139
+ * @param queryOptions.from - Start timestamp.
140
+ * @param queryOptions.to - End timestamp.
141
+ * @param options - Fetch options including cache settings.
142
+ * @returns The historical prices response.
143
+ */
144
+ fetchV1HistoricalPricesByCoinId(coinId: string, queryOptions?: {
145
+ currency?: SupportedCurrency;
146
+ timePeriod?: string;
147
+ from?: number;
148
+ to?: number;
149
+ }, options?: FetchOptions): Promise<V1HistoricalPricesResponse>;
150
+ /**
151
+ * Get historical prices for tokens on a chain (v1 endpoint).
152
+ *
153
+ * @param chainId - The chain ID (hex format).
154
+ * @param tokenAddresses - Array of token addresses.
155
+ * @param queryOptions - Query options.
156
+ * @param queryOptions.currency - The currency for prices.
157
+ * @param queryOptions.timePeriod - The time period.
158
+ * @param queryOptions.from - Start timestamp.
159
+ * @param queryOptions.to - End timestamp.
160
+ * @param options - Fetch options including cache settings.
161
+ * @returns The historical prices response.
162
+ */
163
+ fetchV1HistoricalPricesByTokenAddresses(chainId: string, tokenAddresses: string[], queryOptions?: {
164
+ currency?: SupportedCurrency;
165
+ timePeriod?: string;
166
+ from?: number;
167
+ to?: number;
168
+ }, options?: FetchOptions): Promise<V1HistoricalPricesResponse>;
169
+ /**
170
+ * Get historical prices for a single token (v1 endpoint).
171
+ *
172
+ * @param chainId - The chain ID (hex format).
173
+ * @param tokenAddress - The token address.
174
+ * @param queryOptions - Query options.
175
+ * @param queryOptions.currency - The currency for prices.
176
+ * @param queryOptions.timeRange - The time range.
177
+ * @param options - Fetch options including cache settings.
178
+ * @returns The historical prices response.
179
+ */
180
+ fetchV1HistoricalPrices(chainId: string, tokenAddress: string, queryOptions?: {
181
+ currency?: SupportedCurrency;
182
+ timeRange?: string;
183
+ }, options?: FetchOptions): Promise<V1HistoricalPricesResponse>;
184
+ /**
185
+ * Get historical prices by CAIP-19 asset ID (v3 endpoint).
186
+ *
187
+ * @param chainId - The CAIP-2 chain ID.
188
+ * @param assetType - The asset type portion of CAIP-19.
189
+ * @param queryOptions - Query options.
190
+ * @param queryOptions.currency - The currency for prices.
191
+ * @param queryOptions.timePeriod - The time period.
192
+ * @param queryOptions.from - Start timestamp.
193
+ * @param queryOptions.to - End timestamp.
194
+ * @param queryOptions.interval - Data interval.
195
+ * @param options - Fetch options including cache settings.
196
+ * @returns The historical prices response.
197
+ */
198
+ fetchV3HistoricalPrices(chainId: string, assetType: string, queryOptions?: {
199
+ currency?: SupportedCurrency;
200
+ timePeriod?: string;
201
+ from?: number;
202
+ to?: number;
203
+ interval?: '5m' | 'hourly' | 'daily';
204
+ }, options?: FetchOptions): Promise<V3HistoricalPricesResponse>;
205
+ /**
206
+ * Get historical price graph data by CoinGecko coin ID (v1 endpoint).
207
+ *
208
+ * @param coinId - The CoinGecko coin ID.
209
+ * @param queryOptions - Query options.
210
+ * @param queryOptions.currency - The currency for prices.
211
+ * @param queryOptions.includeOHLC - Whether to include OHLC data.
212
+ * @param options - Fetch options including cache settings.
213
+ * @returns The historical price graph response.
214
+ */
215
+ fetchV1HistoricalPriceGraphByCoinId(coinId: string, queryOptions?: {
216
+ currency?: SupportedCurrency;
217
+ includeOHLC?: boolean;
218
+ }, options?: FetchOptions): Promise<V3HistoricalPricesResponse>;
219
+ /**
220
+ * Get historical price graph data by token address (v1 endpoint).
221
+ *
222
+ * @param chainId - The chain ID (hex format).
223
+ * @param tokenAddress - The token address.
224
+ * @param queryOptions - Query options.
225
+ * @param queryOptions.currency - The currency for prices.
226
+ * @param queryOptions.includeOHLC - Whether to include OHLC data.
227
+ * @param options - Fetch options including cache settings.
228
+ * @returns The historical price graph response.
229
+ */
230
+ fetchV1HistoricalPriceGraphByTokenAddress(chainId: string, tokenAddress: string, queryOptions?: {
231
+ currency?: SupportedCurrency;
232
+ includeOHLC?: boolean;
233
+ }, options?: FetchOptions): Promise<V3HistoricalPricesResponse>;
234
+ }
235
+ //# sourceMappingURL=client.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.mts","sourceRoot":"","sources":["../../../src/api/prices/client.ts"],"names":[],"mappings":"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"}