@gala-chain/launchpad-mcp-server 2.0.1 → 2.0.2-beta.2

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 (183) hide show
  1. package/.eslintrc.json +68 -8
  2. package/CHANGELOG.md +10 -10
  3. package/README.md +24 -22
  4. package/dist/constants/mcpToolNames.d.ts +21 -2
  5. package/dist/constants/mcpToolNames.d.ts.map +1 -1
  6. package/dist/constants/mcpToolNames.js +17 -3
  7. package/dist/constants/mcpToolNames.js.map +1 -1
  8. package/dist/generated/version.d.ts +1 -1
  9. package/dist/generated/version.d.ts.map +1 -1
  10. package/dist/generated/version.js +1 -1
  11. package/dist/generated/version.js.map +1 -1
  12. package/dist/prompts/advanced-pools.d.ts.map +1 -1
  13. package/dist/prompts/advanced-pools.js.map +1 -1
  14. package/dist/prompts/dex-leaderboard.d.ts +40 -0
  15. package/dist/prompts/dex-leaderboard.d.ts.map +1 -0
  16. package/dist/prompts/dex-leaderboard.js +239 -0
  17. package/dist/prompts/dex-leaderboard.js.map +1 -0
  18. package/dist/prompts/dex-volume.d.ts +19 -0
  19. package/dist/prompts/dex-volume.d.ts.map +1 -0
  20. package/dist/prompts/dex-volume.js +74 -0
  21. package/dist/prompts/dex-volume.js.map +1 -0
  22. package/dist/prompts/index.d.ts +5 -2
  23. package/dist/prompts/index.d.ts.map +1 -1
  24. package/dist/prompts/index.js +11 -2
  25. package/dist/prompts/index.js.map +1 -1
  26. package/dist/prompts/locks.d.ts +16 -0
  27. package/dist/prompts/locks.d.ts.map +1 -0
  28. package/dist/prompts/locks.js +114 -0
  29. package/dist/prompts/locks.js.map +1 -0
  30. package/dist/prompts/monitoring.js.map +1 -1
  31. package/dist/prompts/pools.js +3 -3
  32. package/dist/prompts/pools.js.map +1 -1
  33. package/dist/schemas/common-schemas.d.ts +18 -16
  34. package/dist/schemas/common-schemas.d.ts.map +1 -1
  35. package/dist/schemas/common-schemas.js +8 -0
  36. package/dist/schemas/common-schemas.js.map +1 -1
  37. package/dist/server.d.ts.map +1 -1
  38. package/dist/server.js +3 -1
  39. package/dist/server.js.map +1 -1
  40. package/dist/tools/balance/index.js.map +1 -1
  41. package/dist/tools/creation/index.d.ts.map +1 -1
  42. package/dist/tools/creation/index.js +11 -8
  43. package/dist/tools/creation/index.js.map +1 -1
  44. package/dist/tools/dex/fetchAllDexPools.d.ts.map +1 -1
  45. package/dist/tools/dex/fetchAllDexPools.js +10 -6
  46. package/dist/tools/dex/fetchAllDexPools.js.map +1 -1
  47. package/dist/tools/dex/fetchDexPools.js.map +1 -1
  48. package/dist/tools/dex/index.d.ts +5 -0
  49. package/dist/tools/dex/index.d.ts.map +1 -1
  50. package/dist/tools/dex/index.js +238 -2
  51. package/dist/tools/dex/index.js.map +1 -1
  52. package/dist/tools/dex/leaderboard.d.ts +38 -0
  53. package/dist/tools/dex/leaderboard.d.ts.map +1 -0
  54. package/dist/tools/dex/leaderboard.js +153 -0
  55. package/dist/tools/dex/leaderboard.js.map +1 -0
  56. package/dist/tools/dex/liquidity-positions.d.ts.map +1 -1
  57. package/dist/tools/dex/liquidity-positions.js +13 -4
  58. package/dist/tools/dex/liquidity-positions.js.map +1 -1
  59. package/dist/tools/dex/volume.d.ts +19 -0
  60. package/dist/tools/dex/volume.d.ts.map +1 -0
  61. package/dist/tools/dex/volume.js +53 -0
  62. package/dist/tools/dex/volume.js.map +1 -0
  63. package/dist/tools/index.d.ts +6 -5
  64. package/dist/tools/index.d.ts.map +1 -1
  65. package/dist/tools/index.js +15 -8
  66. package/dist/tools/index.js.map +1 -1
  67. package/dist/tools/locks/index.d.ts +8 -0
  68. package/dist/tools/locks/index.d.ts.map +1 -0
  69. package/dist/tools/locks/index.js +79 -0
  70. package/dist/tools/locks/index.js.map +1 -0
  71. package/dist/tools/pools/fetchAllPools.d.ts.map +1 -1
  72. package/dist/tools/pools/fetchAllPools.js +8 -5
  73. package/dist/tools/pools/fetchAllPools.js.map +1 -1
  74. package/dist/tools/pools/fetchAllPriceHistory.js +1 -1
  75. package/dist/tools/pools/fetchAllPriceHistory.js.map +1 -1
  76. package/dist/tools/pools/fetchPoolDetails.js.map +1 -1
  77. package/dist/tools/pools/fetchPools.js.map +1 -1
  78. package/dist/tools/pools/fetchPriceHistory.js +1 -1
  79. package/dist/tools/pools/fetchPriceHistory.js.map +1 -1
  80. package/dist/tools/pools/fetchTokenDetails.js +1 -1
  81. package/dist/tools/pools/fetchTokenDetails.js.map +1 -1
  82. package/dist/tools/pools/index.js +1 -1
  83. package/dist/tools/pools/index.js.map +1 -1
  84. package/dist/tools/pools/onDexPoolCreation.d.ts.map +1 -1
  85. package/dist/tools/pools/onDexPoolCreation.js +1 -0
  86. package/dist/tools/pools/onDexPoolCreation.js.map +1 -1
  87. package/dist/tools/pools/onLaunchpadTokenCreation.d.ts.map +1 -1
  88. package/dist/tools/pools/onLaunchpadTokenCreation.js +1 -0
  89. package/dist/tools/pools/onLaunchpadTokenCreation.js.map +1 -1
  90. package/dist/tools/social/index.js.map +1 -1
  91. package/dist/tools/trading/index.js +1 -1
  92. package/dist/tools/trading/index.js.map +1 -1
  93. package/dist/tools/transfers/index.js.map +1 -1
  94. package/dist/tools/utils/cleanup.d.ts +2 -2
  95. package/dist/tools/utils/cleanup.d.ts.map +1 -1
  96. package/dist/tools/utils/cleanup.js +8 -35
  97. package/dist/tools/utils/cleanup.js.map +1 -1
  98. package/dist/tools/utils/clearCache.js.map +1 -1
  99. package/dist/tools/utils/explainSdkUsage.d.ts +10 -0
  100. package/dist/tools/utils/explainSdkUsage.d.ts.map +1 -1
  101. package/dist/tools/utils/explainSdkUsage.js +896 -10
  102. package/dist/tools/utils/explainSdkUsage.js.map +1 -1
  103. package/dist/tools/utils/index.d.ts.map +1 -1
  104. package/dist/tools/utils/index.js +4 -0
  105. package/dist/tools/utils/index.js.map +1 -1
  106. package/dist/tools/utils/retrieveFromFaucet.d.ts +9 -0
  107. package/dist/tools/utils/retrieveFromFaucet.d.ts.map +1 -0
  108. package/dist/tools/utils/retrieveFromFaucet.js +36 -0
  109. package/dist/tools/utils/retrieveFromFaucet.js.map +1 -0
  110. package/dist/types/mcp.d.ts +2 -2
  111. package/dist/types/mcp.d.ts.map +1 -1
  112. package/dist/utils/default-values.d.ts.map +1 -1
  113. package/dist/utils/default-values.js +3 -0
  114. package/dist/utils/default-values.js.map +1 -1
  115. package/dist/utils/response-formatter.d.ts.map +1 -1
  116. package/dist/utils/response-formatter.js +1 -0
  117. package/dist/utils/response-formatter.js.map +1 -1
  118. package/dist/utils/tool-factory.d.ts.map +1 -1
  119. package/dist/utils/tool-factory.js +1 -0
  120. package/dist/utils/tool-factory.js.map +1 -1
  121. package/eslint.config.js.bak +113 -0
  122. package/package.json +5 -4
  123. package/dist/prompts/__tests__/promptStructure.test.d.ts +0 -7
  124. package/dist/prompts/__tests__/promptStructure.test.d.ts.map +0 -1
  125. package/dist/prompts/__tests__/promptStructure.test.js +0 -106
  126. package/dist/prompts/__tests__/promptStructure.test.js.map +0 -1
  127. package/dist/prompts/__tests__/registry.test.d.ts +0 -7
  128. package/dist/prompts/__tests__/registry.test.d.ts.map +0 -1
  129. package/dist/prompts/__tests__/registry.test.js +0 -119
  130. package/dist/prompts/__tests__/registry.test.js.map +0 -1
  131. package/dist/scripts/test-all-prompts.d.ts +0 -6
  132. package/dist/scripts/test-all-prompts.d.ts.map +0 -1
  133. package/dist/scripts/test-all-prompts.js +0 -158
  134. package/dist/scripts/test-all-prompts.js.map +0 -1
  135. package/dist/tools/balance/all-assets.d.ts +0 -9
  136. package/dist/tools/balance/all-assets.d.ts.map +0 -1
  137. package/dist/tools/balance/all-assets.js +0 -104
  138. package/dist/tools/balance/all-assets.js.map +0 -1
  139. package/dist/tools/dex/advanced-dex.d.ts +0 -15
  140. package/dist/tools/dex/advanced-dex.d.ts.map +0 -1
  141. package/dist/tools/dex/advanced-dex.js +0 -239
  142. package/dist/tools/dex/advanced-dex.js.map +0 -1
  143. package/dist/tools/dex/pool-price.d.ts +0 -9
  144. package/dist/tools/dex/pool-price.d.ts.map +0 -1
  145. package/dist/tools/dex/pool-price.js +0 -78
  146. package/dist/tools/dex/pool-price.js.map +0 -1
  147. package/dist/tools/dex/pool-quote-calculation.d.ts +0 -9
  148. package/dist/tools/dex/pool-quote-calculation.d.ts.map +0 -1
  149. package/dist/tools/dex/pool-quote-calculation.js +0 -99
  150. package/dist/tools/dex/pool-quote-calculation.js.map +0 -1
  151. package/dist/tools/dex/pool-quote-external.d.ts +0 -10
  152. package/dist/tools/dex/pool-quote-external.d.ts.map +0 -1
  153. package/dist/tools/dex/pool-quote-external.js +0 -84
  154. package/dist/tools/dex/pool-quote-external.js.map +0 -1
  155. package/dist/tools/dex/pool-quote-local.d.ts +0 -10
  156. package/dist/tools/dex/pool-quote-local.d.ts.map +0 -1
  157. package/dist/tools/dex/pool-quote-local.js +0 -84
  158. package/dist/tools/dex/pool-quote-local.js.map +0 -1
  159. package/dist/tools/dex/position-direct.d.ts +0 -9
  160. package/dist/tools/dex/position-direct.d.ts.map +0 -1
  161. package/dist/tools/dex/position-direct.js +0 -65
  162. package/dist/tools/dex/position-direct.js.map +0 -1
  163. package/dist/tools/pools/composite-pool.d.ts +0 -9
  164. package/dist/tools/pools/composite-pool.d.ts.map +0 -1
  165. package/dist/tools/pools/composite-pool.js +0 -69
  166. package/dist/tools/pools/composite-pool.js.map +0 -1
  167. package/dist/tools/pools/fetchAllPrices.d.ts +0 -9
  168. package/dist/tools/pools/fetchAllPrices.d.ts.map +0 -1
  169. package/dist/tools/pools/fetchAllPrices.js +0 -38
  170. package/dist/tools/pools/fetchAllPrices.js.map +0 -1
  171. package/dist/tools/pools/fetchPrices.d.ts +0 -9
  172. package/dist/tools/pools/fetchPrices.d.ts.map +0 -1
  173. package/dist/tools/pools/fetchPrices.js +0 -51
  174. package/dist/tools/pools/fetchPrices.js.map +0 -1
  175. package/dist/tools/utils/faucet.d.ts +0 -10
  176. package/dist/tools/utils/faucet.d.ts.map +0 -1
  177. package/dist/tools/utils/faucet.js +0 -51
  178. package/dist/tools/utils/faucet.js.map +0 -1
  179. package/dist/utils/__tests__/validation.test.d.ts +0 -7
  180. package/dist/utils/__tests__/validation.test.d.ts.map +0 -1
  181. package/dist/utils/__tests__/validation.test.js +0 -122
  182. package/dist/utils/__tests__/validation.test.js.map +0 -1
  183. package/test-mcp.js +0 -89
@@ -7,10 +7,12 @@
7
7
  * Provides quote generation, swap execution, liquidity management, asset management, and pool exploration.
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.dexTools = exports.getSwapPoolInfoTool = exports.getSwapUserAssetsTool = exports.executeSwapTool = exports.getSwapQuoteExactOutputTool = exports.getSwapQuoteExactInputTool = void 0;
10
+ exports.dexTools = exports.getAllSwapUserAssetsTool = exports.getSwapPoolPriceTool = exports.calculateDexPoolQuoteExternalTool = exports.calculateDexPoolQuoteLocalTool = exports.fetchCompositePoolDataTool = exports.getSwapPoolInfoTool = exports.getSwapUserAssetsTool = exports.executeSwapTool = exports.getSwapQuoteExactOutputTool = exports.getSwapQuoteExactInputTool = void 0;
11
11
  const liquidity_positions_js_1 = require("./liquidity-positions.js");
12
12
  const fetchDexPools_js_1 = require("./fetchDexPools.js");
13
13
  const fetchAllDexPools_js_1 = require("./fetchAllDexPools.js");
14
+ const leaderboard_js_1 = require("./leaderboard.js");
15
+ const volume_js_1 = require("./volume.js");
14
16
  const response_formatter_js_1 = require("../../utils/response-formatter.js");
15
17
  const error_handler_js_1 = require("../../utils/error-handler.js");
16
18
  const common_schemas_js_1 = require("../../schemas/common-schemas.js");
@@ -195,7 +197,234 @@ exports.getSwapPoolInfoTool = {
195
197
  });
196
198
  }),
197
199
  };
198
- // Export all DEX tools (2 pool discovery + 5 swap tools + 10 liquidity position tools = 17 tools)
200
+ // Token class key for DEX (full pipe-delimited format)
201
+ const TOKEN_CLASS_KEY_SCHEMA = {
202
+ type: 'string',
203
+ description: 'Full token class key in pipe-delimited format (e.g., "GALA|Unit|none|none" or "Token|Unit|SYMBOL|client:xxx")',
204
+ };
205
+ // 6. Fetch Composite Pool Data
206
+ exports.fetchCompositePoolDataTool = {
207
+ name: 'gala_launchpad_fetch_composite_pool_data',
208
+ description: 'Fetch complete pool state for offline DEX quote calculations. Returns pool liquidity, tick data, and token balances. Use this for bulk pricing operations or when you need multiple quotes for the same pool.',
209
+ inputSchema: {
210
+ type: 'object',
211
+ properties: {
212
+ token0: {
213
+ ...TOKEN_CLASS_KEY_SCHEMA,
214
+ description: 'First token class key (e.g., "GALA|Unit|none|none")',
215
+ },
216
+ token1: {
217
+ ...TOKEN_CLASS_KEY_SCHEMA,
218
+ description: 'Second token class key (e.g., "Token|Unit|BENE|client:5c806869e7fd0e2384461ce9")',
219
+ },
220
+ fee: FEE_TIER_SCHEMA,
221
+ },
222
+ required: ['token0', 'token1', 'fee'],
223
+ },
224
+ handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
225
+ const composite = await sdk.fetchCompositePoolData({
226
+ token0: args.token0,
227
+ token1: args.token1,
228
+ fee: args.fee,
229
+ });
230
+ return (0, response_formatter_js_1.formatSuccess)({
231
+ token0: args.token0,
232
+ token1: args.token1,
233
+ fee: args.fee,
234
+ token0Decimals: composite.token0Decimals,
235
+ token1Decimals: composite.token1Decimals,
236
+ poolLiquidity: composite.pool.liquidity.toString(),
237
+ tick: composite.pool.tick,
238
+ sqrtPrice: composite.pool.sqrtPrice.toString(),
239
+ tickDataCount: Object.keys(composite.tickDataMap).length,
240
+ message: `Composite pool data fetched for ${args.token0}/${args.token1} (${args.fee / 10000}% fee)`,
241
+ });
242
+ }),
243
+ };
244
+ // 7. Calculate DEX Pool Quote (Local - instant offline calculation)
245
+ exports.calculateDexPoolQuoteLocalTool = {
246
+ name: 'gala_launchpad_calculate_dex_pool_quote_local',
247
+ description: 'Calculate instant DEX quote using local bonding curve math. Auto-fetches pool data unless compositePoolData is provided (for bulk efficiency).',
248
+ inputSchema: {
249
+ type: 'object',
250
+ properties: {
251
+ token0: {
252
+ ...TOKEN_CLASS_KEY_SCHEMA,
253
+ description: 'First token in pool (e.g., "GALA|Unit|none|none")',
254
+ },
255
+ token1: {
256
+ ...TOKEN_CLASS_KEY_SCHEMA,
257
+ description: 'Second token in pool (e.g., "Token|Unit|BENE|client:xxx")',
258
+ },
259
+ fee: FEE_TIER_SCHEMA,
260
+ fromToken: {
261
+ ...TOKEN_CLASS_KEY_SCHEMA,
262
+ description: 'Token to swap FROM',
263
+ },
264
+ toToken: {
265
+ ...TOKEN_CLASS_KEY_SCHEMA,
266
+ description: 'Token to swap TO',
267
+ },
268
+ amount: {
269
+ ...common_schemas_js_1.DECIMAL_AMOUNT_SCHEMA,
270
+ description: 'Amount of fromToken to swap',
271
+ },
272
+ compositePoolData: {
273
+ type: 'string',
274
+ description: 'Optional: Pre-fetched composite pool data as JSON string from gala_launchpad_fetch_composite_pool_data. If provided, skips fetch for efficiency (ideal for bulk quotes).',
275
+ },
276
+ },
277
+ required: ['token0', 'token1', 'fee', 'fromToken', 'toToken', 'amount'],
278
+ },
279
+ handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
280
+ // Use provided composite data or fetch it
281
+ let composite;
282
+ if (args.compositePoolData) {
283
+ composite = JSON.parse(args.compositePoolData);
284
+ }
285
+ else {
286
+ composite = await sdk.fetchCompositePoolData({
287
+ token0: args.token0,
288
+ token1: args.token1,
289
+ fee: args.fee,
290
+ });
291
+ }
292
+ // Calculate quote locally
293
+ const quote = await sdk.calculateDexPoolQuoteExactAmountLocal({
294
+ compositePoolData: composite,
295
+ fromToken: args.fromToken,
296
+ toToken: args.toToken,
297
+ amount: args.amount,
298
+ });
299
+ return (0, response_formatter_js_1.formatSuccess)({
300
+ mode: 'local',
301
+ fromToken: args.fromToken,
302
+ toToken: args.toToken,
303
+ inputAmount: quote.amount0,
304
+ outputAmount: quote.amount1,
305
+ currentSqrtPrice: quote.currentSqrtPrice,
306
+ newSqrtPrice: quote.newSqrtPrice,
307
+ priceImpact: quote.priceImpact,
308
+ executionPrice: quote.executionPrice,
309
+ usedCachedData: !!args.compositePoolData,
310
+ message: `Local quote: ${quote.amount0} ${args.fromToken} → ${quote.amount1} ${args.toToken}${args.compositePoolData ? ' (using cached pool data)' : ''}`,
311
+ });
312
+ }),
313
+ };
314
+ // 8. Calculate DEX Pool Quote (External - real-time from blockchain)
315
+ exports.calculateDexPoolQuoteExternalTool = {
316
+ name: 'gala_launchpad_calculate_dex_pool_quote_external',
317
+ description: 'Calculate real-time DEX quote from GalaChain blockchain. Slower than local but always reflects current pool state. Use for final price verification.',
318
+ inputSchema: {
319
+ type: 'object',
320
+ properties: {
321
+ token0: {
322
+ ...TOKEN_CLASS_KEY_SCHEMA,
323
+ description: 'First token in pool (e.g., "GALA|Unit|none|none")',
324
+ },
325
+ token1: {
326
+ ...TOKEN_CLASS_KEY_SCHEMA,
327
+ description: 'Second token in pool (e.g., "Token|Unit|BENE|client:xxx")',
328
+ },
329
+ fee: FEE_TIER_SCHEMA,
330
+ fromToken: {
331
+ ...TOKEN_CLASS_KEY_SCHEMA,
332
+ description: 'Token to swap FROM',
333
+ },
334
+ toToken: {
335
+ ...TOKEN_CLASS_KEY_SCHEMA,
336
+ description: 'Token to swap TO',
337
+ },
338
+ amount: {
339
+ ...common_schemas_js_1.DECIMAL_AMOUNT_SCHEMA,
340
+ description: 'Amount of fromToken to swap',
341
+ },
342
+ },
343
+ required: ['token0', 'token1', 'fee', 'fromToken', 'toToken', 'amount'],
344
+ },
345
+ handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
346
+ // Fetch composite pool data first
347
+ const composite = await sdk.fetchCompositePoolData({
348
+ token0: args.token0,
349
+ token1: args.token1,
350
+ fee: args.fee,
351
+ });
352
+ // Calculate quote from blockchain
353
+ const quote = await sdk.calculateDexPoolQuoteExactAmountExternal({
354
+ compositePoolData: composite,
355
+ fromToken: args.fromToken,
356
+ toToken: args.toToken,
357
+ amount: args.amount,
358
+ });
359
+ return (0, response_formatter_js_1.formatSuccess)({
360
+ mode: 'external',
361
+ fromToken: args.fromToken,
362
+ toToken: args.toToken,
363
+ inputAmount: quote.amount0,
364
+ outputAmount: quote.amount1,
365
+ currentSqrtPrice: quote.currentSqrtPrice,
366
+ newSqrtPrice: quote.newSqrtPrice,
367
+ priceImpact: quote.priceImpact,
368
+ executionPrice: quote.executionPrice,
369
+ message: `External quote: ${quote.amount0} ${args.fromToken} → ${quote.amount1} ${args.toToken}`,
370
+ });
371
+ }),
372
+ };
373
+ // 9. Get Swap Pool Price
374
+ exports.getSwapPoolPriceTool = {
375
+ name: 'gala_launchpad_get_swap_pool_price',
376
+ description: 'Get current price, tick, and liquidity for a DEX pool. Use to check if liquidity positions are in-range.',
377
+ inputSchema: {
378
+ type: 'object',
379
+ properties: {
380
+ token0: TOKEN_SYMBOL_SCHEMA,
381
+ token1: TOKEN_SYMBOL_SCHEMA,
382
+ fee: FEE_TIER_SCHEMA,
383
+ },
384
+ required: ['token0', 'token1', 'fee'],
385
+ },
386
+ handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
387
+ const priceData = await sdk.getSwapPoolPrice(args.token0, args.token1, args.fee);
388
+ return (0, response_formatter_js_1.formatSuccess)({
389
+ token0: args.token0,
390
+ token1: args.token1,
391
+ fee: args.fee,
392
+ price: priceData.price,
393
+ tick: priceData.tick,
394
+ liquidity: priceData.liquidity,
395
+ message: `Pool price: ${priceData.price} ${args.token1} per ${args.token0} (tick: ${priceData.tick})`,
396
+ });
397
+ }),
398
+ };
399
+ // 10. Get All Swap User Assets (auto-paginated)
400
+ exports.getAllSwapUserAssetsTool = {
401
+ name: 'gala_launchpad_get_all_swap_user_assets',
402
+ description: 'Get ALL token assets and balances for a wallet (auto-paginates). Complete portfolio view for DEX trading.',
403
+ inputSchema: {
404
+ type: 'object',
405
+ properties: {
406
+ walletAddress: {
407
+ ...common_schemas_js_1.ADDRESS_SCHEMA,
408
+ description: 'Wallet address to query (e.g., "0x1234..." or "eth|1234...")',
409
+ },
410
+ },
411
+ required: ['walletAddress'],
412
+ },
413
+ handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
414
+ const assets = await sdk.getAllSwapUserAssets(args.walletAddress);
415
+ return (0, response_formatter_js_1.formatSuccess)({
416
+ walletAddress: args.walletAddress,
417
+ assetCount: assets.length,
418
+ assets: assets.map((asset) => ({
419
+ symbol: asset.symbol,
420
+ balance: asset.balance,
421
+ decimals: asset.decimals,
422
+ })),
423
+ message: `${assets.length} total assets found for wallet ${args.walletAddress} (fully paginated)`,
424
+ });
425
+ }),
426
+ };
427
+ // Export all DEX tools (2 pool discovery + 4 leaderboard + 1 volume + 10 swap/quote tools + 9 liquidity position tools = 26 tools)
199
428
  exports.dexTools = [
200
429
  fetchDexPools_js_1.fetchDexPoolsTool,
201
430
  fetchAllDexPools_js_1.fetchAllDexPoolsTool,
@@ -204,6 +433,13 @@ exports.dexTools = [
204
433
  exports.executeSwapTool,
205
434
  exports.getSwapUserAssetsTool,
206
435
  exports.getSwapPoolInfoTool,
436
+ exports.fetchCompositePoolDataTool,
437
+ exports.calculateDexPoolQuoteLocalTool,
438
+ exports.calculateDexPoolQuoteExternalTool,
439
+ exports.getSwapPoolPriceTool,
440
+ exports.getAllSwapUserAssetsTool,
441
+ ...leaderboard_js_1.leaderboardTools,
442
+ ...volume_js_1.volumeTools,
207
443
  ...liquidity_positions_js_1.liquidityPositionTools,
208
444
  ];
209
445
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/dex/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/dex/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * DEX Leaderboard Tools
3
+ *
4
+ * Tools for querying DEX leaderboard rankings and season management.
5
+ * Provides access to seasonal leaderboards, current rankings, and player achievements.
6
+ */
7
+ import type { MCPTool } from '../../types/mcp.js';
8
+ /**
9
+ * 1. Fetch All DEX Seasons
10
+ *
11
+ * Returns all available DEX leaderboard seasons with start/end dates and rules.
12
+ * Non-paginated endpoint returning complete list of all seasons.
13
+ */
14
+ export declare const fetchAllDexSeasonsTool: MCPTool;
15
+ /**
16
+ * 2. Fetch Current DEX Season
17
+ *
18
+ * Returns the currently active DEX leaderboard season based on current date/time.
19
+ * Returns null if no season is currently active.
20
+ */
21
+ export declare const fetchCurrentDexSeasonTool: MCPTool;
22
+ /**
23
+ * 3. Fetch DEX Leaderboard by Season ID
24
+ *
25
+ * Returns the leaderboard rankings for a specific season.
26
+ * Includes player rankings, XP metrics, and mastery achievements.
27
+ */
28
+ export declare const fetchDexLeaderboardBySeasonIdTool: MCPTool;
29
+ /**
30
+ * 4. Fetch Current DEX Leaderboard
31
+ *
32
+ * Returns the leaderboard for the currently active season.
33
+ * Combines current season detection with leaderboard retrieval.
34
+ * Returns null if no season is currently active.
35
+ */
36
+ export declare const fetchCurrentDexLeaderboardTool: MCPTool;
37
+ export declare const leaderboardTools: MCPTool[];
38
+ //# sourceMappingURL=leaderboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leaderboard.d.ts","sourceRoot":"","sources":["../../../src/tools/dex/leaderboard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAWlD;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,OAiBpC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,OA2BvC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,EAAE,OA8B/C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,EAAE,OAqC5C,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,OAAO,EAKrC,CAAC"}
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ /**
3
+ * DEX Leaderboard Tools
4
+ *
5
+ * Tools for querying DEX leaderboard rankings and season management.
6
+ * Provides access to seasonal leaderboards, current rankings, and player achievements.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.leaderboardTools = exports.fetchCurrentDexLeaderboardTool = exports.fetchDexLeaderboardBySeasonIdTool = exports.fetchCurrentDexSeasonTool = exports.fetchAllDexSeasonsTool = void 0;
10
+ const response_formatter_js_1 = require("../../utils/response-formatter.js");
11
+ const error_handler_js_1 = require("../../utils/error-handler.js");
12
+ // Season ID schema for leaderboard queries
13
+ const SEASON_ID_SCHEMA = {
14
+ type: 'number',
15
+ minimum: 1,
16
+ description: 'DEX season identifier (positive integer)',
17
+ };
18
+ /**
19
+ * 1. Fetch All DEX Seasons
20
+ *
21
+ * Returns all available DEX leaderboard seasons with start/end dates and rules.
22
+ * Non-paginated endpoint returning complete list of all seasons.
23
+ */
24
+ exports.fetchAllDexSeasonsTool = {
25
+ name: 'gala_launchpad_fetch_all_dex_seasons',
26
+ description: 'Fetch all DEX leaderboard seasons - returns complete list of seasons with dates and rules',
27
+ inputSchema: {
28
+ type: 'object',
29
+ properties: {},
30
+ },
31
+ handler: (0, error_handler_js_1.withErrorHandling)(async (sdk) => {
32
+ const seasons = await sdk.fetchAllDexSeasons();
33
+ return (0, response_formatter_js_1.formatSuccess)({
34
+ seasons,
35
+ totalSeasons: seasons.length,
36
+ message: `Retrieved ${seasons.length} DEX seasons`,
37
+ });
38
+ }),
39
+ };
40
+ /**
41
+ * 2. Fetch Current DEX Season
42
+ *
43
+ * Returns the currently active DEX leaderboard season based on current date/time.
44
+ * Returns null if no season is currently active.
45
+ */
46
+ exports.fetchCurrentDexSeasonTool = {
47
+ name: 'gala_launchpad_fetch_current_dex_season',
48
+ description: 'Fetch current active DEX leaderboard season - returns null if no season is active',
49
+ inputSchema: {
50
+ type: 'object',
51
+ properties: {},
52
+ },
53
+ handler: (0, error_handler_js_1.withErrorHandling)(async (sdk) => {
54
+ const season = await sdk.fetchCurrentDexSeason();
55
+ if (season === null) {
56
+ return (0, response_formatter_js_1.formatSuccess)({
57
+ currentSeason: null,
58
+ message: 'No active DEX season at this time',
59
+ });
60
+ }
61
+ return (0, response_formatter_js_1.formatSuccess)({
62
+ currentSeason: season,
63
+ message: `Current season: ${season.name} (ID: ${season.id})`,
64
+ seasonDates: {
65
+ start: season.start.toISOString(),
66
+ end: season.end.toISOString(),
67
+ },
68
+ });
69
+ }),
70
+ };
71
+ /**
72
+ * 3. Fetch DEX Leaderboard by Season ID
73
+ *
74
+ * Returns the leaderboard rankings for a specific season.
75
+ * Includes player rankings, XP metrics, and mastery achievements.
76
+ */
77
+ exports.fetchDexLeaderboardBySeasonIdTool = {
78
+ name: 'gala_launchpad_fetch_dex_leaderboard_by_season_id',
79
+ description: 'Fetch DEX leaderboard for a specific season - returns rankings with XP metrics and achievements',
80
+ inputSchema: {
81
+ type: 'object',
82
+ properties: {
83
+ seasonId: SEASON_ID_SCHEMA,
84
+ },
85
+ required: ['seasonId'],
86
+ },
87
+ handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
88
+ const leaderboard = await sdk.fetchDexLeaderboardBySeasonId(args.seasonId);
89
+ // Get top 5 entries for summary
90
+ const topEntries = leaderboard.entries.slice(0, 5);
91
+ return (0, response_formatter_js_1.formatSuccess)({
92
+ leaderboard,
93
+ totalEntries: leaderboard.entries.length,
94
+ topEntries,
95
+ topPlayer: {
96
+ wallet: leaderboard.entries[0]?.wallet,
97
+ rank: leaderboard.entries[0]?.rank,
98
+ totalXp: leaderboard.entries[0]?.totalXp,
99
+ titles: leaderboard.entries[0]?.masteryTitles.length || 0,
100
+ },
101
+ message: `Leaderboard for season ${args.seasonId}: ${leaderboard.entries.length} players`,
102
+ });
103
+ }),
104
+ };
105
+ /**
106
+ * 4. Fetch Current DEX Leaderboard
107
+ *
108
+ * Returns the leaderboard for the currently active season.
109
+ * Combines current season detection with leaderboard retrieval.
110
+ * Returns null if no season is currently active.
111
+ */
112
+ exports.fetchCurrentDexLeaderboardTool = {
113
+ name: 'gala_launchpad_fetch_current_dex_leaderboard',
114
+ description: 'Fetch current DEX leaderboard for active season - returns null if no active season',
115
+ inputSchema: {
116
+ type: 'object',
117
+ properties: {},
118
+ },
119
+ handler: (0, error_handler_js_1.withErrorHandling)(async (sdk) => {
120
+ const leaderboard = await sdk.fetchCurrentDexLeaderboard();
121
+ if (leaderboard === null) {
122
+ return (0, response_formatter_js_1.formatSuccess)({
123
+ currentLeaderboard: null,
124
+ message: 'No active season - leaderboard unavailable',
125
+ });
126
+ }
127
+ // Get top 5 entries for summary
128
+ const topEntries = leaderboard.entries.slice(0, 5);
129
+ const topPlayer = leaderboard.entries[0];
130
+ return (0, response_formatter_js_1.formatSuccess)({
131
+ leaderboard,
132
+ totalEntries: leaderboard.entries.length,
133
+ topEntries,
134
+ topPlayer: {
135
+ wallet: topPlayer?.wallet,
136
+ rank: topPlayer?.rank,
137
+ totalXp: topPlayer?.totalXp,
138
+ liquidityXp: topPlayer?.liquidityXp,
139
+ tradingXp: topPlayer?.tradingXp,
140
+ titles: topPlayer?.masteryTitles.length || 0,
141
+ },
142
+ message: `Current leaderboard: ${leaderboard.entries.length} active players`,
143
+ });
144
+ }),
145
+ };
146
+ // Export all leaderboard tools
147
+ exports.leaderboardTools = [
148
+ exports.fetchAllDexSeasonsTool,
149
+ exports.fetchCurrentDexSeasonTool,
150
+ exports.fetchDexLeaderboardBySeasonIdTool,
151
+ exports.fetchCurrentDexLeaderboardTool,
152
+ ];
153
+ //# sourceMappingURL=leaderboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leaderboard.js","sourceRoot":"","sources":["../../../src/tools/dex/leaderboard.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"liquidity-positions.d.ts","sourceRoot":"","sources":["../../../src/tools/dex/liquidity-positions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AA8ClD,eAAO,MAAM,6BAA6B,EAAE,OA0E3C,CAAC;AAGF,eAAO,MAAM,gCAAgC,EAAE,OA8C9C,CAAC;AAGF,eAAO,MAAM,4BAA4B,EAAE,OA+C1C,CAAC;AAGF,eAAO,MAAM,wBAAwB,EAAE,OAyDtC,CAAC;AAGF,eAAO,MAAM,2BAA2B,EAAE,OAiDzC,CAAC;AAGF,eAAO,MAAM,uBAAuB,EAAE,OA8ErC,CAAC;AAGF,eAAO,MAAM,uBAAuB,EAAE,OA8ErC,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,OAgEjC,CAAC;AAGF,eAAO,MAAM,uBAAuB,EAAE,OAmDrC,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,OAAO,EAU3C,CAAC"}
1
+ {"version":3,"file":"liquidity-positions.d.ts","sourceRoot":"","sources":["../../../src/tools/dex/liquidity-positions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAgDlD,eAAO,MAAM,6BAA6B,EAAE,OA+E3C,CAAC;AAGF,eAAO,MAAM,gCAAgC,EAAE,OAgD9C,CAAC;AAGF,eAAO,MAAM,4BAA4B,EAAE,OA+C1C,CAAC;AAGF,eAAO,MAAM,wBAAwB,EAAE,OAyDtC,CAAC;AAGF,eAAO,MAAM,2BAA2B,EAAE,OAiDzC,CAAC;AAGF,eAAO,MAAM,uBAAuB,EAAE,OA8ErC,CAAC;AAGF,eAAO,MAAM,uBAAuB,EAAE,OA8ErC,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,OAgEjC,CAAC;AAGF,eAAO,MAAM,uBAAuB,EAAE,OAmDrC,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,OAAO,EAU3C,CAAC"}
@@ -30,8 +30,10 @@ const FEE_TIER_SCHEMA = {
30
30
  * Helper function to format position data for MCP response
31
31
  * Extracts and maps position fields consistently across multiple tools
32
32
  */
33
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- SDK position type not fully exported
33
34
  function formatPositions(positions) {
34
35
  return (positions && Array.isArray(positions))
36
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- SDK position type not fully exported
35
37
  ? positions.map((pos) => ({
36
38
  positionId: pos.positionId,
37
39
  token0: pos.token0,
@@ -76,19 +78,24 @@ exports.getUserLiquidityPositionsTool = {
76
78
  required: ['ownerAddress'],
77
79
  },
78
80
  handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
81
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- SDK return type varies by invocation
79
82
  let result;
80
83
  // Determine which parameters to pass based on what's provided
81
84
  if (args.withPrices) {
82
85
  // When pricing is requested, pass pricing options as 3rd parameter (can't use bookmark with options)
86
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- SDK method options not fully typed
83
87
  const pricingOptions = { withPrices: true };
88
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- SDK method overloads not exported
84
89
  result = await sdk.getSwapUserLiquidityPositions(args.ownerAddress, args.limit, pricingOptions);
85
90
  }
86
91
  else if (args.bookmark) {
87
92
  // When only bookmark pagination is used, pass bookmark as 3rd parameter
93
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- SDK method overloads not exported
88
94
  result = await sdk.getSwapUserLiquidityPositions(args.ownerAddress, args.limit, args.bookmark);
89
95
  }
90
96
  else {
91
97
  // No pagination or pricing, just fetch positions
98
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- SDK method overloads not exported
92
99
  result = await sdk.getSwapUserLiquidityPositions(args.ownerAddress, args.limit);
93
100
  }
94
101
  // Handle both array and object returns for backward compatibility
@@ -129,7 +136,9 @@ exports.getAllUserLiquidityPositionsTool = {
129
136
  },
130
137
  handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
131
138
  // Prepare pricing options object if requested
139
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- SDK method options not fully typed
132
140
  const pricingOptions = args.withPrices ? { withPrices: true } : undefined;
141
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- SDK return type varies by invocation
133
142
  const result = await sdk.getAllSwapUserLiquidityPositions(args.ownerAddress, pricingOptions);
134
143
  // Handle both array and object returns for backward compatibility
135
144
  const positions = Array.isArray(result) ? result : result?.items || [];
@@ -366,7 +375,7 @@ exports.addLiquidityByPriceTool = {
366
375
  amount1Min: args.amount1Min || '0',
367
376
  });
368
377
  return (0, response_formatter_js_1.formatSuccess)({
369
- transactionId: result.transactionId || result.id,
378
+ transactionId: result.transactionId,
370
379
  status: result.status,
371
380
  token0: args.token0,
372
381
  token1: args.token1,
@@ -444,7 +453,7 @@ exports.addLiquidityByTicksTool = {
444
453
  amount1Min: args.amount1Min || '0',
445
454
  });
446
455
  return (0, response_formatter_js_1.formatSuccess)({
447
- transactionId: result.transactionId || result.id,
456
+ transactionId: result.transactionId,
448
457
  status: result.status,
449
458
  token0: args.token0,
450
459
  token1: args.token1,
@@ -510,7 +519,7 @@ exports.removeLiquidityTool = {
510
519
  deadline,
511
520
  });
512
521
  return (0, response_formatter_js_1.formatSuccess)({
513
- transactionId: result.transactionId || result.id,
522
+ transactionId: result.transactionId,
514
523
  status: result.status,
515
524
  positionId: args.positionId,
516
525
  liquidity: args.liquidity,
@@ -562,7 +571,7 @@ exports.collectPositionFeesTool = {
562
571
  amount1Max: args.amount1Max,
563
572
  });
564
573
  return (0, response_formatter_js_1.formatSuccess)({
565
- transactionId: result.transactionId || result.id,
574
+ transactionId: result.transactionId,
566
575
  status: result.status,
567
576
  positionId: args.positionId,
568
577
  amount0Collected: result.amount0,