@gala-chain/launchpad-mcp-server 1.17.7 → 1.19.1

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 (103) hide show
  1. package/CHANGELOG.md +209 -0
  2. package/README.md +87 -7
  3. package/dist/generated/version.d.ts +1 -1
  4. package/dist/generated/version.js +1 -1
  5. package/dist/prompts/create-token.d.ts +15 -0
  6. package/dist/prompts/create-token.d.ts.map +1 -0
  7. package/dist/prompts/create-token.js +106 -0
  8. package/dist/prompts/create-token.js.map +1 -0
  9. package/dist/prompts/dex-trading.d.ts +18 -0
  10. package/dist/prompts/dex-trading.d.ts.map +1 -0
  11. package/dist/prompts/dex-trading.js +83 -0
  12. package/dist/prompts/dex-trading.js.map +1 -0
  13. package/dist/prompts/discover-tokens.d.ts +15 -0
  14. package/dist/prompts/discover-tokens.d.ts.map +1 -0
  15. package/dist/prompts/discover-tokens.js +78 -0
  16. package/dist/prompts/discover-tokens.js.map +1 -0
  17. package/dist/prompts/index.d.ts +9 -4
  18. package/dist/prompts/index.d.ts.map +1 -1
  19. package/dist/prompts/index.js +20 -3
  20. package/dist/prompts/index.js.map +1 -1
  21. package/dist/prompts/utils/workflowTemplates.d.ts +28 -0
  22. package/dist/prompts/utils/workflowTemplates.d.ts.map +1 -1
  23. package/dist/prompts/utils/workflowTemplates.js +136 -0
  24. package/dist/prompts/utils/workflowTemplates.js.map +1 -1
  25. package/dist/server.js +1 -1
  26. package/dist/server.js.map +1 -1
  27. package/dist/tools/dex/index.d.ts +14 -0
  28. package/dist/tools/dex/index.d.ts.map +1 -0
  29. package/dist/tools/dex/index.js +202 -0
  30. package/dist/tools/dex/index.js.map +1 -0
  31. package/dist/tools/index.d.ts +1 -1
  32. package/dist/tools/index.d.ts.map +1 -1
  33. package/dist/tools/index.js +18 -12
  34. package/dist/tools/index.js.map +1 -1
  35. package/dist/tools/utils/explainSdkUsage.d.ts.map +1 -1
  36. package/dist/tools/utils/explainSdkUsage.js +101 -8
  37. package/dist/tools/utils/explainSdkUsage.js.map +1 -1
  38. package/dist/utils/validation.d.ts +18 -0
  39. package/dist/utils/validation.d.ts.map +1 -1
  40. package/dist/utils/validation.js +35 -0
  41. package/dist/utils/validation.js.map +1 -1
  42. package/package.json +3 -3
  43. package/docs/AI-AGENT-PATTERNS.md +0 -555
  44. package/docs/CONSTRAINTS-REFERENCE.md +0 -454
  45. package/docs/PROMPT-TOOL-MAPPING.md +0 -352
  46. package/docs/examples/default-values-pattern.md +0 -240
  47. package/docs/examples/tool-factory-pattern.md +0 -217
  48. package/jest.config.js +0 -94
  49. package/src/__tests__/integration/fetchTokenDetails.integration.test.ts +0 -258
  50. package/src/__tests__/integration/poolTools.integration.test.ts +0 -185
  51. package/src/constants/mcpToolNames.ts +0 -141
  52. package/src/index.ts +0 -19
  53. package/src/prompts/__tests__/promptStructure.test.ts +0 -114
  54. package/src/prompts/__tests__/registry.test.ts +0 -145
  55. package/src/prompts/analysis.ts +0 -429
  56. package/src/prompts/index.ts +0 -127
  57. package/src/prompts/portfolio.ts +0 -242
  58. package/src/prompts/trading.ts +0 -191
  59. package/src/prompts/utility.ts +0 -43
  60. package/src/prompts/utils/workflowTemplates.ts +0 -344
  61. package/src/schemas/common-schemas.ts +0 -393
  62. package/src/scripts/test-all-prompts.ts +0 -184
  63. package/src/server.ts +0 -277
  64. package/src/tools/balance/index.ts +0 -174
  65. package/src/tools/creation/index.ts +0 -182
  66. package/src/tools/index.ts +0 -80
  67. package/src/tools/pools/fetchAllPools.ts +0 -47
  68. package/src/tools/pools/fetchAllPriceHistory.ts +0 -119
  69. package/src/tools/pools/fetchPoolDetails.ts +0 -27
  70. package/src/tools/pools/fetchPoolDetailsForCalculation.ts +0 -22
  71. package/src/tools/pools/fetchPools.ts +0 -47
  72. package/src/tools/pools/fetchPriceHistory.ts +0 -124
  73. package/src/tools/pools/fetchTokenDetails.ts +0 -77
  74. package/src/tools/pools/index.ts +0 -284
  75. package/src/tools/social/index.ts +0 -64
  76. package/src/tools/trading/index.ts +0 -605
  77. package/src/tools/transfers/index.ts +0 -75
  78. package/src/tools/utils/clearCache.ts +0 -36
  79. package/src/tools/utils/createWallet.ts +0 -19
  80. package/src/tools/utils/explainSdkUsage.ts +0 -1420
  81. package/src/tools/utils/getAddress.ts +0 -12
  82. package/src/tools/utils/getCacheInfo.ts +0 -14
  83. package/src/tools/utils/getConfig.ts +0 -11
  84. package/src/tools/utils/getEthereumAddress.ts +0 -12
  85. package/src/tools/utils/getUrlByTokenName.ts +0 -12
  86. package/src/tools/utils/getVersion.ts +0 -25
  87. package/src/tools/utils/getWallet.ts +0 -25
  88. package/src/tools/utils/hasWallet.ts +0 -15
  89. package/src/tools/utils/index.ts +0 -33
  90. package/src/tools/utils/isTokenGraduated.ts +0 -16
  91. package/src/tools/utils/setWallet.ts +0 -41
  92. package/src/types/mcp.ts +0 -72
  93. package/src/utils/__tests__/validation.test.ts +0 -147
  94. package/src/utils/constraints.ts +0 -155
  95. package/src/utils/default-values.ts +0 -208
  96. package/src/utils/error-handler.ts +0 -69
  97. package/src/utils/error-templates.ts +0 -273
  98. package/src/utils/response-formatter.ts +0 -51
  99. package/src/utils/tool-factory.ts +0 -257
  100. package/src/utils/tool-registry.ts +0 -296
  101. package/src/utils/validation.ts +0 -336
  102. package/tests/wallet-management-integration.test.ts +0 -284
  103. package/tsconfig.json +0 -23
@@ -0,0 +1,202 @@
1
+ "use strict";
2
+ /**
3
+ * DEX/GalaSwap Trading Operations Tools
4
+ *
5
+ * Tools for trading on GalaSwap DEX after tokens graduate from bonding curves.
6
+ * These tools provide quote generation, swap execution, and asset management.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.dexTools = exports.getSwapPoolInfoTool = exports.getSwapUserAssetsTool = exports.executeSwapTool = exports.getSwapQuoteExactOutputTool = exports.getSwapQuoteExactInputTool = 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
+ const common_schemas_js_1 = require("../../schemas/common-schemas.js");
13
+ // Token symbol for DEX trading
14
+ const TOKEN_SYMBOL_SCHEMA = {
15
+ type: 'string',
16
+ minLength: 1,
17
+ maxLength: 20,
18
+ description: 'Token symbol (e.g., "GALA", "GUSDC")',
19
+ };
20
+ // Fee tier for GalaSwap (in basis points)
21
+ const FEE_TIER_SCHEMA = {
22
+ type: 'number',
23
+ enum: [500, 3000, 10000],
24
+ description: 'Fee tier in basis points: 500 (0.05%), 3000 (0.30%), 10000 (1.00%)',
25
+ };
26
+ // Slippage tolerance
27
+ const SLIPPAGE_TOLERANCE_SCHEMA = {
28
+ type: 'number',
29
+ minimum: 0,
30
+ maximum: 1,
31
+ description: 'Slippage tolerance as decimal (e.g., 0.01 for 1%)',
32
+ };
33
+ // 1. Get Swap Quote (Exact Input)
34
+ exports.getSwapQuoteExactInputTool = {
35
+ name: 'gala_launchpad_get_swap_quote_exact_input',
36
+ description: 'Get swap quote for exact input amount - specify how much you want to spend',
37
+ inputSchema: {
38
+ type: 'object',
39
+ properties: {
40
+ fromToken: TOKEN_SYMBOL_SCHEMA,
41
+ toToken: TOKEN_SYMBOL_SCHEMA,
42
+ amount: {
43
+ ...common_schemas_js_1.DECIMAL_AMOUNT_SCHEMA,
44
+ description: 'Amount of source token to spend',
45
+ },
46
+ },
47
+ required: ['fromToken', 'toToken', 'amount'],
48
+ },
49
+ handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
50
+ const quote = await sdk.getSwapQuoteExactInput(args.fromToken, args.toToken, args.amount);
51
+ return (0, response_formatter_js_1.formatSuccess)({
52
+ fromToken: quote.fromToken,
53
+ toToken: quote.toToken,
54
+ inputAmount: quote.inputAmount,
55
+ estimatedOutput: quote.estimatedOutput,
56
+ feeTier: quote.feeTier,
57
+ priceImpact: quote.priceImpact,
58
+ executionPrice: quote.executionPrice,
59
+ message: `Spending ${quote.inputAmount} ${quote.fromToken}, receiving ~${quote.estimatedOutput} ${quote.toToken}`,
60
+ });
61
+ }),
62
+ };
63
+ // 2. Get Swap Quote (Exact Output)
64
+ exports.getSwapQuoteExactOutputTool = {
65
+ name: 'gala_launchpad_get_swap_quote_exact_output',
66
+ description: 'Get swap quote for exact output amount - specify how much you want to receive',
67
+ inputSchema: {
68
+ type: 'object',
69
+ properties: {
70
+ fromToken: TOKEN_SYMBOL_SCHEMA,
71
+ toToken: TOKEN_SYMBOL_SCHEMA,
72
+ amount: {
73
+ ...common_schemas_js_1.DECIMAL_AMOUNT_SCHEMA,
74
+ description: 'Desired amount of destination token to receive',
75
+ },
76
+ },
77
+ required: ['fromToken', 'toToken', 'amount'],
78
+ },
79
+ handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
80
+ const quote = await sdk.getSwapQuoteExactOutput(args.fromToken, args.toToken, args.amount);
81
+ return (0, response_formatter_js_1.formatSuccess)({
82
+ fromToken: quote.fromToken,
83
+ toToken: quote.toToken,
84
+ inputAmount: quote.inputAmount,
85
+ estimatedOutput: quote.estimatedOutput,
86
+ feeTier: quote.feeTier,
87
+ priceImpact: quote.priceImpact,
88
+ executionPrice: quote.executionPrice,
89
+ message: `Spending ~${quote.inputAmount} ${quote.fromToken}, receiving ${quote.estimatedOutput} ${quote.toToken}`,
90
+ });
91
+ }),
92
+ };
93
+ // 3. Execute Swap
94
+ exports.executeSwapTool = {
95
+ name: 'gala_launchpad_execute_swap',
96
+ description: 'Execute a token swap on GalaSwap DEX with slippage protection. Get a quote first using getSwapQuote tools.',
97
+ inputSchema: {
98
+ type: 'object',
99
+ properties: {
100
+ fromToken: TOKEN_SYMBOL_SCHEMA,
101
+ toToken: TOKEN_SYMBOL_SCHEMA,
102
+ inputAmount: {
103
+ ...common_schemas_js_1.DECIMAL_AMOUNT_SCHEMA,
104
+ description: 'Amount of source token to spend',
105
+ },
106
+ estimatedOutput: {
107
+ ...common_schemas_js_1.DECIMAL_AMOUNT_SCHEMA,
108
+ description: 'Expected output amount from quote (for slippage calculation)',
109
+ },
110
+ feeTier: FEE_TIER_SCHEMA,
111
+ slippageTolerance: {
112
+ ...SLIPPAGE_TOLERANCE_SCHEMA,
113
+ default: 0.01,
114
+ },
115
+ },
116
+ required: ['fromToken', 'toToken', 'inputAmount', 'estimatedOutput', 'feeTier'],
117
+ },
118
+ handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
119
+ // Validate wallet before execution by trying to get address
120
+ try {
121
+ sdk.getAddress();
122
+ }
123
+ catch {
124
+ throw new Error('Wallet not configured - required for swap execution');
125
+ }
126
+ const result = await sdk.executeSwap(args.fromToken, args.toToken, args.inputAmount, args.estimatedOutput, args.feeTier, args.slippageTolerance || 0.01);
127
+ return (0, response_formatter_js_1.formatSuccess)({
128
+ transactionId: result.transactionId,
129
+ status: result.status,
130
+ fromToken: result.fromToken,
131
+ toToken: result.toToken,
132
+ inputAmount: result.inputAmount,
133
+ outputAmount: result.outputAmount,
134
+ feeTier: result.feeTier,
135
+ slippageTolerance: result.slippageTolerance,
136
+ timestamp: result.timestamp.toISOString(),
137
+ message: `Swap completed! Sent ${result.inputAmount} ${result.fromToken}, received ${result.outputAmount} ${result.toToken}`,
138
+ });
139
+ }),
140
+ };
141
+ // 4. Get User Assets
142
+ exports.getSwapUserAssetsTool = {
143
+ name: 'gala_launchpad_get_swap_user_assets',
144
+ description: 'Get all token assets and balances for a wallet address',
145
+ inputSchema: {
146
+ type: 'object',
147
+ properties: {
148
+ walletAddress: {
149
+ ...common_schemas_js_1.ADDRESS_SCHEMA,
150
+ description: 'Wallet address to query (e.g., "0x1234..." or "eth|1234...")',
151
+ },
152
+ },
153
+ required: ['walletAddress'],
154
+ },
155
+ handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
156
+ const assets = await sdk.getSwapUserAssets(args.walletAddress);
157
+ return (0, response_formatter_js_1.formatSuccess)({
158
+ walletAddress: args.walletAddress,
159
+ assetCount: assets.length,
160
+ assets: assets.map((asset) => ({
161
+ symbol: asset.symbol,
162
+ balance: asset.balance,
163
+ decimals: asset.decimals,
164
+ })),
165
+ message: `${assets.length} assets found for wallet ${args.walletAddress}`,
166
+ });
167
+ }),
168
+ };
169
+ // 5. Get Pool Info
170
+ exports.getSwapPoolInfoTool = {
171
+ name: 'gala_launchpad_get_swap_pool_info',
172
+ description: 'Get liquidity and fee tier information for a token pair on GalaSwap DEX',
173
+ inputSchema: {
174
+ type: 'object',
175
+ properties: {
176
+ tokenA: TOKEN_SYMBOL_SCHEMA,
177
+ tokenB: TOKEN_SYMBOL_SCHEMA,
178
+ },
179
+ required: ['tokenA', 'tokenB'],
180
+ },
181
+ handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
182
+ const poolInfo = await sdk.getSwapPoolInfo(args.tokenA, args.tokenB);
183
+ return (0, response_formatter_js_1.formatSuccess)({
184
+ tokenA: poolInfo.tokenA,
185
+ tokenB: poolInfo.tokenB,
186
+ liquidity: poolInfo.liquidity,
187
+ feeTiers: poolInfo.feeTiers,
188
+ feeTiersFormatted: poolInfo.feeTiers.map((tier) => `${tier / 100}%`),
189
+ swapCount: poolInfo.swapCount,
190
+ message: `Pool ${args.tokenA}/${args.tokenB} has ${poolInfo.liquidity} liquidity with ${poolInfo.feeTiers.length} fee tiers`,
191
+ });
192
+ }),
193
+ };
194
+ // Export all DEX tools
195
+ exports.dexTools = [
196
+ exports.getSwapQuoteExactInputTool,
197
+ exports.getSwapQuoteExactOutputTool,
198
+ exports.executeSwapTool,
199
+ exports.getSwapUserAssetsTool,
200
+ exports.getSwapPoolInfoTool,
201
+ ];
202
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/dex/index.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * @see src/utils/tool-registry.ts
8
8
  */
9
9
  /**
10
- * Enhanced tool registry with validation (57 tools)
10
+ * Enhanced tool registry with validation (62 tools - added 5 DEX tools in v3.23.0)
11
11
  */
12
12
  export declare const registry: import("../utils/tool-registry.js").ToolRegistry;
13
13
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAoDH;;GAEG;AACH,eAAO,MAAM,QAAQ,kDAAyC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,KAAK,qCAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA0DH;;GAEG;AACH,eAAO,MAAM,QAAQ,kDAAyC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,KAAK,qCAAiB,CAAC"}
@@ -11,11 +11,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.tools = exports.registry = void 0;
12
12
  const index_js_1 = require("./pools/index.js");
13
13
  const index_js_2 = require("./trading/index.js");
14
- const index_js_3 = require("./balance/index.js");
15
- const index_js_4 = require("./creation/index.js");
16
- const index_js_5 = require("./social/index.js");
17
- const index_js_6 = require("./transfers/index.js");
18
- const index_js_7 = require("./utils/index.js");
14
+ const index_js_3 = require("./dex/index.js");
15
+ const index_js_4 = require("./balance/index.js");
16
+ const index_js_5 = require("./creation/index.js");
17
+ const index_js_6 = require("./social/index.js");
18
+ const index_js_7 = require("./transfers/index.js");
19
+ const index_js_8 = require("./utils/index.js");
19
20
  const tool_registry_js_1 = require("../utils/tool-registry.js");
20
21
  /**
21
22
  * Tool categories with metadata
@@ -31,36 +32,41 @@ const toolCategories = [
31
32
  description: 'Token trading operations (buy, sell, calculate amounts)',
32
33
  tools: index_js_2.tradingTools,
33
34
  },
35
+ {
36
+ name: 'dex',
37
+ description: 'DEX/GalaSwap trading for graduated tokens (NEW in v3.23.0)',
38
+ tools: index_js_3.dexTools,
39
+ },
34
40
  {
35
41
  name: 'balance',
36
42
  description: 'Balance queries and portfolio management',
37
- tools: index_js_3.balanceTools,
43
+ tools: index_js_4.balanceTools,
38
44
  },
39
45
  {
40
46
  name: 'creation',
41
47
  description: 'Token creation and launch operations',
42
- tools: index_js_4.creationTools,
48
+ tools: index_js_5.creationTools,
43
49
  },
44
50
  {
45
51
  name: 'social',
46
52
  description: 'Comments and social interactions',
47
- tools: index_js_5.socialTools,
53
+ tools: index_js_6.socialTools,
48
54
  },
49
55
  {
50
56
  name: 'transfers',
51
57
  description: 'Token and GALA transfer operations',
52
- tools: index_js_6.transferTools,
58
+ tools: index_js_7.transferTools,
53
59
  },
54
60
  {
55
61
  name: 'utils',
56
62
  description: 'Utility tools (wallet, config, SDK documentation)',
57
- tools: index_js_7.utilityTools,
63
+ tools: index_js_8.utilityTools,
58
64
  },
59
65
  ];
60
66
  /**
61
- * Enhanced tool registry with validation (57 tools)
67
+ * Enhanced tool registry with validation (62 tools - added 5 DEX tools in v3.23.0)
62
68
  */
63
- exports.registry = (0, tool_registry_js_1.createToolRegistry)(toolCategories, 57);
69
+ exports.registry = (0, tool_registry_js_1.createToolRegistry)(toolCategories, 62);
64
70
  /**
65
71
  * Complete tool array (for backward compatibility)
66
72
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,+CAA6C;AAC7C,iDAAkD;AAClD,iDAAkD;AAClD,kDAAoD;AACpD,gDAAgD;AAChD,mDAAqD;AACrD,+CAAgD;AAChD,gEAAgF;AAEhF;;GAEG;AACH,MAAM,cAAc,GAAG;IACrB;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,yDAAyD;QACtE,KAAK,EAAE,oBAAS;KACjB;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,yDAAyD;QACtE,KAAK,EAAE,uBAAY;KACpB;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,0CAA0C;QACvD,KAAK,EAAE,uBAAY;KACpB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,sCAAsC;QACnD,KAAK,EAAE,wBAAa;KACrB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,kCAAkC;QAC/C,KAAK,EAAE,sBAAW;KACnB;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,oCAAoC;QACjD,KAAK,EAAE,wBAAa;KACrB;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,mDAAmD;QAChE,KAAK,EAAE,uBAAY;KACpB;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,QAAQ,GAAG,IAAA,qCAAkB,EAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AAE/D;;GAEG;AACU,QAAA,KAAK,GAAG,gBAAQ,CAAC,KAAK,CAAC;AAEpC,wCAAwC;AACxC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;IACjC,IAAA,kCAAe,EAAC,gBAAQ,CAAC,CAAC;AAC5B,CAAC;AAED,qCAAqC;AACrC,IAAI,CAAC,gBAAQ,CAAC,OAAO,EAAE,CAAC;IACtB,MAAM,IAAI,KAAK,CACb,qCAAqC,gBAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,+CAA6C;AAC7C,iDAAkD;AAClD,6CAA0C;AAC1C,iDAAkD;AAClD,kDAAoD;AACpD,gDAAgD;AAChD,mDAAqD;AACrD,+CAAgD;AAChD,gEAAgF;AAEhF;;GAEG;AACH,MAAM,cAAc,GAAG;IACrB;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,yDAAyD;QACtE,KAAK,EAAE,oBAAS;KACjB;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,yDAAyD;QACtE,KAAK,EAAE,uBAAY;KACpB;IACD;QACE,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,4DAA4D;QACzE,KAAK,EAAE,mBAAQ;KAChB;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,0CAA0C;QACvD,KAAK,EAAE,uBAAY;KACpB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,sCAAsC;QACnD,KAAK,EAAE,wBAAa;KACrB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,kCAAkC;QAC/C,KAAK,EAAE,sBAAW;KACnB;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,oCAAoC;QACjD,KAAK,EAAE,wBAAa;KACrB;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,mDAAmD;QAChE,KAAK,EAAE,uBAAY;KACpB;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,QAAQ,GAAG,IAAA,qCAAkB,EAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AAE/D;;GAEG;AACU,QAAA,KAAK,GAAG,gBAAQ,CAAC,KAAK,CAAC;AAEpC,wCAAwC;AACxC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;IACjC,IAAA,kCAAe,EAAC,gBAAQ,CAAC,CAAC;AAC5B,CAAC;AAED,qCAAqC;AACrC,IAAI,CAAC,gBAAQ,CAAC,OAAO,EAAE,CAAC;IACtB,MAAM,IAAI,KAAK,CACb,qCAAqC,gBAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClE,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"explainSdkUsage.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/explainSdkUsage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AA4zClD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAqEjC,CAAC"}
1
+ {"version":3,"file":"explainSdkUsage.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/explainSdkUsage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAw5ClD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAuEjC,CAAC"}
@@ -520,6 +520,88 @@ async function transferTokens() {
520
520
  **MCP Tool Equivalents:**
521
521
  - \`gala_launchpad_transfer_gala\`
522
522
  - \`gala_launchpad_transfer_token\`
523
+ `,
524
+ 'dex-trading': `
525
+ ## DEX Trading with SDK - GalaSwap Integration
526
+
527
+ Trade graduated tokens on the GalaSwap DEX with real-time WebSocket monitoring:
528
+
529
+ \`\`\`typescript
530
+ import { createLaunchpadSDK } from '@gala-chain/launchpad-sdk';
531
+
532
+ async function dexTradingExample() {
533
+ // 1. Initialize SDK with wallet
534
+ const sdk = createLaunchpadSDK({
535
+ wallet: 'your-private-key',
536
+ env: 'production'
537
+ });
538
+
539
+ // ============================================================================
540
+ // QUOTES: Get pricing information (read-only operations)
541
+ // ============================================================================
542
+
543
+ // Quote 1: Exact input (spend known GALA amount)
544
+ const quoteIn = await sdk.getSwapQuoteExactInput('GALA', 'GUSDC', '100');
545
+ console.log('Spend 100 GALA → get ~' + quoteIn.estimatedOutput + ' GUSDC');
546
+ console.log('Price impact: ' + quoteIn.priceImpact + '%');
547
+ console.log('Fee tier: ' + quoteIn.feeTier + ' bps');
548
+
549
+ // Quote 2: Exact output (get known token amount)
550
+ const quoteOut = await sdk.getSwapQuoteExactOutput('GALA', 'GUSDC', '100');
551
+ console.log('Get exactly 100 GUSDC → need ~' + quoteOut.inputAmount + ' GALA');
552
+
553
+ // ============================================================================
554
+ // EXECUTE: Perform the swap with slippage protection
555
+ // ============================================================================
556
+
557
+ const result = await sdk.executeSwap(
558
+ 'GALA', // from token
559
+ 'GUSDC', // to token
560
+ '100', // input amount (100 GALA)
561
+ quoteIn.estimatedOutput, // Use quote's output!
562
+ quoteIn.feeTier, // Use quote's fee tier!
563
+ 0.01 // 1% slippage tolerance
564
+ );
565
+
566
+ console.log('Transaction ID: ' + result.transactionId);
567
+ console.log('Status: ' + result.status);
568
+ console.log('Received: ' + result.outputAmount + ' ' + result.toToken);
569
+
570
+ // ============================================================================
571
+ // PORTFOLIO: Check balances and assets
572
+ // ============================================================================
573
+
574
+ const assets = await sdk.getSwapUserAssets(sdk.getEthereumAddress());
575
+ console.log('Assets in wallet:');
576
+ assets.forEach(asset => {
577
+ console.log(' ' + asset.symbol + ': ' + asset.balance);
578
+ });
579
+
580
+ // ============================================================================
581
+ // POOL INFO: Check liquidity before trading
582
+ // ============================================================================
583
+
584
+ const pool = await sdk.getSwapPoolInfo('GALA', 'GUSDC');
585
+ console.log('GALA↔GUSDC Pool Info:');
586
+ console.log(' Liquidity: ' + pool.liquidity);
587
+ console.log(' Available fee tiers: ' + pool.feeTiers.join(', ') + ' bps');
588
+ console.log(' 24h swaps: ' + pool.swapCount);
589
+ }
590
+ \`\`\`
591
+
592
+ **Key Architecture:**
593
+ - **Unified WebSocket**: Uses LaunchpadSDK's unified WebSocket for transaction monitoring
594
+ - **Environment Alignment**: STAGE/PROD URLs must match between LaunchpadSDK and GSwapService
595
+ - **Token Formats**: Supports simple names ('GALA') or full IDs ('GALA|Unit|none|none')
596
+ - **Slippage Protection**: Always use quote values for execution
597
+ - **Fee Tiers**: 500 (0.05%), 3000 (0.30%), 10000 (1.00%)
598
+
599
+ **MCP Tool Equivalents:**
600
+ - \`gala_launchpad_get_swap_quote_exact_input\`
601
+ - \`gala_launchpad_get_swap_quote_exact_output\`
602
+ - \`gala_launchpad_execute_swap\`
603
+ - \`gala_launchpad_get_swap_user_assets\`
604
+ - \`gala_launchpad_get_swap_pool_info\`
523
605
  `,
524
606
  'error-handling': `
525
607
  ## Error Handling with SDK
@@ -631,22 +713,22 @@ import type {
631
713
  ### Environment Configuration
632
714
 
633
715
  \`\`\`typescript
634
- // Development (default)
716
+ // Production (default)
635
717
  const sdk = createLaunchpadSDK({
636
718
  wallet: 'your-private-key',
637
719
  config: {
638
- baseUrl: 'https://lpad-backend-dev1.defi.gala.com',
639
- debug: true
720
+ baseUrl: 'https://lpad-backend-prod1.defi.gala.com',
721
+ debug: false,
722
+ timeout: 60000
640
723
  }
641
724
  });
642
725
 
643
- // Production
726
+ // Development
644
727
  const sdk = createLaunchpadSDK({
645
728
  wallet: 'your-private-key',
646
729
  config: {
647
- baseUrl: 'https://lpad-backend-prod1.defi.gala.com',
648
- debug: false,
649
- timeout: 60000
730
+ baseUrl: 'https://lpad-backend-dev1.defi.gala.com',
731
+ debug: true
650
732
  }
651
733
  });
652
734
  \`\`\`
@@ -1299,6 +1381,15 @@ function calculateGini(holders: Array<{balance: string}>) {
1299
1381
  | \`gala_launchpad_update_profile\` | \`sdk.updateProfile(data)\` | Update profile info |
1300
1382
  | \`gala_launchpad_upload_profile_image\` | \`sdk.uploadProfileImage(options)\` | Upload profile image |
1301
1383
 
1384
+ ### GSwap DEX Trading
1385
+ | MCP Tool | SDK Method | Notes |
1386
+ |----------|------------|-------|
1387
+ | \`gala_launchpad_get_swap_quote_exact_input\` | \`sdk.getSwapQuoteExactInput(fromToken, toToken, amount)\` | Get quote for known input |
1388
+ | \`gala_launchpad_get_swap_quote_exact_output\` | \`sdk.getSwapQuoteExactOutput(fromToken, toToken, amount)\` | Get quote for known output |
1389
+ | \`gala_launchpad_execute_swap\` | \`sdk.executeSwap(fromToken, toToken, amount, estimatedOutput, feeTier, slippage)\` | Execute swap with slippage |
1390
+ | \`gala_launchpad_get_swap_user_assets\` | \`sdk.getSwapUserAssets(walletAddress)\` | Get token balances on DEX |
1391
+ | \`gala_launchpad_get_swap_pool_info\` | \`sdk.getSwapPoolInfo(tokenA, tokenB)\` | Get liquidity & fee tiers |
1392
+
1302
1393
  ### Token Creation
1303
1394
  | MCP Tool | SDK Method | Notes |
1304
1395
  |----------|------------|-------|
@@ -1344,6 +1435,7 @@ Available topics:
1344
1435
  - 'pool-graduation' - Graduate a bonding curve pool
1345
1436
  - 'fetch-pools' - Query pool data and details
1346
1437
  - 'balances' - Check GALA and token balances
1438
+ - 'dex-trading' - GalaSwap DEX trading (quotes, swaps, assets, pool info)
1347
1439
  - 'price-history' - Historical price analysis and technical analysis
1348
1440
  - 'token-details' - Comprehensive token metadata and validation
1349
1441
  - 'token-distribution' - Analyze token holder distribution and concentration
@@ -1354,7 +1446,7 @@ Available topics:
1354
1446
  - 'error-handling' - Handle errors and exceptions
1355
1447
  - 'installation' - Install and configure SDK
1356
1448
  - 'local-calculations' - Local vs external bonding curve calculations
1357
- - 'mcp-to-sdk-mapping' - Complete mapping of MCP tools to SDK methods (56+ tools)
1449
+ - 'mcp-to-sdk-mapping' - Complete mapping of MCP tools to SDK methods (57+ tools)
1358
1450
 
1359
1451
  Returns runnable TypeScript code examples with explanations.`,
1360
1452
  inputSchema: {
@@ -1368,6 +1460,7 @@ Returns runnable TypeScript code examples with explanations.`,
1368
1460
  'pool-graduation',
1369
1461
  'fetch-pools',
1370
1462
  'balances',
1463
+ 'dex-trading',
1371
1464
  'price-history',
1372
1465
  'token-details',
1373
1466
  'token-distribution',
@@ -1 +1 @@
1
- {"version":3,"file":"explainSdkUsage.js","sourceRoot":"","sources":["../../../src/tools/utils/explainSdkUsage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explainSdkUsage.js","sourceRoot":"","sources":["../../../src/tools/utils/explainSdkUsage.ts"],"names":[],"mappings":"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"}
@@ -139,6 +139,24 @@ export declare function validatePaginationLimit(limit: string | number, max?: nu
139
139
  * ```
140
140
  */
141
141
  export declare function validateTokenList(tokens: string, fieldName?: string): string[];
142
+ /**
143
+ * Validate URL format
144
+ *
145
+ * URLs must be well-formed HTTP/HTTPS URLs.
146
+ *
147
+ * @param url - URL to validate
148
+ * @param fieldName - Field name for error messages (default: 'url')
149
+ * @throws {ValidationError} If URL is invalid
150
+ *
151
+ * @example
152
+ * ```typescript
153
+ * validateUrl('https://example.com'); // ✅ Valid
154
+ * validateUrl('https://twitter.com/user'); // ✅ Valid
155
+ * validateUrl('http://localhost:3000'); // ✅ Valid
156
+ * validateUrl('not-a-url'); // ❌ Throws: invalid format
157
+ * ```
158
+ */
159
+ export declare function validateUrl(url: string, fieldName?: string): void;
142
160
  /**
143
161
  * Safe validation wrapper that doesn't throw
144
162
  *
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IAE/B,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM;CAKlB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAc,GAAG,IAAI,CAmB7E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,SAAS,EAAE,MAAM,GAChB,IAAI,CAqBN;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,SAAS,SAAa,GACrB,IAAI,CAoBN;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,SAAY,GAAG,IAAI,CAgB5E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,SAAW,GAAG,IAAI,CAmB9E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,GAAG,SAAM,EACT,SAAS,SAAU,GAClB,IAAI,CAoBN;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,SAAW,GAAG,MAAM,EAAE,CA2BhF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAC1B,YAAY,EAAE,MAAM,IAAI,GACvB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAUtC"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IAE/B,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM;CAKlB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAc,GAAG,IAAI,CAmB7E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,SAAS,EAAE,MAAM,GAChB,IAAI,CAqBN;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,SAAS,SAAa,GACrB,IAAI,CAoBN;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,SAAY,GAAG,IAAI,CAgB5E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,SAAW,GAAG,IAAI,CAmB9E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,GAAG,SAAM,EACT,SAAS,SAAU,GAClB,IAAI,CAoBN;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,SAAW,GAAG,MAAM,EAAE,CA2BhF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,SAAQ,GAAG,IAAI,CAgBhE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAC1B,YAAY,EAAE,MAAM,IAAI,GACvB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAUtC"}
@@ -14,6 +14,7 @@ exports.validateAddress = validateAddress;
14
14
  exports.validateTokenSymbol = validateTokenSymbol;
15
15
  exports.validatePaginationLimit = validatePaginationLimit;
16
16
  exports.validateTokenList = validateTokenList;
17
+ exports.validateUrl = validateUrl;
17
18
  exports.safeValidate = safeValidate;
18
19
  /**
19
20
  * Validation error class for better error handling
@@ -245,6 +246,40 @@ function validateTokenList(tokens, fieldName = 'tokens') {
245
246
  });
246
247
  return tokenArray;
247
248
  }
249
+ /**
250
+ * Validate URL format
251
+ *
252
+ * URLs must be well-formed HTTP/HTTPS URLs.
253
+ *
254
+ * @param url - URL to validate
255
+ * @param fieldName - Field name for error messages (default: 'url')
256
+ * @throws {ValidationError} If URL is invalid
257
+ *
258
+ * @example
259
+ * ```typescript
260
+ * validateUrl('https://example.com'); // ✅ Valid
261
+ * validateUrl('https://twitter.com/user'); // ✅ Valid
262
+ * validateUrl('http://localhost:3000'); // ✅ Valid
263
+ * validateUrl('not-a-url'); // ❌ Throws: invalid format
264
+ * ```
265
+ */
266
+ function validateUrl(url, fieldName = 'url') {
267
+ if (!url || typeof url !== 'string') {
268
+ throw new ValidationError(fieldName, 'URL is required');
269
+ }
270
+ try {
271
+ const urlObj = new URL(url);
272
+ if (!['http:', 'https:'].includes(urlObj.protocol)) {
273
+ throw new ValidationError(fieldName, 'URL must use HTTP or HTTPS protocol');
274
+ }
275
+ }
276
+ catch (error) {
277
+ if (error instanceof ValidationError) {
278
+ throw error;
279
+ }
280
+ throw new ValidationError(fieldName, `Invalid URL format: ${url}`);
281
+ }
282
+ }
248
283
  /**
249
284
  * Safe validation wrapper that doesn't throw
250
285
  *
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAiCH,8CAmBC;AAmBD,sDAwBC;AAoBD,4CAuBC;AAkBD,0CAgBC;AAmBD,kDAmBC;AAoBD,0DAwBC;AAmBD,8CA2BC;AAkBD,oCAYC;AAxUD;;GAEG;AACH,MAAa,eAAgB,SAAQ,KAAK;IAE/B;IADT,YACS,KAAa,EACpB,OAAe;QAEf,KAAK,CAAC,yBAAyB,KAAK,MAAM,OAAO,EAAE,CAAC,CAAC;QAH9C,UAAK,GAAL,KAAK,CAAQ;QAIpB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AARD,0CAQC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,iBAAiB,CAAC,IAAY,EAAE,SAAS,GAAG,WAAW;IACrE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,eAAe,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,eAAe,CACvB,SAAS,EACT,2CAA2C,IAAI,CAAC,MAAM,GAAG,CAC1D,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,kBAAkB,CAAC;IAC1C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,eAAe,CACvB,SAAS,EACT,wEAAwE,CACzE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,qBAAqB,CACnC,MAAuB,EACvB,SAAiB;IAEjB,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAC7D,MAAM,IAAI,eAAe,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAE3E,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,eAAe,CAAC,SAAS,EAAE,uCAAuC,MAAM,GAAG,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,eAAe,CACvB,SAAS,EACT,iCAAiC,SAAS,GAAG,CAC9C,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,eAAe,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,gBAAgB,CAC9B,QAAyB,EACzB,SAAS,GAAG,UAAU;IAEtB,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;QACnE,MAAM,IAAI,eAAe,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEnF,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,eAAe,CACvB,SAAS,EACT,yCAAyC,QAAQ,GAAG,CACrD,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,GAAG,IAAI,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC;QAC5C,MAAM,IAAI,eAAe,CACvB,SAAS,EACT,iDAAiD,WAAW,IAAI,CACjE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,eAAe,CAAC,OAAe,EAAE,SAAS,GAAG,SAAS;IACpE,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,eAAe,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAC9D,CAAC;IAED,yCAAyC;IACzC,MAAM,cAAc,GAAG,0BAA0B,CAAC;IAClD,6CAA6C;IAC7C,MAAM,aAAa,GAAG,qBAAqB,CAAC;IAE5C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,eAAe,CACvB,SAAS,EACT,4EAA4E,CAC7E,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,mBAAmB,CAAC,MAAc,EAAE,SAAS,GAAG,QAAQ;IACtE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,eAAe,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,eAAe,CACvB,SAAS,EACT,sCAAsC,MAAM,CAAC,MAAM,GAAG,CACvD,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,CAAC;IAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,eAAe,CACvB,SAAS,EACT,6CAA6C,CAC9C,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,uBAAuB,CACrC,KAAsB,EACtB,GAAG,GAAG,GAAG,EACT,SAAS,GAAG,OAAO;IAEnB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC1D,MAAM,IAAI,eAAe,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEzE,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,eAAe,CACvB,SAAS,EACT,uCAAuC,KAAK,GAAG,CAChD,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAC;QACnC,MAAM,IAAI,eAAe,CACvB,SAAS,EACT,+BAA+B,GAAG,UAAU,QAAQ,GAAG,CACxD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,iBAAiB,CAAC,MAAc,EAAE,SAAS,GAAG,QAAQ;IACpE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,eAAe,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAE1D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,eAAe,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC;IACrE,CAAC;IAED,2BAA2B;IAC3B,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAClC,IAAI,CAAC;YACH,iBAAiB,CAAC,KAAK,EAAE,GAAG,SAAS,IAAI,KAAK,GAAG,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;gBACrC,MAAM,IAAI,eAAe,CACvB,SAAS,EACT,6BAA6B,KAAK,GAAG,CAAC,KAAK,KAAK,EAAE,CACnD,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,YAAY,CAC1B,YAAwB;IAExB,IAAI,CAAC;QACH,YAAY,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;YACrC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClD,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAClD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gala-chain/launchpad-mcp-server",
3
- "version": "1.17.7",
4
- "description": "MCP server for Gala Launchpad - 57 tools (pool management, trading, price history, token creation, wallet management) supporting optional wallet (read-only and full-access modes). Production-grade AI agent integration for Claude Desktop with comprehensive validation and 80%+ test coverage",
3
+ "version": "1.19.1",
4
+ "description": "MCP server for Gala Launchpad - 62 tools (pool management, GSwap DEX trading, price history, token creation, wallet management) supporting optional wallet (read-only and full-access modes). Production-grade AI agent integration for Claude Desktop with comprehensive validation and 80%+ test coverage",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
7
7
  "gala-launchpad-mcp": "./dist/index.js"
@@ -73,7 +73,7 @@
73
73
  "dependencies": {
74
74
  "@gala-chain/api": "^2.4.3",
75
75
  "@gala-chain/connect": "^2.4.3",
76
- "@gala-chain/launchpad-sdk": "^3.22.7",
76
+ "@gala-chain/launchpad-sdk": "^3.24.1",
77
77
  "@modelcontextprotocol/sdk": "^0.5.0",
78
78
  "axios": "^1.12.2",
79
79
  "bignumber.js": "^9.1.2",