@gala-chain/launchpad-mcp-server 1.24.1 → 1.25.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 (101) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/generated/version.d.ts +1 -1
  3. package/dist/generated/version.js +1 -1
  4. package/dist/tools/index.d.ts +2 -2
  5. package/dist/tools/index.js +3 -3
  6. package/dist/tools/pools/index.d.ts.map +1 -1
  7. package/dist/tools/pools/index.js +4 -0
  8. package/dist/tools/pools/index.js.map +1 -1
  9. package/dist/tools/pools/onDexPoolCreation.d.ts +6 -0
  10. package/dist/tools/pools/onDexPoolCreation.d.ts.map +1 -0
  11. package/dist/tools/pools/onDexPoolCreation.js +60 -0
  12. package/dist/tools/pools/onDexPoolCreation.js.map +1 -0
  13. package/dist/tools/pools/onLaunchpadTokenCreation.d.ts +6 -0
  14. package/dist/tools/pools/onLaunchpadTokenCreation.d.ts.map +1 -0
  15. package/dist/tools/pools/onLaunchpadTokenCreation.js +54 -0
  16. package/dist/tools/pools/onLaunchpadTokenCreation.js.map +1 -0
  17. package/package.json +2 -2
  18. package/docs/AI-AGENT-PATTERNS.md +0 -555
  19. package/docs/CONSTRAINTS-REFERENCE.md +0 -454
  20. package/docs/PROMPT-TOOL-MAPPING.md +0 -352
  21. package/docs/examples/default-values-pattern.md +0 -240
  22. package/docs/examples/tool-factory-pattern.md +0 -217
  23. package/jest.config.js +0 -94
  24. package/src/__tests__/integration/fetchTokenDetails.integration.test.ts +0 -258
  25. package/src/__tests__/integration/poolTools.integration.test.ts +0 -185
  26. package/src/__tests__/server.test.ts +0 -255
  27. package/src/constants/mcpToolNames.ts +0 -183
  28. package/src/index.ts +0 -19
  29. package/src/prompts/__tests__/promptStructure.test.ts +0 -187
  30. package/src/prompts/__tests__/registry.test.ts +0 -349
  31. package/src/prompts/analysis.ts +0 -380
  32. package/src/prompts/balances.ts +0 -182
  33. package/src/prompts/create-token.ts +0 -123
  34. package/src/prompts/creation-utils.ts +0 -103
  35. package/src/prompts/dex-trading.ts +0 -86
  36. package/src/prompts/discover-tokens.ts +0 -86
  37. package/src/prompts/explore-dex-pools.ts +0 -138
  38. package/src/prompts/index.ts +0 -178
  39. package/src/prompts/liquidity-positions.ts +0 -237
  40. package/src/prompts/pools.ts +0 -496
  41. package/src/prompts/portfolio.ts +0 -208
  42. package/src/prompts/social.ts +0 -94
  43. package/src/prompts/trading-calculations.ts +0 -414
  44. package/src/prompts/trading.ts +0 -160
  45. package/src/prompts/transfers.ts +0 -97
  46. package/src/prompts/utility-tools.ts +0 -266
  47. package/src/prompts/utility.ts +0 -77
  48. package/src/prompts/utils/handlerHelpers.ts +0 -55
  49. package/src/prompts/utils/textTemplates.ts +0 -73
  50. package/src/prompts/utils/workflowTemplates.ts +0 -511
  51. package/src/schemas/common-schemas.ts +0 -393
  52. package/src/scripts/test-all-prompts.ts +0 -184
  53. package/src/server.ts +0 -367
  54. package/src/tools/__tests__/dex-tools.test.ts +0 -562
  55. package/src/tools/__tests__/liquidity-positions.test.ts +0 -673
  56. package/src/tools/balance/index.ts +0 -174
  57. package/src/tools/creation/index.ts +0 -182
  58. package/src/tools/dex/fetchAllDexPools.ts +0 -45
  59. package/src/tools/dex/fetchDexPools.ts +0 -58
  60. package/src/tools/dex/index.ts +0 -231
  61. package/src/tools/dex/liquidity-positions.ts +0 -547
  62. package/src/tools/index.ts +0 -94
  63. package/src/tools/pools/fetchAllPools.ts +0 -47
  64. package/src/tools/pools/fetchAllPriceHistory.ts +0 -119
  65. package/src/tools/pools/fetchPoolDetails.ts +0 -27
  66. package/src/tools/pools/fetchPoolDetailsForCalculation.ts +0 -22
  67. package/src/tools/pools/fetchPools.ts +0 -47
  68. package/src/tools/pools/fetchPriceHistory.ts +0 -124
  69. package/src/tools/pools/fetchTokenDetails.ts +0 -77
  70. package/src/tools/pools/index.ts +0 -284
  71. package/src/tools/social/index.ts +0 -64
  72. package/src/tools/trading/index.ts +0 -605
  73. package/src/tools/transfers/index.ts +0 -75
  74. package/src/tools/utils/clearCache.ts +0 -36
  75. package/src/tools/utils/createWallet.ts +0 -19
  76. package/src/tools/utils/explainSdkUsage.ts +0 -1446
  77. package/src/tools/utils/getAddress.ts +0 -12
  78. package/src/tools/utils/getCacheInfo.ts +0 -14
  79. package/src/tools/utils/getConfig.ts +0 -21
  80. package/src/tools/utils/getEnvironment.ts +0 -17
  81. package/src/tools/utils/getEthereumAddress.ts +0 -12
  82. package/src/tools/utils/getUrlByTokenName.ts +0 -12
  83. package/src/tools/utils/getVersion.ts +0 -25
  84. package/src/tools/utils/getWallet.ts +0 -25
  85. package/src/tools/utils/hasWallet.ts +0 -15
  86. package/src/tools/utils/index.ts +0 -37
  87. package/src/tools/utils/isTokenGraduated.ts +0 -16
  88. package/src/tools/utils/setWallet.ts +0 -41
  89. package/src/tools/utils/switchEnvironment.ts +0 -28
  90. package/src/types/mcp.ts +0 -72
  91. package/src/utils/__tests__/validation.test.ts +0 -147
  92. package/src/utils/constraints.ts +0 -155
  93. package/src/utils/default-values.ts +0 -208
  94. package/src/utils/error-handler.ts +0 -69
  95. package/src/utils/error-templates.ts +0 -273
  96. package/src/utils/response-formatter.ts +0 -51
  97. package/src/utils/tool-factory.ts +0 -303
  98. package/src/utils/tool-registry.ts +0 -296
  99. package/src/utils/validation.ts +0 -429
  100. package/tests/wallet-management-integration.test.ts +0 -284
  101. package/tsconfig.json +0 -23
@@ -1,94 +0,0 @@
1
- /**
2
- * Social Interaction Prompts
3
- *
4
- * Slash commands for comments and social interactions
5
- */
6
-
7
- import type { MCPPrompt } from '../types/mcp.js';
8
- import { MCP_TOOLS } from '../constants/mcpToolNames.js';
9
- import { validateTokenName } from '../utils/validation.js';
10
- import { createPromptResponse } from './utils/handlerHelpers.js';
11
- import { createSimpleOperationText } from './utils/textTemplates.js';
12
-
13
- /**
14
- * Post Comment - Post comment on token
15
- */
16
- export const postCommentPrompt: MCPPrompt = {
17
- name: 'galachain-launchpad:post-comment',
18
- description: 'Post a comment on a token pool',
19
- arguments: [
20
- {
21
- name: 'tokenName',
22
- description: 'Token name (e.g., anime)',
23
- required: true,
24
- },
25
- {
26
- name: 'message',
27
- description: 'Comment message (max 500 characters)',
28
- required: true,
29
- },
30
- ],
31
- handler: (args) => {
32
- validateTokenName(args.tokenName);
33
-
34
- return createPromptResponse(
35
- createSimpleOperationText({
36
- operation: 'Post comment on token pool.',
37
- parameters: {
38
- token: `Token: ${args.tokenName}`,
39
- message: `Message: ${args.message}`,
40
- },
41
- toolName: MCP_TOOLS.POST_COMMENT,
42
- actionDescription: 'post the comment',
43
- displayFormat: 'Display confirmation of successful comment posting.',
44
- })
45
- );
46
- },
47
- };
48
-
49
- /**
50
- * Fetch Comments - Get token comments
51
- */
52
- export const fetchCommentsPrompt: MCPPrompt = {
53
- name: 'galachain-launchpad:fetch-comments',
54
- description: 'Get comments for a token pool',
55
- arguments: [
56
- {
57
- name: 'tokenName',
58
- description: 'Token name (e.g., anime)',
59
- required: true,
60
- },
61
- {
62
- name: 'page',
63
- description: 'Page number (default: 1)',
64
- required: false,
65
- },
66
- {
67
- name: 'limit',
68
- description: 'Results per page (default: 20)',
69
- required: false,
70
- },
71
- ],
72
- handler: (args) => {
73
- validateTokenName(args.tokenName);
74
-
75
- return createPromptResponse(
76
- createSimpleOperationText({
77
- operation: 'Fetch comments for token pool.',
78
- parameters: {
79
- token: `Token: ${args.tokenName}`,
80
- page: `Page: ${args.page || 1}`,
81
- limit: `Limit: ${args.limit || 20}`,
82
- },
83
- toolName: MCP_TOOLS.FETCH_COMMENTS,
84
- actionDescription: 'retrieve comments',
85
- displayFormat: 'Display the comments with author information and timestamps.',
86
- })
87
- );
88
- },
89
- };
90
-
91
- export const socialPrompts: MCPPrompt[] = [
92
- postCommentPrompt,
93
- fetchCommentsPrompt,
94
- ];
@@ -1,414 +0,0 @@
1
- /**
2
- * Trading Calculations Prompts
3
- *
4
- * Slash commands for trading calculations, amounts, and related operations
5
- */
6
-
7
- import type { MCPPrompt } from '../types/mcp.js';
8
- import { MCP_TOOLS } from '../constants/mcpToolNames.js';
9
- import { validateTokenName, validateNumericAmount, validateOptional } from '../utils/validation.js';
10
- import { createPromptResponse } from './utils/handlerHelpers.js';
11
- import { createSimpleOperationText } from './utils/textTemplates.js';
12
-
13
- /**
14
- * Calculate Buy Amount - Buy cost calculation
15
- */
16
- export const calculateBuyAmountPrompt: MCPPrompt = {
17
- name: 'galachain-launchpad:calculate-buy-amount',
18
- description: 'Calculate token amounts and fees for buying',
19
- arguments: [
20
- {
21
- name: 'tokenName',
22
- description: 'Token name (e.g., anime, test216253)',
23
- required: true,
24
- },
25
- {
26
- name: 'amount',
27
- description: 'Amount in GALA to spend or exact token quantity',
28
- required: true,
29
- },
30
- {
31
- name: 'type',
32
- description: 'Type: native (spend GALA) or exact (buy exact tokens)',
33
- required: true,
34
- },
35
- ],
36
- handler: (args) => {
37
- validateTokenName(args.tokenName, 'tokenName');
38
- validateNumericAmount(args.amount, 'amount');
39
-
40
- return createPromptResponse(`Calculate buy amount and fee breakdown.
41
-
42
- Token: ${args.tokenName}
43
- Amount: ${args.amount}
44
- Type: ${args.type}
45
-
46
- Use ${MCP_TOOLS.CALCULATE_BUY_AMOUNT} to get:
47
- - Exact token amount you'll receive
48
- - Transaction fee
49
- - Gas fee
50
- - Reverse bonding curve fee
51
-
52
- Display the complete cost breakdown.`);
53
- },
54
- };
55
-
56
- /**
57
- * Calculate Sell Amount - Sell proceeds calculation
58
- */
59
- export const calculateSellAmountPrompt: MCPPrompt = {
60
- name: 'galachain-launchpad:calculate-sell-amount',
61
- description: 'Calculate GALA amounts and fees for selling',
62
- arguments: [
63
- {
64
- name: 'tokenName',
65
- description: 'Token name (e.g., anime, test216253)',
66
- required: true,
67
- },
68
- {
69
- name: 'amount',
70
- description: 'Amount of GALA to receive or exact token quantity to sell',
71
- required: true,
72
- },
73
- {
74
- name: 'type',
75
- description: 'Type: native (receive GALA) or exact (sell exact tokens)',
76
- required: true,
77
- },
78
- ],
79
- handler: (args) => {
80
- validateTokenName(args.tokenName, 'tokenName');
81
- validateNumericAmount(args.amount, 'amount');
82
-
83
- return createPromptResponse(`Calculate sell amount and fee breakdown.
84
-
85
- Token: ${args.tokenName}
86
- Amount: ${args.amount}
87
- Type: ${args.type}
88
-
89
- Use ${MCP_TOOLS.CALCULATE_SELL_AMOUNT} to get:
90
- - GALA amount you'll receive
91
- - Transaction fee
92
- - Gas fee
93
- - Reverse bonding curve fee
94
-
95
- Display the complete proceeds breakdown.`);
96
- },
97
- };
98
-
99
- /**
100
- * Fetch Trades - Trade history query
101
- */
102
- export const fetchTradesPrompt: MCPPrompt = {
103
- name: 'galachain-launchpad:fetch-trades',
104
- description: 'Query your trading history with optional filters',
105
- arguments: [
106
- {
107
- name: 'tokenName',
108
- description: 'Token name (e.g., anime)',
109
- required: false,
110
- },
111
- {
112
- name: 'tradeType',
113
- description: 'Filter: BUY or SELL',
114
- required: false,
115
- },
116
- {
117
- name: 'page',
118
- description: 'Page number (default: 1)',
119
- required: false,
120
- },
121
- {
122
- name: 'limit',
123
- description: 'Results per page (default: 20)',
124
- required: false,
125
- },
126
- ],
127
- handler: (args) => {
128
- validateOptional(args.tokenName, (val) => validateTokenName(val, 'tokenName'));
129
-
130
- return createPromptResponse(`Fetch trading history.
131
-
132
- ${args.tokenName ? `Token: ${args.tokenName}` : ''}
133
- ${args.tradeType ? `Trade Type: ${args.tradeType}` : ''}
134
- Page: ${args.page || 1}
135
- Limit: ${args.limit || 20}
136
-
137
- Use ${MCP_TOOLS.FETCH_TRADES} to retrieve your trades.
138
-
139
- Display trade details including amounts, prices, and timestamps.`);
140
- },
141
- };
142
-
143
- /**
144
- * Calculate Initial Buy - Pre-buy calculation
145
- */
146
- export const calculateInitialBuyPrompt: MCPPrompt = {
147
- name: 'galachain-launchpad:calculate-initial-buy',
148
- description: 'Calculate pre-buy amounts during token creation',
149
- arguments: [
150
- {
151
- name: 'amount',
152
- description: 'GALA amount to spend for initial buy',
153
- required: true,
154
- },
155
- ],
156
- handler: (args) => {
157
- validateNumericAmount(args.amount, 'amount');
158
-
159
- return createPromptResponse(`Calculate pre-buy amounts for token creation.
160
-
161
- GALA Amount: ${args.amount}
162
-
163
- Use ${MCP_TOOLS.CALCULATE_INITIAL_BUY} to calculate:
164
- - Token quantity from initial buy
165
- - Applied fees and costs
166
-
167
- Display the calculated results.`);
168
- },
169
- };
170
-
171
- /**
172
- * Get Bundler Transaction Result - Transaction status lookup
173
- */
174
- export const getBundlerTransactionResultPrompt: MCPPrompt = {
175
- name: 'galachain-launchpad:get-bundler-transaction-result',
176
- description: 'Check bundler transaction status by ID',
177
- arguments: [
178
- {
179
- name: 'transactionId',
180
- description: 'Transaction ID (UUID format)',
181
- required: true,
182
- },
183
- ],
184
- handler: (args) => {
185
- return createPromptResponse(`Get bundler transaction result.
186
-
187
- Transaction ID: ${args.transactionId}
188
-
189
- Use ${MCP_TOOLS.GET_BUNDLER_TRANSACTION_RESULT} to check:
190
- - Current transaction status (PENDING, PROCESSING, COMPLETED, FAILED)
191
- - Transaction method
192
- - Metadata
193
-
194
- Display the transaction status clearly.`);
195
- },
196
- };
197
-
198
- /**
199
- * Calculate Buy Amount for Graduation - Graduation cost
200
- */
201
- export const calculateBuyAmountForGraduationPrompt: MCPPrompt = {
202
- name: 'galachain-launchpad:calculate-graduation-cost',
203
- description: 'Calculate cost to graduate a token pool to DEX',
204
- arguments: [
205
- {
206
- name: 'tokenName',
207
- description: 'Token name (e.g., anime, test216253)',
208
- required: true,
209
- },
210
- ],
211
- handler: (args) => {
212
- validateTokenName(args.tokenName, 'tokenName');
213
-
214
- return createPromptResponse(
215
- createSimpleOperationText({
216
- operation: 'Calculate graduation cost for token pool.',
217
- parameters: {
218
- token_name: `Token: ${args.tokenName}`,
219
- },
220
- toolName: MCP_TOOLS.CALCULATE_BUY_AMOUNT_FOR_GRADUATION,
221
- actionDescription: 'determine GALA cost to buy all remaining tokens, transaction fees, and complete cost breakdown',
222
- displayFormat: 'Display how much GALA is needed to graduate this token.',
223
- })
224
- );
225
- },
226
- };
227
-
228
- /**
229
- * Calculate Buy Amount (Local) - LOCAL bonding curve calc
230
- */
231
- export const calculateBuyAmountLocalPrompt: MCPPrompt = {
232
- name: 'galachain-launchpad:calculate-buy-amount-local',
233
- description: 'Calculate buy amount using LOCAL bonding curve (instant, no network)',
234
- arguments: [
235
- {
236
- name: 'tokenName',
237
- description: 'Token name (e.g., anime, test216253)',
238
- required: true,
239
- },
240
- {
241
- name: 'amount',
242
- description: 'Amount in GALA to spend',
243
- required: true,
244
- },
245
- ],
246
- handler: (args) => {
247
- validateTokenName(args.tokenName, 'tokenName');
248
- validateNumericAmount(args.amount, 'amount');
249
-
250
- return createPromptResponse(`Calculate buy amount using LOCAL bonding curve formula.
251
-
252
- Token: ${args.tokenName}
253
- Amount: ${args.amount} GALA
254
-
255
- Use ${MCP_TOOLS.CALCULATE_BUY_AMOUNT_LOCAL} for instant calculation:
256
- - Uses client-side exponential bonding curve formula
257
- - No network call required
258
- - Results within <0.01% of external calculation
259
-
260
- Perfect for price discovery and UI updates.`);
261
- },
262
- };
263
-
264
- /**
265
- * Calculate Buy Amount (External) - EXTERNAL bonding curve calc
266
- */
267
- export const calculateBuyAmountExternalPrompt: MCPPrompt = {
268
- name: 'galachain-launchpad:calculate-buy-amount-external',
269
- description: 'Calculate buy amount using EXTERNAL GalaChain call (real-time)',
270
- arguments: [
271
- {
272
- name: 'tokenName',
273
- description: 'Token name (e.g., anime, test216253)',
274
- required: true,
275
- },
276
- {
277
- name: 'amount',
278
- description: 'Amount in GALA to spend',
279
- required: true,
280
- },
281
- ],
282
- handler: (args) => {
283
- validateTokenName(args.tokenName, 'tokenName');
284
- validateNumericAmount(args.amount, 'amount');
285
-
286
- return createPromptResponse(`Calculate buy amount using EXTERNAL GalaChain network call.
287
-
288
- Token: ${args.tokenName}
289
- Amount: ${args.amount} GALA
290
-
291
- Use ${MCP_TOOLS.CALCULATE_BUY_AMOUNT_EXTERNAL} for real-time calculation:
292
- - Queries GalaChain network for current pricing
293
- - Most accurate pricing available
294
- - Includes reverse bonding curve fees
295
-
296
- Use this for precise trading decisions.`);
297
- },
298
- };
299
-
300
- /**
301
- * Calculate Sell Amount (Local) - LOCAL sell calc
302
- */
303
- export const calculateSellAmountLocalPrompt: MCPPrompt = {
304
- name: 'galachain-launchpad:calculate-sell-amount-local',
305
- description: 'Calculate sell amount using LOCAL bonding curve (instant)',
306
- arguments: [
307
- {
308
- name: 'tokenName',
309
- description: 'Token name (e.g., anime, test216253)',
310
- required: true,
311
- },
312
- {
313
- name: 'amount',
314
- description: 'Exact token amount to sell',
315
- required: true,
316
- },
317
- ],
318
- handler: (args) => {
319
- validateTokenName(args.tokenName, 'tokenName');
320
- validateNumericAmount(args.amount, 'amount');
321
-
322
- return createPromptResponse(`Calculate sell proceeds using LOCAL bonding curve formula.
323
-
324
- Token: ${args.tokenName}
325
- Sell Amount: ${args.amount} tokens
326
-
327
- Use ${MCP_TOOLS.CALCULATE_SELL_AMOUNT_LOCAL} for instant calculation:
328
- - Uses client-side bonding curve formula
329
- - Requires pool details (fetch separately)
330
- - No network call required
331
-
332
- Display the expected GALA proceeds.`);
333
- },
334
- };
335
-
336
- /**
337
- * Calculate Sell Amount (External) - EXTERNAL sell calc
338
- */
339
- export const calculateSellAmountExternalPrompt: MCPPrompt = {
340
- name: 'galachain-launchpad:calculate-sell-amount-external',
341
- description: 'Calculate sell amount using EXTERNAL GalaChain call (real-time)',
342
- arguments: [
343
- {
344
- name: 'tokenName',
345
- description: 'Token name (e.g., anime, test216253)',
346
- required: true,
347
- },
348
- {
349
- name: 'amount',
350
- description: 'Exact token amount to sell',
351
- required: true,
352
- },
353
- ],
354
- handler: (args) => {
355
- validateTokenName(args.tokenName, 'tokenName');
356
- validateNumericAmount(args.amount, 'amount');
357
-
358
- return createPromptResponse(`Calculate sell proceeds using EXTERNAL GalaChain network call.
359
-
360
- Token: ${args.tokenName}
361
- Sell Amount: ${args.amount} tokens
362
-
363
- Use ${MCP_TOOLS.CALCULATE_SELL_AMOUNT_EXTERNAL} for real-time calculation:
364
- - Queries GalaChain network for current pricing
365
- - Most accurate pricing available
366
- - Includes reverse bonding curve fees
367
-
368
- Use this for precise selling decisions.`);
369
- },
370
- };
371
-
372
- /**
373
- * Is Token Graduated - Graduation status check
374
- */
375
- export const isTokenGraduatedPrompt: MCPPrompt = {
376
- name: 'galachain-launchpad:is-token-graduated',
377
- description: 'Check if a token has completed bonding curve and graduated to DEX',
378
- arguments: [
379
- {
380
- name: 'tokenName',
381
- description: 'Token name (e.g., anime, test216253)',
382
- required: true,
383
- },
384
- ],
385
- handler: (args) => {
386
- validateTokenName(args.tokenName, 'tokenName');
387
-
388
- return createPromptResponse(
389
- createSimpleOperationText({
390
- operation: 'Check token graduation status.',
391
- parameters: {
392
- token_name: `Token: ${args.tokenName}`,
393
- },
394
- toolName: MCP_TOOLS.IS_TOKEN_GRADUATED,
395
- actionDescription: 'determine whether token has completed bonding curve and is trading on full DEX',
396
- displayFormat: 'Display the graduation status clearly.',
397
- })
398
- );
399
- },
400
- };
401
-
402
- export const tradingCalculationPrompts: MCPPrompt[] = [
403
- calculateBuyAmountPrompt,
404
- calculateSellAmountPrompt,
405
- fetchTradesPrompt,
406
- calculateInitialBuyPrompt,
407
- getBundlerTransactionResultPrompt,
408
- calculateBuyAmountForGraduationPrompt,
409
- calculateBuyAmountLocalPrompt,
410
- calculateBuyAmountExternalPrompt,
411
- calculateSellAmountLocalPrompt,
412
- calculateSellAmountExternalPrompt,
413
- isTokenGraduatedPrompt,
414
- ];
@@ -1,160 +0,0 @@
1
- /**
2
- * Trading Prompts
3
- *
4
- * Slash commands for trading operations on Gala Launchpad
5
- */
6
-
7
- import type { MCPPrompt } from '../types/mcp.js';
8
- import {
9
- createTradingWorkflow,
10
- createAnalysisWorkflow,
11
- } from './utils/workflowTemplates.js';
12
- import { validateTokenName, validateNumericAmount, validateOptionalSlippage } from '../utils/validation.js';
13
- import { createPromptResponse } from './utils/handlerHelpers.js';
14
-
15
- /**
16
- * Analyze Token - Complete token analysis workflow
17
- */
18
- export const analyzeTokenPrompt: MCPPrompt = {
19
- name: 'galachain-launchpad:analyze-token',
20
- description:
21
- 'Perform comprehensive analysis of a Launchpad token including pool details, spot price, and graduation cost',
22
- arguments: [
23
- {
24
- name: 'tokenName',
25
- description: 'Token name to analyze (e.g., anime, test216253)',
26
- required: true,
27
- },
28
- ],
29
- handler: (args) => {
30
- // Validate inputs
31
- validateTokenName(args.tokenName);
32
-
33
- return createPromptResponse(createAnalysisWorkflow(args.tokenName));
34
- },
35
- };
36
-
37
- /**
38
- * Buy Tokens - Guided token purchase workflow
39
- */
40
- export const buyTokensPrompt: MCPPrompt = {
41
- name: 'galachain-launchpad:buy-tokens',
42
- description: 'Guide user through buying tokens with slippage protection and cost breakdown',
43
- arguments: [
44
- {
45
- name: 'tokenName',
46
- description: 'Token to buy (e.g., anime)',
47
- required: true,
48
- },
49
- {
50
- name: 'galaAmount',
51
- description: 'GALA amount to spend (e.g., 100)',
52
- required: true,
53
- },
54
- {
55
- name: 'slippage',
56
- description: 'Slippage tolerance percentage (default: 1)',
57
- required: false,
58
- },
59
- ],
60
- handler: (args) => {
61
- // Validate inputs
62
- validateTokenName(args.tokenName);
63
- validateNumericAmount(args.galaAmount, 'galaAmount');
64
- validateOptionalSlippage(args.slippage);
65
-
66
- return createPromptResponse(
67
- createTradingWorkflow({
68
- operation: 'buy',
69
- tokenName: args.tokenName,
70
- amount: args.galaAmount,
71
- amountType: 'gala',
72
- slippage: args.slippage || '1',
73
- })
74
- );
75
- },
76
- };
77
-
78
- /**
79
- * Sell Tokens - Guided token sale workflow
80
- */
81
- export const sellTokensPrompt: MCPPrompt = {
82
- name: 'galachain-launchpad:sell-tokens',
83
- description: 'Guide user through selling tokens with slippage protection',
84
- arguments: [
85
- {
86
- name: 'tokenName',
87
- description: 'Token to sell (e.g., anime)',
88
- required: true,
89
- },
90
- {
91
- name: 'tokenAmount',
92
- description: 'Token amount to sell (e.g., 1000)',
93
- required: true,
94
- },
95
- {
96
- name: 'slippage',
97
- description: 'Slippage tolerance percentage (default: 1)',
98
- required: false,
99
- },
100
- ],
101
- handler: (args) => {
102
- // Validate inputs
103
- validateTokenName(args.tokenName);
104
- validateNumericAmount(args.tokenAmount, 'tokenAmount');
105
- validateOptionalSlippage(args.slippage);
106
-
107
- return createPromptResponse(
108
- createTradingWorkflow({
109
- operation: 'sell',
110
- tokenName: args.tokenName,
111
- amount: args.tokenAmount,
112
- slippage: args.slippage || '1',
113
- })
114
- );
115
- },
116
- };
117
-
118
- /**
119
- * Graduate Token - One-step graduation workflow
120
- */
121
- export const graduateTokenPrompt: MCPPrompt = {
122
- name: 'galachain-launchpad:graduate-token',
123
- description:
124
- 'Graduate a bonding curve pool by buying all remaining tokens in one transaction',
125
- arguments: [
126
- {
127
- name: 'tokenName',
128
- description: 'Token to graduate (e.g., anime)',
129
- required: true,
130
- },
131
- {
132
- name: 'slippage',
133
- description: 'Slippage tolerance percentage (default: 1)',
134
- required: false,
135
- },
136
- ],
137
- handler: (args) => {
138
- // Validate inputs
139
- validateTokenName(args.tokenName);
140
- validateOptionalSlippage(args.slippage);
141
-
142
- return createPromptResponse(
143
- createTradingWorkflow({
144
- operation: 'graduate',
145
- tokenName: args.tokenName,
146
- slippage: args.slippage || '1',
147
- })
148
- );
149
- },
150
- };
151
-
152
- /**
153
- * Export all trading prompts
154
- */
155
- export const tradingPrompts: MCPPrompt[] = [
156
- analyzeTokenPrompt,
157
- buyTokensPrompt,
158
- sellTokensPrompt,
159
- graduateTokenPrompt,
160
- ];