@gala-chain/launchpad-mcp-server 1.21.0 → 1.21.6
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.
- package/README.md +3 -3
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/tools/dex/advanced-dex.d.ts +15 -0
- package/dist/tools/dex/advanced-dex.d.ts.map +1 -0
- package/dist/tools/dex/advanced-dex.js +239 -0
- package/dist/tools/dex/advanced-dex.js.map +1 -0
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/index.js +2 -2
- package/dist/tools/pools/index.d.ts +2 -2
- package/dist/tools/pools/index.d.ts.map +1 -1
- package/dist/tools/pools/index.js +7 -7
- package/dist/tools/pools/index.js.map +1 -1
- package/dist/tools/utils/explainSdkUsage.js +7 -7
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -4,8 +4,8 @@ MCP (Model Context Protocol) server for Gala Launchpad SDK - Enables AI agents t
|
|
|
4
4
|
|
|
5
5
|
## 🚀 Features
|
|
6
6
|
|
|
7
|
-
- **
|
|
8
|
-
- **
|
|
7
|
+
- **70 AI-accessible tools** for complete Gala Launchpad integration (includes 8 liquidity position tools, 4 price history tools, 3 wallet management tools, 5 GSwap DEX trading tools)
|
|
8
|
+
- **23 slash commands** (prompts) for quick access to common workflows
|
|
9
9
|
- **Type-safe** - Full TypeScript support with validated inputs
|
|
10
10
|
- **Production-ready** - Built on [@gala-chain/launchpad-sdk ](https://www.npmjs.com/package/@gala-chain/launchpad-sdk)
|
|
11
11
|
- **Easy setup** - Works with Claude Desktop and other MCP clients
|
|
@@ -98,7 +98,7 @@ Use the wallet management tools to upgrade or switch wallets at runtime:
|
|
|
98
98
|
- `gala_launchpad_set_wallet` - Upgrade from read-only to full-access mode
|
|
99
99
|
- `gala_launchpad_get_wallet` - Retrieve wallet information
|
|
100
100
|
|
|
101
|
-
## 🛠️ Available Tools (
|
|
101
|
+
## 🛠️ Available Tools (70 Total)
|
|
102
102
|
|
|
103
103
|
### Pool Management (17 tools)
|
|
104
104
|
- `gala_launchpad_fetch_pools` - Fetch token pools with filtering
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Advanced DEX/GalaSwap Analytics Tools
|
|
3
|
+
*
|
|
4
|
+
* Tools for advanced pool analytics, position optimization, and price-tick conversions.
|
|
5
|
+
* These tools provide deep insights into pool state, optimal liquidity parameters, and validation.
|
|
6
|
+
*/
|
|
7
|
+
import type { MCPTool } from '../../types/mcp.js';
|
|
8
|
+
export declare const getPoolDataTool: MCPTool;
|
|
9
|
+
export declare const calculateDexPoolSpotPriceTool: MCPTool;
|
|
10
|
+
export declare const calculateOptimalPositionSizeTool: MCPTool;
|
|
11
|
+
export declare const validatePositionParametersTool: MCPTool;
|
|
12
|
+
export declare const calculateTicksForPriceTool: MCPTool;
|
|
13
|
+
export declare const calculatePriceForTicksTool: MCPTool;
|
|
14
|
+
export declare const advancedDexTools: MCPTool[];
|
|
15
|
+
//# sourceMappingURL=advanced-dex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advanced-dex.d.ts","sourceRoot":"","sources":["../../../src/tools/dex/advanced-dex.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAoClD,eAAO,MAAM,eAAe,EAAE,OA6B7B,CAAC;AAGF,eAAO,MAAM,6BAA6B,EAAE,OA2B3C,CAAC;AAGF,eAAO,MAAM,gCAAgC,EAAE,OA2C9C,CAAC;AAGF,eAAO,MAAM,8BAA8B,EAAE,OA+C5C,CAAC;AAGF,eAAO,MAAM,0BAA0B,EAAE,OAuCxC,CAAC;AAGF,eAAO,MAAM,0BAA0B,EAAE,OAmCxC,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,OAAO,EAOrC,CAAC"}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Advanced DEX/GalaSwap Analytics Tools
|
|
4
|
+
*
|
|
5
|
+
* Tools for advanced pool analytics, position optimization, and price-tick conversions.
|
|
6
|
+
* These tools provide deep insights into pool state, optimal liquidity parameters, and validation.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.advancedDexTools = exports.calculatePriceForTicksTool = exports.calculateTicksForPriceTool = exports.validatePositionParametersTool = exports.calculateOptimalPositionSizeTool = exports.calculateDexPoolSpotPriceTool = exports.getPoolDataTool = 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
|
+
// Price value schema
|
|
27
|
+
const PRICE_SCHEMA = {
|
|
28
|
+
type: 'string',
|
|
29
|
+
pattern: '^\\d+(\\.\\d+)?$',
|
|
30
|
+
description: 'Price as decimal string (e.g., "0.95", "1.05")',
|
|
31
|
+
};
|
|
32
|
+
// Tick value schema
|
|
33
|
+
const TICK_SCHEMA = {
|
|
34
|
+
type: 'number',
|
|
35
|
+
description: 'Tick boundary (integer)',
|
|
36
|
+
};
|
|
37
|
+
// 1. Get Pool Data
|
|
38
|
+
exports.getPoolDataTool = {
|
|
39
|
+
name: 'gala_launchpad_get_pool_data',
|
|
40
|
+
description: 'Get real-time pool state data including liquidity depth and current price for pre-trade analysis',
|
|
41
|
+
inputSchema: {
|
|
42
|
+
type: 'object',
|
|
43
|
+
properties: {
|
|
44
|
+
tokenA: TOKEN_SYMBOL_SCHEMA,
|
|
45
|
+
tokenB: TOKEN_SYMBOL_SCHEMA,
|
|
46
|
+
feeTier: FEE_TIER_SCHEMA,
|
|
47
|
+
},
|
|
48
|
+
required: ['tokenA', 'tokenB', 'feeTier'],
|
|
49
|
+
},
|
|
50
|
+
handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
|
|
51
|
+
const poolData = await sdk.getPoolData(args.tokenA, args.tokenB, args.feeTier);
|
|
52
|
+
return (0, response_formatter_js_1.formatSuccess)({
|
|
53
|
+
tokenA: poolData.tokenA,
|
|
54
|
+
tokenB: poolData.tokenB,
|
|
55
|
+
feeTier: poolData.feeTier,
|
|
56
|
+
liquidity: poolData.liquidity,
|
|
57
|
+
sqrtPriceX96: poolData.sqrtPriceX96,
|
|
58
|
+
tick: poolData.tick,
|
|
59
|
+
feeGrowthGlobal0X128: poolData.feeGrowthGlobal0X128,
|
|
60
|
+
feeGrowthGlobal1X128: poolData.feeGrowthGlobal1X128,
|
|
61
|
+
currentPrice: poolData.currentPrice,
|
|
62
|
+
message: `Pool ${args.tokenA}/${args.tokenB} (fee: ${args.feeTier / 100}%) - Price: ${poolData.currentPrice}, Liquidity: ${poolData.liquidity}`,
|
|
63
|
+
});
|
|
64
|
+
}),
|
|
65
|
+
};
|
|
66
|
+
// 2. Calculate Spot Price
|
|
67
|
+
exports.calculateDexPoolSpotPriceTool = {
|
|
68
|
+
name: 'gala_launchpad_calculate_dex_pool_spot_price',
|
|
69
|
+
description: 'Calculate current DEX pool market price without executing a trade. Returns price, tick, and liquidity data.',
|
|
70
|
+
inputSchema: {
|
|
71
|
+
type: 'object',
|
|
72
|
+
properties: {
|
|
73
|
+
tokenA: TOKEN_SYMBOL_SCHEMA,
|
|
74
|
+
tokenB: TOKEN_SYMBOL_SCHEMA,
|
|
75
|
+
feeTier: FEE_TIER_SCHEMA,
|
|
76
|
+
},
|
|
77
|
+
required: ['tokenA', 'tokenB', 'feeTier'],
|
|
78
|
+
},
|
|
79
|
+
handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
|
|
80
|
+
const spotPrice = await sdk.calculateDexPoolSpotPrice(args.tokenA, args.tokenB, args.feeTier);
|
|
81
|
+
return (0, response_formatter_js_1.formatSuccess)({
|
|
82
|
+
tokenA: spotPrice.tokenA,
|
|
83
|
+
tokenB: spotPrice.tokenB,
|
|
84
|
+
feeTier: spotPrice.feeTier,
|
|
85
|
+
price: spotPrice.price,
|
|
86
|
+
invertedPrice: spotPrice.invertedPrice,
|
|
87
|
+
tick: spotPrice.tick,
|
|
88
|
+
liquidity: spotPrice.liquidity,
|
|
89
|
+
message: `1 ${spotPrice.tokenA} = ${spotPrice.price} ${spotPrice.tokenB}`,
|
|
90
|
+
});
|
|
91
|
+
}),
|
|
92
|
+
};
|
|
93
|
+
// 3. Calculate Optimal Position Size
|
|
94
|
+
exports.calculateOptimalPositionSizeTool = {
|
|
95
|
+
name: 'gala_launchpad_calculate_optimal_position_size',
|
|
96
|
+
description: 'Calculate optimal token amounts for concentrated liquidity at given tick boundaries',
|
|
97
|
+
inputSchema: {
|
|
98
|
+
type: 'object',
|
|
99
|
+
properties: {
|
|
100
|
+
tokenA: TOKEN_SYMBOL_SCHEMA,
|
|
101
|
+
tokenB: TOKEN_SYMBOL_SCHEMA,
|
|
102
|
+
feeTier: FEE_TIER_SCHEMA,
|
|
103
|
+
desiredAmount0: {
|
|
104
|
+
...common_schemas_js_1.DECIMAL_AMOUNT_SCHEMA,
|
|
105
|
+
description: 'Desired amount of token0 (tokenA)',
|
|
106
|
+
},
|
|
107
|
+
desiredAmount1: {
|
|
108
|
+
...common_schemas_js_1.DECIMAL_AMOUNT_SCHEMA,
|
|
109
|
+
description: 'Desired amount of token1 (tokenB)',
|
|
110
|
+
},
|
|
111
|
+
tickLower: TICK_SCHEMA,
|
|
112
|
+
tickUpper: TICK_SCHEMA,
|
|
113
|
+
},
|
|
114
|
+
required: ['tokenA', 'tokenB', 'feeTier', 'desiredAmount0', 'desiredAmount1', 'tickLower', 'tickUpper'],
|
|
115
|
+
},
|
|
116
|
+
handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
|
|
117
|
+
const optimal = await sdk.calculateOptimalPositionSize(args.tokenA, args.tokenB, args.feeTier, args.desiredAmount0, args.desiredAmount1, args.tickLower, args.tickUpper);
|
|
118
|
+
return (0, response_formatter_js_1.formatSuccess)({
|
|
119
|
+
amount0: optimal.amount0,
|
|
120
|
+
amount1: optimal.amount1,
|
|
121
|
+
liquidity: optimal.liquidity,
|
|
122
|
+
ratio: optimal.ratio,
|
|
123
|
+
utilizationPercent: optimal.utilizationPercent,
|
|
124
|
+
message: `Optimal: ${optimal.amount0} ${args.tokenA} + ${optimal.amount1} ${args.tokenB} (Liquidity: ${optimal.liquidity})`,
|
|
125
|
+
});
|
|
126
|
+
}),
|
|
127
|
+
};
|
|
128
|
+
// 4. Validate Position Parameters
|
|
129
|
+
exports.validatePositionParametersTool = {
|
|
130
|
+
name: 'gala_launchpad_validate_position_parameters',
|
|
131
|
+
description: 'Validate position parameters before execution. Checks tick spacing, pool state, and amount constraints.',
|
|
132
|
+
inputSchema: {
|
|
133
|
+
type: 'object',
|
|
134
|
+
properties: {
|
|
135
|
+
tokenA: TOKEN_SYMBOL_SCHEMA,
|
|
136
|
+
tokenB: TOKEN_SYMBOL_SCHEMA,
|
|
137
|
+
feeTier: FEE_TIER_SCHEMA,
|
|
138
|
+
tickLower: TICK_SCHEMA,
|
|
139
|
+
tickUpper: TICK_SCHEMA,
|
|
140
|
+
amount0: {
|
|
141
|
+
...common_schemas_js_1.DECIMAL_AMOUNT_SCHEMA,
|
|
142
|
+
description: 'Amount of token0 to validate',
|
|
143
|
+
},
|
|
144
|
+
amount1: {
|
|
145
|
+
...common_schemas_js_1.DECIMAL_AMOUNT_SCHEMA,
|
|
146
|
+
description: 'Amount of token1 to validate',
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
required: ['tokenA', 'tokenB', 'feeTier', 'tickLower', 'tickUpper', 'amount0', 'amount1'],
|
|
150
|
+
},
|
|
151
|
+
handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
|
|
152
|
+
const validation = await sdk.validatePositionParameters(args.tokenA, args.tokenB, args.feeTier, args.tickLower, args.tickUpper, args.amount0, args.amount1);
|
|
153
|
+
return (0, response_formatter_js_1.formatSuccess)({
|
|
154
|
+
valid: validation.valid,
|
|
155
|
+
errors: validation.errors,
|
|
156
|
+
warnings: validation.warnings,
|
|
157
|
+
gasEstimate: validation.gasEstimate,
|
|
158
|
+
tickSpacing: validation.tickSpacing,
|
|
159
|
+
currentTick: validation.currentTick,
|
|
160
|
+
poolLiquidity: validation.poolLiquidity,
|
|
161
|
+
message: validation.valid
|
|
162
|
+
? `Position parameters validated successfully (Gas: ~${validation.gasEstimate} units)`
|
|
163
|
+
: `Position validation failed: ${validation.errors.join(', ')}`,
|
|
164
|
+
});
|
|
165
|
+
}),
|
|
166
|
+
};
|
|
167
|
+
// 5. Calculate Ticks for Price
|
|
168
|
+
exports.calculateTicksForPriceTool = {
|
|
169
|
+
name: 'gala_launchpad_calculate_ticks_for_price',
|
|
170
|
+
description: 'Convert human-readable price range into tick boundaries for liquidity positions',
|
|
171
|
+
inputSchema: {
|
|
172
|
+
type: 'object',
|
|
173
|
+
properties: {
|
|
174
|
+
tokenA: TOKEN_SYMBOL_SCHEMA,
|
|
175
|
+
tokenB: TOKEN_SYMBOL_SCHEMA,
|
|
176
|
+
minPrice: PRICE_SCHEMA,
|
|
177
|
+
maxPrice: PRICE_SCHEMA,
|
|
178
|
+
feeTier: FEE_TIER_SCHEMA,
|
|
179
|
+
},
|
|
180
|
+
required: ['tokenA', 'tokenB', 'minPrice', 'maxPrice', 'feeTier'],
|
|
181
|
+
},
|
|
182
|
+
handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
|
|
183
|
+
const tickCalc = await sdk.calculateTicksForPrice(args.tokenA, args.tokenB, args.minPrice, args.maxPrice, args.feeTier);
|
|
184
|
+
return (0, response_formatter_js_1.formatSuccess)({
|
|
185
|
+
tokenA: tickCalc.tokenA,
|
|
186
|
+
tokenB: tickCalc.tokenB,
|
|
187
|
+
feeTier: tickCalc.feeTier,
|
|
188
|
+
tickLower: tickCalc.tickLower,
|
|
189
|
+
tickUpper: tickCalc.tickUpper,
|
|
190
|
+
tickSpacing: tickCalc.tickSpacing,
|
|
191
|
+
requestedMinPrice: tickCalc.requestedMinPrice,
|
|
192
|
+
requestedMaxPrice: tickCalc.requestedMaxPrice,
|
|
193
|
+
actualMinPrice: tickCalc.actualMinPrice,
|
|
194
|
+
actualMaxPrice: tickCalc.actualMaxPrice,
|
|
195
|
+
priceDeviation: tickCalc.priceDeviation,
|
|
196
|
+
message: `Price range ${tickCalc.requestedMinPrice}-${tickCalc.requestedMaxPrice} → Ticks ${tickCalc.tickLower}-${tickCalc.tickUpper}`,
|
|
197
|
+
});
|
|
198
|
+
}),
|
|
199
|
+
};
|
|
200
|
+
// 6. Calculate Price for Ticks
|
|
201
|
+
exports.calculatePriceForTicksTool = {
|
|
202
|
+
name: 'gala_launchpad_calculate_price_for_ticks',
|
|
203
|
+
description: 'Convert tick boundaries back into human-readable price range for position analysis',
|
|
204
|
+
inputSchema: {
|
|
205
|
+
type: 'object',
|
|
206
|
+
properties: {
|
|
207
|
+
tokenA: TOKEN_SYMBOL_SCHEMA,
|
|
208
|
+
tokenB: TOKEN_SYMBOL_SCHEMA,
|
|
209
|
+
tickLower: TICK_SCHEMA,
|
|
210
|
+
tickUpper: TICK_SCHEMA,
|
|
211
|
+
},
|
|
212
|
+
required: ['tokenA', 'tokenB', 'tickLower', 'tickUpper'],
|
|
213
|
+
},
|
|
214
|
+
handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
|
|
215
|
+
const priceCalc = await sdk.calculatePriceForTicks(args.tokenA, args.tokenB, args.tickLower, args.tickUpper);
|
|
216
|
+
return (0, response_formatter_js_1.formatSuccess)({
|
|
217
|
+
tokenA: priceCalc.tokenA,
|
|
218
|
+
tokenB: priceCalc.tokenB,
|
|
219
|
+
tickLower: priceCalc.tickLower,
|
|
220
|
+
tickUpper: priceCalc.tickUpper,
|
|
221
|
+
minPrice: priceCalc.minPrice,
|
|
222
|
+
maxPrice: priceCalc.maxPrice,
|
|
223
|
+
currentPrice: priceCalc.currentPrice,
|
|
224
|
+
priceRange: priceCalc.priceRange,
|
|
225
|
+
tickSpread: priceCalc.tickSpread,
|
|
226
|
+
message: `Ticks ${priceCalc.tickLower}-${priceCalc.tickUpper} → Price range ${priceCalc.minPrice}-${priceCalc.maxPrice}`,
|
|
227
|
+
});
|
|
228
|
+
}),
|
|
229
|
+
};
|
|
230
|
+
// Export all advanced DEX tools (6 tools)
|
|
231
|
+
exports.advancedDexTools = [
|
|
232
|
+
exports.getPoolDataTool,
|
|
233
|
+
exports.calculateDexPoolSpotPriceTool,
|
|
234
|
+
exports.calculateOptimalPositionSizeTool,
|
|
235
|
+
exports.validatePositionParametersTool,
|
|
236
|
+
exports.calculateTicksForPriceTool,
|
|
237
|
+
exports.calculatePriceForTicksTool,
|
|
238
|
+
];
|
|
239
|
+
//# sourceMappingURL=advanced-dex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advanced-dex.js","sourceRoot":"","sources":["../../../src/tools/dex/advanced-dex.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @see src/utils/tool-registry.ts
|
|
8
8
|
*/
|
|
9
9
|
/**
|
|
10
|
-
* Enhanced tool registry with validation (
|
|
10
|
+
* Enhanced tool registry with validation (70 tools - added 13 DEX tools: 5 swap + 8 liquidity in v3.23.0)
|
|
11
11
|
*/
|
|
12
12
|
export declare const registry: import("../utils/tool-registry.js").ToolRegistry;
|
|
13
13
|
/**
|
package/dist/tools/index.js
CHANGED
|
@@ -64,9 +64,9 @@ const toolCategories = [
|
|
|
64
64
|
},
|
|
65
65
|
];
|
|
66
66
|
/**
|
|
67
|
-
* Enhanced tool registry with validation (
|
|
67
|
+
* Enhanced tool registry with validation (70 tools - added 13 DEX tools: 5 swap + 8 liquidity in v3.23.0)
|
|
68
68
|
*/
|
|
69
|
-
exports.registry = (0, tool_registry_js_1.createToolRegistry)(toolCategories,
|
|
69
|
+
exports.registry = (0, tool_registry_js_1.createToolRegistry)(toolCategories, 70);
|
|
70
70
|
/**
|
|
71
71
|
* Complete tool array (for backward compatibility)
|
|
72
72
|
*/
|
|
@@ -7,8 +7,8 @@ export declare const fetchPoolDetailsTool: MCPTool;
|
|
|
7
7
|
export declare const fetchTokenDistributionTool: MCPTool;
|
|
8
8
|
export declare const fetchTokenBadgesTool: MCPTool;
|
|
9
9
|
export declare const fetchVolumeDataTool: MCPTool;
|
|
10
|
-
export declare const
|
|
11
|
-
export declare const
|
|
10
|
+
export declare const fetchTokenPriceTool: MCPTool;
|
|
11
|
+
export declare const fetchGalaPriceTool: MCPTool;
|
|
12
12
|
export declare const fetchLaunchpadTokenSpotPriceTool: MCPTool;
|
|
13
13
|
export declare const checkTokenNameTool: MCPTool;
|
|
14
14
|
export declare const checkTokenSymbolTool: MCPTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/pools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AA0BlD,eAAO,MAAM,cAAc,EAAE,OA2B5B,CAAC;AAGF,eAAO,MAAM,oBAAoB,SAI/B,CAAC;AAGH,eAAO,MAAM,0BAA0B,SAIrC,CAAC;AAGH,eAAO,MAAM,oBAAoB,SAI/B,CAAC;AAGH,eAAO,MAAM,mBAAmB,EAAE,OAkCjC,CAAC;AAGF,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/pools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AA0BlD,eAAO,MAAM,cAAc,EAAE,OA2B5B,CAAC;AAGF,eAAO,MAAM,oBAAoB,SAI/B,CAAC;AAGH,eAAO,MAAM,0BAA0B,SAIrC,CAAC;AAGH,eAAO,MAAM,oBAAoB,SAI/B,CAAC;AAGH,eAAO,MAAM,mBAAmB,EAAE,OAkCjC,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,OA4DjC,CAAC;AAGF,eAAO,MAAM,kBAAkB,SAI7B,CAAC;AAGH,eAAO,MAAM,gCAAgC,EAAE,OAgC9C,CAAC;AAGF,eAAO,MAAM,kBAAkB,SAU7B,CAAC;AAGH,eAAO,MAAM,oBAAoB,SAU/B,CAAC;AAGH,eAAO,MAAM,uBAAuB,SAKlC,CAAC;AAGH,eAAO,MAAM,wBAAwB,SAKnC,CAAC;AAEH,eAAO,MAAM,SAAS,EAAE,OAAO,EAkB9B,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Pool Management Tools
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.poolTools = exports.resolveTokenClassKeyTool = exports.resolveVaultAddressTool = exports.checkTokenSymbolTool = exports.checkTokenNameTool = exports.fetchLaunchpadTokenSpotPriceTool = exports.
|
|
6
|
+
exports.poolTools = exports.resolveTokenClassKeyTool = exports.resolveVaultAddressTool = exports.checkTokenSymbolTool = exports.checkTokenNameTool = exports.fetchLaunchpadTokenSpotPriceTool = exports.fetchGalaPriceTool = exports.fetchTokenPriceTool = exports.fetchVolumeDataTool = exports.fetchTokenBadgesTool = exports.fetchTokenDistributionTool = exports.fetchPoolDetailsTool = exports.fetchPoolsTool = void 0;
|
|
7
7
|
const launchpad_sdk_1 = require("@gala-chain/launchpad-sdk");
|
|
8
8
|
const response_formatter_js_1 = require("../../utils/response-formatter.js");
|
|
9
9
|
const error_handler_js_1 = require("../../utils/error-handler.js");
|
|
@@ -99,7 +99,7 @@ exports.fetchVolumeDataTool = {
|
|
|
99
99
|
}),
|
|
100
100
|
};
|
|
101
101
|
// 6. Fetch Token Spot Price (Smart Router - Launchpad or DEX)
|
|
102
|
-
exports.
|
|
102
|
+
exports.fetchTokenPriceTool = {
|
|
103
103
|
name: 'gala_launchpad_fetch_token_spot_price',
|
|
104
104
|
description: `Fetch USD spot price for ANY token with smart routing
|
|
105
105
|
|
|
@@ -150,7 +150,7 @@ Routes to the correct backend automatically:
|
|
|
150
150
|
},
|
|
151
151
|
},
|
|
152
152
|
handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
|
|
153
|
-
const result = await sdk.
|
|
153
|
+
const result = await sdk.fetchTokenPrice({
|
|
154
154
|
tokenName: args.tokenName,
|
|
155
155
|
tokenId: args.tokenId,
|
|
156
156
|
currentSupply: args.currentSupply,
|
|
@@ -160,10 +160,10 @@ Routes to the correct backend automatically:
|
|
|
160
160
|
}),
|
|
161
161
|
};
|
|
162
162
|
// 7. Fetch GALA Spot Price (45% code reduction via factory pattern)
|
|
163
|
-
exports.
|
|
163
|
+
exports.fetchGalaPriceTool = (0, tool_factory_js_1.createNoParamTool)({
|
|
164
164
|
name: 'gala_launchpad_fetch_gala_spot_price',
|
|
165
165
|
description: 'Fetch current GALA USD spot price (convenience method)',
|
|
166
|
-
handler: (sdk) => sdk.
|
|
166
|
+
handler: (sdk) => sdk.fetchGalaPrice(),
|
|
167
167
|
});
|
|
168
168
|
// 8. Fetch Launchpad Token Spot Price (DEPRECATED)
|
|
169
169
|
exports.fetchLaunchpadTokenSpotPriceTool = {
|
|
@@ -245,8 +245,8 @@ exports.poolTools = [
|
|
|
245
245
|
exports.fetchTokenDistributionTool,
|
|
246
246
|
exports.fetchTokenBadgesTool,
|
|
247
247
|
exports.fetchVolumeDataTool,
|
|
248
|
-
exports.
|
|
249
|
-
exports.
|
|
248
|
+
exports.fetchTokenPriceTool,
|
|
249
|
+
exports.fetchGalaPriceTool,
|
|
250
250
|
exports.fetchLaunchpadTokenSpotPriceTool,
|
|
251
251
|
fetchPriceHistory_js_1.fetchPriceHistoryTool,
|
|
252
252
|
fetchAllPriceHistory_js_1.fetchAllPriceHistoryTool,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/pools/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/pools/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -218,7 +218,7 @@ async function getDexTokenPrices() {
|
|
|
218
218
|
const sdk = createLaunchpadSDK({ wallet: 'your-private-key' });
|
|
219
219
|
|
|
220
220
|
// Fetch prices for multiple DEX tokens
|
|
221
|
-
const prices = await sdk.
|
|
221
|
+
const prices = await sdk.fetchTokenPrice(['GALA', 'SILK', 'MUSIC']);
|
|
222
222
|
|
|
223
223
|
console.log(\`GALA: $\${prices.GALA}\`);
|
|
224
224
|
console.log(\`SILK: $\${prices.SILK}\`);
|
|
@@ -1009,7 +1009,7 @@ async function tokenPricing() {
|
|
|
1009
1009
|
// Use tokenId for ANY token (graduated or ungraduated)
|
|
1010
1010
|
// SDK automatically detects and routes to correct backend
|
|
1011
1011
|
console.log('=== Smart Routing (Recommended) ===');
|
|
1012
|
-
const smartPrice = await sdk.
|
|
1012
|
+
const smartPrice = await sdk.fetchTokenPrice({
|
|
1013
1013
|
tokenId: 'Token|Unit|ANIME|eth:0x...' // Works for ANY token!
|
|
1014
1014
|
});
|
|
1015
1015
|
console.log(\`Token price: $\${smartPrice}\`);
|
|
@@ -1020,7 +1020,7 @@ async function tokenPricing() {
|
|
|
1020
1020
|
// OPTION 2: EXPLICIT DEX PRICING - Graduated tokens only
|
|
1021
1021
|
// Use tokenId directly for DEX tokens
|
|
1022
1022
|
console.log('\\n=== Explicit DEX Pricing ===');
|
|
1023
|
-
const dexPrices = await sdk.
|
|
1023
|
+
const dexPrices = await sdk.fetchTokenPrice({
|
|
1024
1024
|
tokenId: 'GALA|Unit|none|none' // Or other DEX token
|
|
1025
1025
|
});
|
|
1026
1026
|
console.log(\`DEX Token GALA: $\${dexPrices}\`);
|
|
@@ -1036,7 +1036,7 @@ async function tokenPricing() {
|
|
|
1036
1036
|
async function getPriceWithFallback(tokenId: string, tokenName?: string) {
|
|
1037
1037
|
try {
|
|
1038
1038
|
// Try DEX pricing first
|
|
1039
|
-
return await sdk.
|
|
1039
|
+
return await sdk.fetchTokenPrice({ tokenId });
|
|
1040
1040
|
} catch (error) {
|
|
1041
1041
|
// If not on DEX, try launchpad pricing
|
|
1042
1042
|
if (tokenName) {
|
|
@@ -1065,7 +1065,7 @@ async function tokenPricing() {
|
|
|
1065
1065
|
const isGraduated = await sdk.isTokenGraduated(tokenName);
|
|
1066
1066
|
|
|
1067
1067
|
if (isGraduated) {
|
|
1068
|
-
const dexPrice = await sdk.
|
|
1068
|
+
const dexPrice = await sdk.fetchTokenPrice({
|
|
1069
1069
|
tokenId: \`Token|Unit|\${tokenName.toUpperCase()}|eth:0x...\`
|
|
1070
1070
|
});
|
|
1071
1071
|
console.log(\`Launchpad: $\${launchpadPrice}, DEX: $\${dexPrice}\`);
|
|
@@ -1090,7 +1090,7 @@ async function tokenPricing() {
|
|
|
1090
1090
|
|
|
1091
1091
|
| Method | Use Case | Token Status |
|
|
1092
1092
|
|--------|----------|--------------|
|
|
1093
|
-
| \`
|
|
1093
|
+
| \`fetchTokenPrice({ tokenId })\` | Smart routing (recommended) | Any (DEX or Launchpad) |
|
|
1094
1094
|
| \`fetchLaunchpadTokenSpotPrice(name)\` | Launchpad-only pricing | Ungraduated tokens |
|
|
1095
1095
|
| \`isTokenGraduated(name)\` | Check token status | Any |
|
|
1096
1096
|
|
|
@@ -1118,7 +1118,7 @@ When a token graduates from launchpad to DEX:
|
|
|
1118
1118
|
async function safePriceQuery(tokenId: string) {
|
|
1119
1119
|
try {
|
|
1120
1120
|
// Always try smart routing first
|
|
1121
|
-
return await sdk.
|
|
1121
|
+
return await sdk.fetchTokenPrice({ tokenId });
|
|
1122
1122
|
} catch (error) {
|
|
1123
1123
|
if (error.message.includes('not found')) {
|
|
1124
1124
|
console.log('Token not available on DEX');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gala-chain/launchpad-mcp-server",
|
|
3
|
-
"version": "1.21.
|
|
3
|
+
"version": "1.21.6",
|
|
4
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": {
|
|
@@ -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.26.
|
|
76
|
+
"@gala-chain/launchpad-sdk": "^3.26.6",
|
|
77
77
|
"@modelcontextprotocol/sdk": "^0.5.0",
|
|
78
78
|
"axios": "^1.12.2",
|
|
79
79
|
"bignumber.js": "^9.1.2",
|