@gala-chain/launchpad-mcp-server 1.21.4 → 1.22.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.
- package/CHANGELOG.md +84 -0
- 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/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/docs/AI-AGENT-PATTERNS.md +555 -0
- package/docs/CONSTRAINTS-REFERENCE.md +454 -0
- package/docs/PROMPT-TOOL-MAPPING.md +352 -0
- package/docs/examples/default-values-pattern.md +240 -0
- package/docs/examples/tool-factory-pattern.md +217 -0
- package/jest.config.js +94 -0
- package/package.json +2 -2
- package/src/__tests__/integration/fetchTokenDetails.integration.test.ts +258 -0
- package/src/__tests__/integration/poolTools.integration.test.ts +185 -0
- package/src/constants/mcpToolNames.ts +141 -0
- package/src/index.ts +19 -0
- package/src/prompts/__tests__/promptStructure.test.ts +137 -0
- package/src/prompts/__tests__/registry.test.ts +191 -0
- package/src/prompts/analysis.ts +429 -0
- package/src/prompts/create-token.ts +123 -0
- package/src/prompts/dex-trading.ts +86 -0
- package/src/prompts/discover-tokens.ts +86 -0
- package/src/prompts/index.ts +154 -0
- package/src/prompts/liquidity-positions.ts +270 -0
- package/src/prompts/portfolio.ts +242 -0
- package/src/prompts/trading.ts +191 -0
- package/src/prompts/utility.ts +43 -0
- package/src/prompts/utils/workflowTemplates.ts +511 -0
- package/src/schemas/common-schemas.ts +393 -0
- package/src/scripts/test-all-prompts.ts +184 -0
- package/src/server.ts +277 -0
- package/src/tools/__tests__/dex-tools.test.ts +562 -0
- package/src/tools/__tests__/liquidity-positions.test.ts +673 -0
- package/src/tools/balance/index.ts +174 -0
- package/src/tools/creation/index.ts +182 -0
- package/src/tools/dex/index.ts +226 -0
- package/src/tools/dex/liquidity-positions.ts +547 -0
- package/src/tools/index.ts +86 -0
- package/src/tools/pools/fetchAllPools.ts +47 -0
- package/src/tools/pools/fetchAllPriceHistory.ts +119 -0
- package/src/tools/pools/fetchPoolDetails.ts +27 -0
- package/src/tools/pools/fetchPoolDetailsForCalculation.ts +22 -0
- package/src/tools/pools/fetchPools.ts +47 -0
- package/src/tools/pools/fetchPriceHistory.ts +124 -0
- package/src/tools/pools/fetchTokenDetails.ts +77 -0
- package/src/tools/pools/index.ts +284 -0
- package/src/tools/social/index.ts +64 -0
- package/src/tools/trading/index.ts +605 -0
- package/src/tools/transfers/index.ts +75 -0
- package/src/tools/utils/clearCache.ts +36 -0
- package/src/tools/utils/createWallet.ts +19 -0
- package/src/tools/utils/explainSdkUsage.ts +1446 -0
- package/src/tools/utils/getAddress.ts +12 -0
- package/src/tools/utils/getCacheInfo.ts +14 -0
- package/src/tools/utils/getConfig.ts +11 -0
- package/src/tools/utils/getEthereumAddress.ts +12 -0
- package/src/tools/utils/getUrlByTokenName.ts +12 -0
- package/src/tools/utils/getVersion.ts +25 -0
- package/src/tools/utils/getWallet.ts +25 -0
- package/src/tools/utils/hasWallet.ts +15 -0
- package/src/tools/utils/index.ts +33 -0
- package/src/tools/utils/isTokenGraduated.ts +16 -0
- package/src/tools/utils/setWallet.ts +41 -0
- package/src/types/mcp.ts +72 -0
- package/src/utils/__tests__/validation.test.ts +147 -0
- package/src/utils/constraints.ts +155 -0
- package/src/utils/default-values.ts +208 -0
- package/src/utils/error-handler.ts +69 -0
- package/src/utils/error-templates.ts +273 -0
- package/src/utils/response-formatter.ts +51 -0
- package/src/utils/tool-factory.ts +257 -0
- package/src/utils/tool-registry.ts +296 -0
- package/src/utils/validation.ts +371 -0
- package/tests/wallet-management-integration.test.ts +284 -0
- package/tsconfig.json +23 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,89 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.22.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 0a49faf: **GalaSwap Liquidity Position Management (v3.25.0 SDK / v1.20.0 MCP)**
|
|
8
|
+
|
|
9
|
+
Comprehensive liquidity position management for concentrated liquidity provision on GalaSwap DEX.
|
|
10
|
+
Liquidity providers can now earn passive trading fees by providing liquidity within specific price
|
|
11
|
+
ranges.
|
|
12
|
+
|
|
13
|
+
### 8 New SDK Methods (LaunchpadSDK)
|
|
14
|
+
1. **getSwapUserLiquidityPositions(ownerAddress, limit?, bookmark?)** - View all open positions
|
|
15
|
+
for a wallet with pagination support
|
|
16
|
+
2. **getSwapLiquidityPositionById(ownerAddress, positionId)** - Get specific position by UUID
|
|
17
|
+
3. **getSwapLiquidityPosition(ownerAddress, position)** - Get position by token pair and tick
|
|
18
|
+
range
|
|
19
|
+
4. **addSwapLiquidityByPrice(args)** - Create position using user-friendly price ranges (e.g.,
|
|
20
|
+
min: 0.95, max: 1.05)
|
|
21
|
+
5. **addSwapLiquidityByTicks(args)** - Create position using precise tick boundaries (advanced)
|
|
22
|
+
6. **getSwapEstimateRemoveLiquidity(args)** - Preview amounts and fees before executing removal
|
|
23
|
+
7. **removeSwapLiquidity(args)** - Close or reduce position with slippage protection
|
|
24
|
+
8. **collectSwapPositionFees(args)** - Harvest accumulated trading fees without closing position
|
|
25
|
+
|
|
26
|
+
### 8 New MCP Tools
|
|
27
|
+
|
|
28
|
+
All SDK methods exposed as MCP tools with full type validation and privateKey override support:
|
|
29
|
+
- `gala_launchpad_get_user_liquidity_positions` - List positions with pagination
|
|
30
|
+
- `gala_launchpad_get_liquidity_position_by_id` - Get by position ID
|
|
31
|
+
- `gala_launchpad_get_liquidity_position` - Get by token pair
|
|
32
|
+
- `gala_launchpad_add_liquidity_by_price` - Create position (price-based)
|
|
33
|
+
- `gala_launchpad_add_liquidity_by_ticks` - Create position (tick-based)
|
|
34
|
+
- `gala_launchpad_estimate_remove_liquidity` - Estimate removal amounts
|
|
35
|
+
- `gala_launchpad_remove_liquidity` - Execute removal
|
|
36
|
+
- `gala_launchpad_collect_position_fees` - Collect accumulated fees
|
|
37
|
+
|
|
38
|
+
### 4 New Slash Commands (Prompts)
|
|
39
|
+
|
|
40
|
+
Quick-access workflows for Claude Desktop users:
|
|
41
|
+
- `/galachain-launchpad:my-positions` - View all liquidity positions
|
|
42
|
+
- `/galachain-launchpad:add-liquidity` - Create new position (guided workflow)
|
|
43
|
+
- `/galachain-launchpad:remove-liquidity` - Close position (with estimates)
|
|
44
|
+
- `/galachain-launchpad:collect-fees` - Harvest accumulated fees
|
|
45
|
+
|
|
46
|
+
### Key Features
|
|
47
|
+
|
|
48
|
+
**Fee Tiers**: Support for standard GalaSwap fee tiers (500 bps = 0.05%, 3000 bps = 0.30%, 10000
|
|
49
|
+
bps = 1.00%)
|
|
50
|
+
|
|
51
|
+
**Price Range Creation**: User-friendly price range interface (0.95 - 1.05) automatically converts
|
|
52
|
+
to precise tick boundaries
|
|
53
|
+
|
|
54
|
+
**Tick-Based Creation**: Advanced users can create positions using exact tick boundaries for
|
|
55
|
+
precise capital management
|
|
56
|
+
|
|
57
|
+
**Fee Collection**: Harvest passive trading fees without closing position
|
|
58
|
+
|
|
59
|
+
**Estimation**: Preview exact amounts and fees before executing any transaction
|
|
60
|
+
|
|
61
|
+
**Slippage Protection**: Built-in slippage tolerance for all operations
|
|
62
|
+
|
|
63
|
+
**Pagination**: Efficient position listing with bookmark support for large portfolios
|
|
64
|
+
|
|
65
|
+
### Documentation & Examples
|
|
66
|
+
- **Demo Script**: `packages/sdk/examples/demo-liquidity-positions.ts` - Complete workflow
|
|
67
|
+
demonstration
|
|
68
|
+
- **SDK Docs**: `explain_sdk_usage` tool includes `liquidity-positions` topic with runnable
|
|
69
|
+
examples
|
|
70
|
+
- **Integration Guide**: CLAUDE.md includes comprehensive LP integration section
|
|
71
|
+
|
|
72
|
+
### Test Coverage
|
|
73
|
+
- **54 SDK Unit Tests**: Complete test coverage for all 8 methods with edge cases
|
|
74
|
+
- **39 MCP Tool Tests**: Full validation of all 8 MCP tools and input schemas
|
|
75
|
+
- **1401 Total Tests**: Full regression test suite passing
|
|
76
|
+
|
|
77
|
+
### Version Updates
|
|
78
|
+
- SDK: 3.24.2 → 3.25.0 (minor version bump)
|
|
79
|
+
- MCP Server: 1.19.2 → 1.20.0 (minor version bump)
|
|
80
|
+
|
|
81
|
+
### Patch Changes
|
|
82
|
+
|
|
83
|
+
- Updated dependencies [0a49faf]
|
|
84
|
+
- Updated dependencies
|
|
85
|
+
- @gala-chain/launchpad-sdk@3.27.0
|
|
86
|
+
|
|
3
87
|
## 1.19.0
|
|
4
88
|
|
|
5
89
|
### Minor Changes
|
|
@@ -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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"}
|
|
@@ -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');
|