@missionsquad/mcp-defillama 1.0.0 → 1.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.
@@ -1,74 +1,91 @@
1
1
  /**
2
2
  * DefiLlama API Client
3
- * Provides methods to interact with the DefiLlama API
3
+ * Provides methods to interact with the free (keyless) DefiLlama API.
4
+ *
5
+ * DefiLlama splits its free API across a few category-specific hosts. The
6
+ * canonical routing is:
7
+ * - TVL, DEX/options volume, fees/revenue, open interest -> api.llama.fi
8
+ * - Coins / prices / blocks -> coins.llama.fi
9
+ * - Stablecoins -> stablecoins.llama.fi
10
+ * - Yields / pools -> yields.llama.fi
4
11
  */
5
- const DEFILLAMA_API_BASE_URL = "https://api.llama.fi";
12
+ export const DEFILLAMA_HOSTS = {
13
+ api: "https://api.llama.fi",
14
+ coins: "https://coins.llama.fi",
15
+ stablecoins: "https://stablecoins.llama.fi",
16
+ yields: "https://yields.llama.fi",
17
+ };
6
18
  export class DefiLlamaClient {
7
- constructor(baseUrl = DEFILLAMA_API_BASE_URL) {
8
- this.baseUrl = baseUrl;
9
- }
10
19
  /**
11
- * Makes a GET request to the DefiLlama API
20
+ * Makes a GET request to one of the DefiLlama hosts.
12
21
  */
13
- async get(endpoint) {
14
- const response = await fetch(`${this.baseUrl}${endpoint}`);
22
+ async request(host, path, query) {
23
+ let url = `${host}${path}`;
24
+ if (query) {
25
+ const params = new URLSearchParams();
26
+ for (const [key, value] of Object.entries(query)) {
27
+ if (value !== undefined) {
28
+ params.append(key, String(value));
29
+ }
30
+ }
31
+ const queryString = params.toString();
32
+ if (queryString) {
33
+ url += `?${queryString}`;
34
+ }
35
+ }
36
+ const response = await fetch(url);
15
37
  if (!response.ok) {
16
38
  const errorText = await response.text();
17
39
  throw new Error(`DefiLlama API error: ${response.status} ${response.statusText} - ${errorText}`);
18
40
  }
19
41
  return await response.json();
20
42
  }
21
- /**
22
- * Get all protocols
23
- */
43
+ /** Joins coin identifiers into the comma-separated form DefiLlama expects. */
44
+ joinCoins(coins) {
45
+ if (!coins || coins.length === 0) {
46
+ throw new Error("At least one coin is required");
47
+ }
48
+ return coins.join(",");
49
+ }
50
+ // ---------------------------------------------------------------------------
51
+ // TVL
52
+ // ---------------------------------------------------------------------------
53
+ /** GET /protocols — list all protocols. */
24
54
  async getProtocols() {
25
- return this.get('/protocols');
55
+ return this.request(DEFILLAMA_HOSTS.api, "/protocols");
26
56
  }
27
- /**
28
- * Get TVL data for a specific protocol
29
- */
57
+ /** GET /protocol/{protocol} — full TVL breakdown for a protocol. */
30
58
  async getProtocolTvl(protocol) {
31
59
  if (!protocol) {
32
60
  throw new Error("Protocol name is required");
33
61
  }
34
- // Get the protocol data
35
- const data = await this.get(`/protocol/${protocol}`);
36
- // Ensure tvlList exists for compatibility with tests
62
+ const data = await this.request(DEFILLAMA_HOSTS.api, `/protocol/${protocol}`);
63
+ // Ensure tvlList exists for downstream consumers that expect a series.
37
64
  if (!data.tvlList && data.tvl) {
38
- // If tvlList is missing but we have historical data, create it
39
- if (data.chainTvls && Object.keys(data.chainTvls).length > 0) {
40
- data.tvlList = [{
41
- date: Math.floor(Date.now() / 1000),
42
- totalLiquidityUSD: data.tvl
43
- }];
44
- }
45
- else {
46
- // Create a minimal tvlList with current TVL
47
- data.tvlList = [
48
- {
49
- date: Math.floor(Date.now() / 1000),
50
- totalLiquidityUSD: data.tvl
51
- }
52
- ];
53
- }
65
+ data.tvlList = [{
66
+ date: Math.floor(Date.now() / 1000),
67
+ totalLiquidityUSD: data.tvl,
68
+ }];
54
69
  }
55
70
  return data;
56
71
  }
57
- /**
58
- * Get historical TVL data for a specific chain
59
- */
72
+ /** GET /v2/historicalChainTvl — historical TVL across all chains. */
73
+ async getHistoricalChainTvl() {
74
+ return this.request(DEFILLAMA_HOSTS.api, "/v2/historicalChainTvl");
75
+ }
76
+ /** GET /v2/historicalChainTvl/{chain} — historical TVL for one chain. */
60
77
  async getChainTvl(chain) {
61
78
  if (!chain) {
62
79
  throw new Error("Chain name is required");
63
80
  }
64
- const data = await this.get(`/v2/historicalChainTvl/${chain}`);
65
- // Ensure each item has totalLiquidityUSD for compatibility with tests
81
+ const data = await this.request(DEFILLAMA_HOSTS.api, `/v2/historicalChainTvl/${chain}`);
82
+ // Normalize so each item exposes totalLiquidityUSD.
66
83
  if (Array.isArray(data)) {
67
84
  return data.map(item => {
68
85
  if (!item.totalLiquidityUSD && (item.tvl || item.totalLiquidityETH)) {
69
86
  return {
70
87
  ...item,
71
- totalLiquidityUSD: item.tvl || item.totalLiquidityETH || 0
88
+ totalLiquidityUSD: item.tvl || item.totalLiquidityETH || 0,
72
89
  };
73
90
  }
74
91
  return item;
@@ -76,140 +93,180 @@ export class DefiLlamaClient {
76
93
  }
77
94
  return data;
78
95
  }
79
- /**
80
- * Get current prices for specified tokens/coins
81
- */
82
- async getTokenPrices(coins) {
83
- if (!coins || coins.length === 0) {
84
- throw new Error("At least one coin is required");
96
+ /** GET /tvl/{protocol} — current TVL of a protocol as a single number. */
97
+ async getCurrentProtocolTvl(protocol) {
98
+ if (!protocol) {
99
+ throw new Error("Protocol name is required");
85
100
  }
86
- try {
87
- const coinsParam = coins.join(',');
88
- const data = await this.get(`/prices/current/${coinsParam}`);
89
- return data;
90
- }
91
- catch (error) {
92
- // If the API returns an error, return a mock response for compatibility with tests
93
- console.warn("Error fetching token prices, returning mock data:", error);
94
- const result = { coins: {} };
95
- coins.forEach(coin => {
96
- result.coins[coin] = {
97
- price: 100 + Math.random() * 900,
98
- symbol: coin.split(':').pop() || 'MOCK',
99
- timestamp: Math.floor(Date.now() / 1000),
100
- confidence: 0.99
101
- };
102
- });
103
- return result;
101
+ return this.request(DEFILLAMA_HOSTS.api, `/tvl/${protocol}`);
102
+ }
103
+ /** GET /v2/chains current TVL of all chains. */
104
+ async getChains() {
105
+ return this.request(DEFILLAMA_HOSTS.api, "/v2/chains");
106
+ }
107
+ // ---------------------------------------------------------------------------
108
+ // Coins / Prices
109
+ // ---------------------------------------------------------------------------
110
+ /** GET /prices/current/{coins} — current prices for the given coins. */
111
+ async getTokenPrices(coins) {
112
+ return this.request(DEFILLAMA_HOSTS.coins, `/prices/current/${this.joinCoins(coins)}`);
113
+ }
114
+ /** GET /prices/historical/{timestamp}/{coins} — prices at a timestamp. */
115
+ async getHistoricalPrices(coins, timestamp) {
116
+ const coinsParam = this.joinCoins(coins);
117
+ if (!timestamp) {
118
+ throw new Error("Timestamp is required");
104
119
  }
120
+ return this.request(DEFILLAMA_HOSTS.coins, `/prices/historical/${timestamp}/${coinsParam}`);
105
121
  }
106
122
  /**
107
- * Get historical prices for specified tokens/coins at a specific timestamp
123
+ * GET /batchHistorical — historical prices for many coins at many timestamps.
124
+ * @param coins Map of coin identifier to an array of UNIX timestamps.
108
125
  */
109
- async getHistoricalPrices(coins, timestamp) {
110
- if (!coins || coins.length === 0) {
126
+ async getBatchHistoricalPrices(coins, searchWidth) {
127
+ if (!coins || Object.keys(coins).length === 0) {
111
128
  throw new Error("At least one coin is required");
112
129
  }
130
+ return this.request(DEFILLAMA_HOSTS.coins, "/batchHistorical", {
131
+ coins: JSON.stringify(coins),
132
+ searchWidth,
133
+ });
134
+ }
135
+ /** GET /chart/{coins} — price chart for the given coins. */
136
+ async getPriceChart(coins, options = {}) {
137
+ return this.request(DEFILLAMA_HOSTS.coins, `/chart/${this.joinCoins(coins)}`, { ...options });
138
+ }
139
+ /** GET /percentage/{coins} — percentage price change for the given coins. */
140
+ async getPricePercentageChange(coins, options = {}) {
141
+ return this.request(DEFILLAMA_HOSTS.coins, `/percentage/${this.joinCoins(coins)}`, { ...options });
142
+ }
143
+ /** GET /prices/first/{coins} — earliest recorded price for the given coins. */
144
+ async getFirstPrices(coins) {
145
+ return this.request(DEFILLAMA_HOSTS.coins, `/prices/first/${this.joinCoins(coins)}`);
146
+ }
147
+ /** GET /block/{chain}/{timestamp} — closest block to a timestamp on a chain. */
148
+ async getBlock(chain, timestamp) {
149
+ if (!chain) {
150
+ throw new Error("Chain name is required");
151
+ }
113
152
  if (!timestamp) {
114
153
  throw new Error("Timestamp is required");
115
154
  }
116
- try {
117
- const coinsParam = coins.join(',');
118
- const data = await this.get(`/prices/historical/${timestamp}/${coinsParam}`);
119
- return data;
120
- }
121
- catch (error) {
122
- // If the API returns an error, return a mock response for compatibility with tests
123
- console.warn("Error fetching historical prices, returning mock data:", error);
124
- const result = { coins: {} };
125
- coins.forEach(coin => {
126
- result.coins[coin] = {
127
- price: 100 + Math.random() * 900,
128
- symbol: coin.split(':').pop() || 'MOCK',
129
- timestamp: timestamp,
130
- confidence: 0.95
131
- };
132
- });
133
- return result;
134
- }
155
+ return this.request(DEFILLAMA_HOSTS.coins, `/block/${chain}/${timestamp}`);
135
156
  }
136
- /**
137
- * Get all stablecoins data
138
- */
139
- async getStablecoins() {
140
- try {
141
- return await this.get('/stablecoins');
142
- }
143
- catch (error) {
144
- // If the API returns an error, return a mock response for compatibility with tests
145
- console.warn("Error fetching stablecoins, returning mock data:", error);
146
- return {
147
- peggedAssets: [
148
- {
149
- id: "1",
150
- name: "USD Coin",
151
- symbol: "USDC",
152
- price: 1.0,
153
- circulating: {
154
- peggedUSD: 1000000000
155
- },
156
- chainCirculating: {
157
- ethereum: {
158
- peggedUSD: 800000000
159
- },
160
- polygon: {
161
- peggedUSD: 200000000
162
- }
163
- }
164
- }
165
- ]
166
- };
157
+ // ---------------------------------------------------------------------------
158
+ // Stablecoins
159
+ // ---------------------------------------------------------------------------
160
+ /** GET /stablecoins — list all stablecoins with circulating amounts. */
161
+ async getStablecoins(includePrices) {
162
+ return this.request(DEFILLAMA_HOSTS.stablecoins, "/stablecoins", { includePrices });
163
+ }
164
+ /** GET /stablecoincharts/all — historical mcap sum of all stablecoins. */
165
+ async getStablecoinChartsAll(stablecoin) {
166
+ return this.request(DEFILLAMA_HOSTS.stablecoins, "/stablecoincharts/all", { stablecoin });
167
+ }
168
+ /** GET /stablecoincharts/{chain} — historical mcap of stablecoins on a chain. */
169
+ async getStablecoinChartsChain(chain, stablecoin) {
170
+ if (!chain) {
171
+ throw new Error("Chain name is required");
167
172
  }
173
+ return this.request(DEFILLAMA_HOSTS.stablecoins, `/stablecoincharts/${chain}`, { stablecoin });
168
174
  }
169
- /**
170
- * Get data for a specific stablecoin
171
- */
175
+ /** GET /stablecoin/{asset} — historical data for a single stablecoin. */
172
176
  async getStablecoinData(asset) {
173
177
  if (!asset) {
174
178
  throw new Error("Asset name is required");
175
179
  }
176
- try {
177
- return await this.get(`/stablecoin/${asset}`);
178
- }
179
- catch (error) {
180
- // If the API returns an error, return a mock response for compatibility with tests
181
- console.warn(`Error fetching stablecoin data for ${asset}, returning mock data:`, error);
182
- return {
183
- id: asset,
184
- name: `${asset}`,
185
- symbol: asset.toUpperCase(),
186
- price: 1.0,
187
- circulating: {
188
- peggedUSD: 1000000000
189
- },
190
- chainCirculating: {
191
- ethereum: {
192
- peggedUSD: 800000000
193
- },
194
- polygon: {
195
- peggedUSD: 200000000
196
- }
197
- },
198
- pegType: "peggedUSD",
199
- priceSource: "oracle",
200
- pegMechanism: "algorithmic",
201
- circulating7dAgo: {
202
- peggedUSD: 950000000
203
- },
204
- circulatingPrevDay: {
205
- peggedUSD: 980000000
206
- },
207
- circulatingPrevWeek: {
208
- peggedUSD: 950000000
209
- },
210
- delisted: false
211
- };
180
+ return this.request(DEFILLAMA_HOSTS.stablecoins, `/stablecoin/${asset}`);
181
+ }
182
+ /** GET /stablecoinchains — current stablecoin totals per chain. */
183
+ async getStablecoinChains() {
184
+ return this.request(DEFILLAMA_HOSTS.stablecoins, "/stablecoinchains");
185
+ }
186
+ /** GET /stablecoinprices — historical stablecoin prices. */
187
+ async getStablecoinPrices() {
188
+ return this.request(DEFILLAMA_HOSTS.stablecoins, "/stablecoinprices");
189
+ }
190
+ // ---------------------------------------------------------------------------
191
+ // Yields / APY
192
+ // ---------------------------------------------------------------------------
193
+ /** GET /pools — latest data for all yield pools. */
194
+ async getPools() {
195
+ return this.request(DEFILLAMA_HOSTS.yields, "/pools");
196
+ }
197
+ /** GET /chart/{pool} — historical APY and TVL for a pool. */
198
+ async getPoolChart(pool) {
199
+ if (!pool) {
200
+ throw new Error("Pool ID is required");
201
+ }
202
+ return this.request(DEFILLAMA_HOSTS.yields, `/chart/${pool}`);
203
+ }
204
+ // ---------------------------------------------------------------------------
205
+ // DEX / Options volume
206
+ // ---------------------------------------------------------------------------
207
+ /** GET /overview/dexs — DEX volume overview across all chains. */
208
+ async getDexsOverview(options = {}) {
209
+ return this.request(DEFILLAMA_HOSTS.api, "/overview/dexs", { ...options });
210
+ }
211
+ /** GET /overview/dexs/{chain} — DEX volume overview for a chain. */
212
+ async getDexsOverviewByChain(chain, options = {}) {
213
+ if (!chain) {
214
+ throw new Error("Chain name is required");
215
+ }
216
+ return this.request(DEFILLAMA_HOSTS.api, `/overview/dexs/${chain}`, { ...options });
217
+ }
218
+ /** GET /summary/dexs/{protocol} — DEX volume summary for a protocol. */
219
+ async getDexSummary(protocol, options = {}) {
220
+ if (!protocol) {
221
+ throw new Error("Protocol name is required");
222
+ }
223
+ return this.request(DEFILLAMA_HOSTS.api, `/summary/dexs/${protocol}`, { ...options });
224
+ }
225
+ /** GET /overview/options — options volume overview across all chains. */
226
+ async getOptionsOverview(options = {}) {
227
+ return this.request(DEFILLAMA_HOSTS.api, "/overview/options", { ...options });
228
+ }
229
+ /** GET /overview/options/{chain} — options volume overview for a chain. */
230
+ async getOptionsOverviewByChain(chain, options = {}) {
231
+ if (!chain) {
232
+ throw new Error("Chain name is required");
233
+ }
234
+ return this.request(DEFILLAMA_HOSTS.api, `/overview/options/${chain}`, { ...options });
235
+ }
236
+ /** GET /summary/options/{protocol} — options volume summary for a protocol. */
237
+ async getOptionSummary(protocol, options = {}) {
238
+ if (!protocol) {
239
+ throw new Error("Protocol name is required");
240
+ }
241
+ return this.request(DEFILLAMA_HOSTS.api, `/summary/options/${protocol}`, { ...options });
242
+ }
243
+ // ---------------------------------------------------------------------------
244
+ // Perps / Open interest
245
+ // ---------------------------------------------------------------------------
246
+ /** GET /overview/open-interest — perps open interest overview. */
247
+ async getOpenInterestOverview(options = {}) {
248
+ return this.request(DEFILLAMA_HOSTS.api, "/overview/open-interest", { ...options });
249
+ }
250
+ // ---------------------------------------------------------------------------
251
+ // Fees / Revenue
252
+ // ---------------------------------------------------------------------------
253
+ /** GET /overview/fees — fees/revenue overview across all chains. */
254
+ async getFeesOverview(options = {}) {
255
+ return this.request(DEFILLAMA_HOSTS.api, "/overview/fees", { ...options });
256
+ }
257
+ /** GET /overview/fees/{chain} — fees/revenue overview for a chain. */
258
+ async getFeesOverviewByChain(chain, options = {}) {
259
+ if (!chain) {
260
+ throw new Error("Chain name is required");
261
+ }
262
+ return this.request(DEFILLAMA_HOSTS.api, `/overview/fees/${chain}`, { ...options });
263
+ }
264
+ /** GET /summary/fees/{protocol} — fees/revenue summary for a protocol. */
265
+ async getFeeSummary(protocol, options = {}) {
266
+ if (!protocol) {
267
+ throw new Error("Protocol name is required");
212
268
  }
269
+ return this.request(DEFILLAMA_HOSTS.api, `/summary/fees/${protocol}`, { ...options });
213
270
  }
214
271
  }
215
272
  // Export a singleton instance for use throughout the application
@@ -1 +1 @@
1
- {"version":3,"file":"defillama.client.js","sourceRoot":"","sources":["../../src/clients/defillama.client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defillama.client.js","sourceRoot":"","sources":["../../src/clients/defillama.client.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,13 @@
2
2
  * Mock DefiLlama API Client for testing
3
3
  * Provides mock implementations of the DefiLlama API methods
4
4
  */
5
- import { DefiLlamaClient, Protocol, ProtocolTvl, ChainTvlItem, TokenPricesResponse, StablecoinsResponse, StablecoinData } from "./defillama.client.js";
5
+ import { DefiLlamaClient, Protocol, ProtocolTvl, ChainTvlItem, TokenPricesResponse, StablecoinsResponse, StablecoinData, QueryParams } from "./defillama.client.js";
6
6
  export declare class MockDefiLlamaClient extends DefiLlamaClient {
7
- constructor();
7
+ /**
8
+ * Generic stub for every endpoint that isn't given a bespoke mock below.
9
+ * Keeps test mode (TEST_MODE=true) fully offline for the newer endpoints.
10
+ */
11
+ protected request<T>(host: string, path: string, _query?: QueryParams): Promise<T>;
8
12
  /**
9
13
  * Mock implementation of getProtocols
10
14
  */
@@ -4,8 +4,12 @@
4
4
  */
5
5
  import { DefiLlamaClient } from "./defillama.client.js";
6
6
  export class MockDefiLlamaClient extends DefiLlamaClient {
7
- constructor() {
8
- super("mock://api.llama.fi"); // Using a mock URL prefix to make it clear this is a mock
7
+ /**
8
+ * Generic stub for every endpoint that isn't given a bespoke mock below.
9
+ * Keeps test mode (TEST_MODE=true) fully offline for the newer endpoints.
10
+ */
11
+ async request(host, path, _query) {
12
+ return { mock: true, host, path };
9
13
  }
10
14
  /**
11
15
  * Mock implementation of getProtocols
@@ -1 +1 @@
1
- {"version":3,"file":"defillama.mock.client.js","sourceRoot":"","sources":["../../src/clients/defillama.mock.client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defillama.mock.client.js","sourceRoot":"","sources":["../../src/clients/defillama.mock.client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,eAAe,EAQhB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IACtD;;;OAGG;IACO,KAAK,CAAC,OAAO,CAAI,IAAY,EAAE,IAAY,EAAE,MAAoB;QACzE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAkB,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,OAAO;YACL;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,UAAU;gBACf,KAAK,EAAE,UAAU;gBACjB,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,CAAC,IAAI;gBAChB,MAAM,EAAE,CAAC,UAAU,CAAC;gBACpB,MAAM,EAAE,aAAa;gBACrB,GAAG,EAAE,2BAA2B;gBAChC,WAAW,EAAE,yBAAyB;gBACtC,IAAI,EAAE,oCAAoC;gBAC1C,SAAS,EAAE;oBACT,QAAQ,EAAE,UAAU;iBACrB;aACF;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,SAAS;gBACd,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,KAAK;gBACf,SAAS,EAAE,CAAC,IAAI;gBAChB,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,CAAC,SAAS,CAAC;gBACnB,MAAM,EAAE,aAAa;gBACrB,GAAG,EAAE,2BAA2B;gBAChC,WAAW,EAAE,qBAAqB;gBAClC,IAAI,EAAE,oCAAoC;gBAC1C,SAAS,EAAE;oBACT,OAAO,EAAE,SAAS;iBACnB;aACF;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,QAAgB;QACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAE7C,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,2BAA2B;YAChC,WAAW,EAAE,6BAA6B;YAC1C,GAAG,EAAE,UAAU;YACf,WAAW,EAAE;gBACX;oBACE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;oBAC9C,MAAM,EAAE;wBACN,QAAQ,EAAE,SAAS;wBACnB,QAAQ,EAAE,SAAS;qBACpB;iBACF;aACF;YACD,MAAM,EAAE;gBACN,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;gBAChD,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;aACjD;YACD,SAAS,EAAE;gBACT,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,SAAS;aACnB;YACD,cAAc,EAAE;gBACd,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,IAAI;aACd;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;oBAC5C,iBAAiB,EAAE,SAAS;iBAC7B;gBACD;oBACE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;oBAC9C,iBAAiB,EAAE,UAAU;iBAC9B;aACF;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAE9C,OAAO;YACL;gBACE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;gBAC7C,iBAAiB,EAAE,UAAU;aAC9B;YACD;gBACE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;gBAC5C,iBAAiB,EAAE,UAAU;aAC9B;YACD;gBACE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;gBAC9C,iBAAiB,EAAE,UAAU;aAC9B;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,KAAe;QAClC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,MAAM,GAAwB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAElD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;gBACnB,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG;gBAChC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,MAAM;gBACvC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBACxC,UAAU,EAAE,IAAI;aACjB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,KAAe,EAAE,SAAiB;QAC1D,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,MAAM,GAAwB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAElD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;gBACnB,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG;gBAChC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,MAAM;gBACvC,SAAS,EAAE,SAAS;gBACpB,UAAU,EAAE,IAAI;aACjB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,OAAO;YACL,YAAY,EAAE;gBACZ;oBACE,EAAE,EAAE,GAAG;oBACP,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,MAAM;oBACd,KAAK,EAAE,GAAG;oBACV,WAAW,EAAE;wBACX,SAAS,EAAE,UAAU;qBACtB;oBACD,gBAAgB,EAAE;wBAChB,QAAQ,EAAE;4BACR,SAAS,EAAE,SAAS;yBACrB;wBACD,OAAO,EAAE;4BACP,SAAS,EAAE,SAAS;yBACrB;qBACF;iBACF;gBACD;oBACE,EAAE,EAAE,GAAG;oBACP,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,MAAM;oBACd,KAAK,EAAE,GAAG;oBACV,WAAW,EAAE;wBACX,SAAS,EAAE,SAAS;qBACrB;oBACD,gBAAgB,EAAE;wBAChB,QAAQ,EAAE;4BACR,SAAS,EAAE,SAAS;yBACrB;wBACD,OAAO,EAAE;4BACP,SAAS,EAAE,SAAS;yBACrB;qBACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,KAAa;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAE/B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,QAAQ,KAAK,EAAE;YACrB,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE;YAC3B,KAAK,EAAE,GAAG;YACV,WAAW,EAAE;gBACX,SAAS,EAAE,UAAU;aACtB;YACD,gBAAgB,EAAE;gBAChB,QAAQ,EAAE;oBACR,SAAS,EAAE,SAAS;iBACrB;gBACD,OAAO,EAAE;oBACP,SAAS,EAAE,SAAS;iBACrB;aACF;YACD,OAAO,EAAE,WAAW;YACpB,WAAW,EAAE,aAAa;YAC1B,YAAY,EAAE,aAAa;YAC3B,gBAAgB,EAAE;gBAChB,SAAS,EAAE,SAAS;aACrB;YACD,kBAAkB,EAAE;gBAClB,SAAS,EAAE,SAAS;aACrB;YACD,mBAAmB,EAAE;gBACnB,SAAS,EAAE,SAAS;aACrB;YACD,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;CACF;AAED,iEAAiE;AACjE,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAC"}
@@ -1,9 +1,33 @@
1
1
  import { ToolResultSchema } from "../types.js";
2
- import { GetProtocolsInput, GetProtocolTvlInput, GetChainTvlInput, GetTokenPricesInput, GetHistoricalPricesInput, GetStablecoinsInput, GetStablecoinDataInput } from "./defillama.types.js";
3
- export declare const getProtocolsHandler: (input: GetProtocolsInput) => Promise<ToolResultSchema>;
2
+ import { GetProtocolsInput, GetProtocolTvlInput, GetHistoricalChainTvlInput, GetChainTvlInput, GetCurrentProtocolTvlInput, GetChainsInput, GetTokenPricesInput, GetHistoricalPricesInput, GetBatchHistoricalPricesInput, GetPriceChartInput, GetPricePercentageChangeInput, GetFirstPricesInput, GetBlockInput, GetStablecoinsInput, GetStablecoinChartsAllInput, GetStablecoinChartsChainInput, GetStablecoinDataInput, GetStablecoinChainsInput, GetStablecoinPricesInput, GetPoolsInput, GetPoolChartInput, GetDexsOverviewInput, GetDexsOverviewByChainInput, GetDexSummaryInput, GetOptionsOverviewInput, GetOptionsOverviewByChainInput, GetOptionSummaryInput, GetOpenInterestOverviewInput, GetFeesOverviewInput, GetFeesOverviewByChainInput, GetFeeSummaryInput } from "./defillama.types.js";
3
+ export declare const getProtocolsHandler: (_input: GetProtocolsInput) => Promise<ToolResultSchema>;
4
4
  export declare const getProtocolTvlHandler: (input: GetProtocolTvlInput) => Promise<ToolResultSchema>;
5
+ export declare const getHistoricalChainTvlHandler: (_input: GetHistoricalChainTvlInput) => Promise<ToolResultSchema>;
5
6
  export declare const getChainTvlHandler: (input: GetChainTvlInput) => Promise<ToolResultSchema>;
7
+ export declare const getCurrentProtocolTvlHandler: (input: GetCurrentProtocolTvlInput) => Promise<ToolResultSchema>;
8
+ export declare const getChainsHandler: (_input: GetChainsInput) => Promise<ToolResultSchema>;
6
9
  export declare const getTokenPricesHandler: (input: GetTokenPricesInput) => Promise<ToolResultSchema>;
7
10
  export declare const getHistoricalPricesHandler: (input: GetHistoricalPricesInput) => Promise<ToolResultSchema>;
11
+ export declare const getBatchHistoricalPricesHandler: (input: GetBatchHistoricalPricesInput) => Promise<ToolResultSchema>;
12
+ export declare const getPriceChartHandler: (input: GetPriceChartInput) => Promise<ToolResultSchema>;
13
+ export declare const getPricePercentageChangeHandler: (input: GetPricePercentageChangeInput) => Promise<ToolResultSchema>;
14
+ export declare const getFirstPricesHandler: (input: GetFirstPricesInput) => Promise<ToolResultSchema>;
15
+ export declare const getBlockHandler: (input: GetBlockInput) => Promise<ToolResultSchema>;
8
16
  export declare const getStablecoinsHandler: (input: GetStablecoinsInput) => Promise<ToolResultSchema>;
17
+ export declare const getStablecoinChartsAllHandler: (input: GetStablecoinChartsAllInput) => Promise<ToolResultSchema>;
18
+ export declare const getStablecoinChartsChainHandler: (input: GetStablecoinChartsChainInput) => Promise<ToolResultSchema>;
9
19
  export declare const getStablecoinDataHandler: (input: GetStablecoinDataInput) => Promise<ToolResultSchema>;
20
+ export declare const getStablecoinChainsHandler: (_input: GetStablecoinChainsInput) => Promise<ToolResultSchema>;
21
+ export declare const getStablecoinPricesHandler: (_input: GetStablecoinPricesInput) => Promise<ToolResultSchema>;
22
+ export declare const getPoolsHandler: (_input: GetPoolsInput) => Promise<ToolResultSchema>;
23
+ export declare const getPoolChartHandler: (input: GetPoolChartInput) => Promise<ToolResultSchema>;
24
+ export declare const getDexsOverviewHandler: (input: GetDexsOverviewInput) => Promise<ToolResultSchema>;
25
+ export declare const getDexsOverviewByChainHandler: (input: GetDexsOverviewByChainInput) => Promise<ToolResultSchema>;
26
+ export declare const getDexSummaryHandler: (input: GetDexSummaryInput) => Promise<ToolResultSchema>;
27
+ export declare const getOptionsOverviewHandler: (input: GetOptionsOverviewInput) => Promise<ToolResultSchema>;
28
+ export declare const getOptionsOverviewByChainHandler: (input: GetOptionsOverviewByChainInput) => Promise<ToolResultSchema>;
29
+ export declare const getOptionSummaryHandler: (input: GetOptionSummaryInput) => Promise<ToolResultSchema>;
30
+ export declare const getOpenInterestOverviewHandler: (input: GetOpenInterestOverviewInput) => Promise<ToolResultSchema>;
31
+ export declare const getFeesOverviewHandler: (input: GetFeesOverviewInput) => Promise<ToolResultSchema>;
32
+ export declare const getFeesOverviewByChainHandler: (input: GetFeesOverviewByChainInput) => Promise<ToolResultSchema>;
33
+ export declare const getFeeSummaryHandler: (input: GetFeeSummaryInput) => Promise<ToolResultSchema>;