@gala-chain/launchpad-mcp-server 1.23.0 → 1.24.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 +11 -0
- package/DRY_REFACTORING_GUIDE.md +272 -0
- package/README.md +34 -6
- package/dist/constants/mcpToolNames.d.ts +6 -2
- package/dist/constants/mcpToolNames.d.ts.map +1 -1
- package/dist/constants/mcpToolNames.js +4 -2
- package/dist/constants/mcpToolNames.js.map +1 -1
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/prompts/analysis.d.ts.map +1 -1
- package/dist/prompts/analysis.js +14 -63
- package/dist/prompts/analysis.js.map +1 -1
- package/dist/prompts/balances.d.ts.map +1 -1
- package/dist/prompts/balances.js +46 -70
- package/dist/prompts/balances.js.map +1 -1
- package/dist/prompts/creation-utils.d.ts.map +1 -1
- package/dist/prompts/creation-utils.js +27 -50
- package/dist/prompts/creation-utils.js.map +1 -1
- package/dist/prompts/explore-dex-pools.d.ts +20 -0
- package/dist/prompts/explore-dex-pools.d.ts.map +1 -0
- package/dist/prompts/explore-dex-pools.js +132 -0
- package/dist/prompts/explore-dex-pools.js.map +1 -0
- package/dist/prompts/index.d.ts +3 -2
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +6 -3
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/liquidity-positions.d.ts.map +1 -1
- package/dist/prompts/liquidity-positions.js +9 -44
- package/dist/prompts/liquidity-positions.js.map +1 -1
- package/dist/prompts/pools.d.ts.map +1 -1
- package/dist/prompts/pools.js +125 -228
- package/dist/prompts/pools.js.map +1 -1
- package/dist/prompts/portfolio.d.ts.map +1 -1
- package/dist/prompts/portfolio.js +13 -48
- package/dist/prompts/portfolio.js.map +1 -1
- package/dist/prompts/social.d.ts.map +1 -1
- package/dist/prompts/social.js +21 -31
- package/dist/prompts/social.js.map +1 -1
- package/dist/prompts/trading-calculations.d.ts.map +1 -1
- package/dist/prompts/trading-calculations.js +37 -126
- package/dist/prompts/trading-calculations.js.map +1 -1
- package/dist/prompts/trading.d.ts.map +1 -1
- package/dist/prompts/trading.js +23 -60
- package/dist/prompts/trading.js.map +1 -1
- package/dist/prompts/transfers.d.ts.map +1 -1
- package/dist/prompts/transfers.js +21 -31
- package/dist/prompts/transfers.js.map +1 -1
- package/dist/prompts/utility-tools.d.ts.map +1 -1
- package/dist/prompts/utility-tools.js +83 -202
- package/dist/prompts/utility-tools.js.map +1 -1
- package/dist/prompts/utility.d.ts.map +1 -1
- package/dist/prompts/utility.js +5 -20
- package/dist/prompts/utility.js.map +1 -1
- package/dist/prompts/utils/handlerHelpers.d.ts +35 -0
- package/dist/prompts/utils/handlerHelpers.d.ts.map +1 -0
- package/dist/prompts/utils/handlerHelpers.js +53 -0
- package/dist/prompts/utils/handlerHelpers.js.map +1 -0
- package/dist/prompts/utils/textTemplates.d.ts +42 -0
- package/dist/prompts/utils/textTemplates.d.ts.map +1 -0
- package/dist/prompts/utils/textTemplates.js +51 -0
- package/dist/prompts/utils/textTemplates.js.map +1 -0
- package/dist/tools/dex/fetchAllDexPools.d.ts +9 -0
- package/dist/tools/dex/fetchAllDexPools.d.ts.map +1 -0
- package/dist/tools/dex/fetchAllDexPools.js +45 -0
- package/dist/tools/dex/fetchAllDexPools.js.map +1 -0
- package/dist/tools/dex/fetchDexPools.d.ts +9 -0
- package/dist/tools/dex/fetchDexPools.d.ts.map +1 -0
- package/dist/tools/dex/fetchDexPools.js +58 -0
- package/dist/tools/dex/fetchDexPools.js.map +1 -0
- package/dist/tools/dex/index.d.ts +4 -3
- package/dist/tools/dex/index.d.ts.map +1 -1
- package/dist/tools/dex/index.js +9 -4
- package/dist/tools/dex/index.js.map +1 -1
- package/dist/utils/validation.d.ts +38 -0
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +52 -0
- package/dist/utils/validation.js.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/server.test.ts +1 -2
- package/src/constants/mcpToolNames.ts +4 -2
- package/src/prompts/__tests__/promptStructure.test.ts +50 -0
- package/src/prompts/__tests__/registry.test.ts +23 -33
- package/src/prompts/analysis.ts +15 -64
- package/src/prompts/balances.ts +57 -73
- package/src/prompts/creation-utils.ts +34 -49
- package/src/prompts/explore-dex-pools.ts +138 -0
- package/src/prompts/index.ts +5 -2
- package/src/prompts/liquidity-positions.ts +11 -44
- package/src/prompts/pools.ts +156 -231
- package/src/prompts/portfolio.ts +13 -47
- package/src/prompts/social.ts +25 -31
- package/src/prompts/trading-calculations.ts +42 -127
- package/src/prompts/trading.ts +30 -61
- package/src/prompts/transfers.ts +25 -31
- package/src/prompts/utility-tools.ts +116 -199
- package/src/prompts/utility.ts +5 -20
- package/src/prompts/utils/handlerHelpers.ts +55 -0
- package/src/prompts/utils/textTemplates.ts +73 -0
- package/src/tools/dex/fetchAllDexPools.ts +45 -0
- package/src/tools/dex/fetchDexPools.ts +58 -0
- package/src/tools/dex/index.ts +9 -4
- package/src/utils/validation.ts +58 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.24.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- feat: Add DEX Pool Discovery MCP tools and prompts
|
|
8
|
+
- 2 new MCP tools: `gala_launchpad_fetch_dex_pools`, `gala_launchpad_fetch_all_dex_pools`
|
|
9
|
+
- 2 new slash commands: `/fetch-dex-pools`, `/fetch-all-dex-pools`
|
|
10
|
+
- Full support for GalaSwap liquidity pool exploration via MCP
|
|
11
|
+
- Integration with new SDK v3.28.0 DEX Pool Discovery feature
|
|
12
|
+
- Complete test coverage with 586 tests passing
|
|
13
|
+
|
|
3
14
|
## 1.23.0
|
|
4
15
|
|
|
5
16
|
### Minor Changes
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
# DRY Refactoring Guide for MCP Server Prompts
|
|
2
|
+
|
|
3
|
+
This guide documents the DRY (Don't Repeat Yourself) refactoring improvements made to the MCP server codebase.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The refactoring reduces code duplication across 72 prompt handlers by introducing reusable utilities while maintaining 100% API compatibility.
|
|
8
|
+
|
|
9
|
+
**Potential Impact:** ~526 LOC reduction with zero breaking changes
|
|
10
|
+
|
|
11
|
+
## Utility Files Created
|
|
12
|
+
|
|
13
|
+
### 1. `src/prompts/utils/handlerHelpers.ts`
|
|
14
|
+
|
|
15
|
+
Provides reusable helpers for creating standardized MCP prompt handlers.
|
|
16
|
+
|
|
17
|
+
**Functions:**
|
|
18
|
+
- `createPromptResponse(text: string)` - Creates a standard MCP message response
|
|
19
|
+
- `createValidatedHandler<T>(validator, textGenerator)` - Creates a handler with validation + response generation
|
|
20
|
+
|
|
21
|
+
**Benefit:** Eliminates ~360 lines of boilerplate (5 lines per handler × 72 handlers)
|
|
22
|
+
|
|
23
|
+
### 2. `src/prompts/utils/textTemplates.ts`
|
|
24
|
+
|
|
25
|
+
Provides template generators for common prompt patterns.
|
|
26
|
+
|
|
27
|
+
**Functions:**
|
|
28
|
+
- `createSimpleOperationText(config)` - Generates text for simple operation prompts following standard format
|
|
29
|
+
|
|
30
|
+
**Benefit:** Eliminates ~120 lines of template code (~3 lines per simple prompt × 40 prompts)
|
|
31
|
+
|
|
32
|
+
### 3. Updated `src/utils/validation.ts`
|
|
33
|
+
|
|
34
|
+
Added optional validation convenience wrappers.
|
|
35
|
+
|
|
36
|
+
**New Functions:**
|
|
37
|
+
- `validateOptional<T>(value, validator)` - Generic optional field validator
|
|
38
|
+
- `validateOptionalSlippage(slippage?)` - Optional slippage validation
|
|
39
|
+
- `validateOptionalLimit(limit?, max)` - Optional limit validation
|
|
40
|
+
- `validateOptionalAddress(address?)` - Optional address validation
|
|
41
|
+
|
|
42
|
+
**Benefit:** Eliminates ~46 lines of conditional validation (2 lines × 23 instances)
|
|
43
|
+
|
|
44
|
+
## Refactoring Patterns
|
|
45
|
+
|
|
46
|
+
### Pattern 1: Standardized Handler Response
|
|
47
|
+
|
|
48
|
+
**Before:**
|
|
49
|
+
```typescript
|
|
50
|
+
handler: (args) => {
|
|
51
|
+
validateTokenName(args.tokenName);
|
|
52
|
+
return [
|
|
53
|
+
{
|
|
54
|
+
role: 'user',
|
|
55
|
+
content: {
|
|
56
|
+
type: 'text',
|
|
57
|
+
text: `Fetch token ${args.tokenName}...`,
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
];
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**After:**
|
|
65
|
+
```typescript
|
|
66
|
+
import { createPromptResponse } from './utils/handlerHelpers.js';
|
|
67
|
+
|
|
68
|
+
handler: (args) => {
|
|
69
|
+
validateTokenName(args.tokenName);
|
|
70
|
+
return createPromptResponse(`Fetch token ${args.tokenName}...`);
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Where to Apply:**
|
|
75
|
+
- All 72 prompt handlers across all prompt files
|
|
76
|
+
- Any prompt file in `src/prompts/*.ts`
|
|
77
|
+
|
|
78
|
+
### Pattern 2: Optional Validation
|
|
79
|
+
|
|
80
|
+
**Before:**
|
|
81
|
+
```typescript
|
|
82
|
+
if (args.slippage) {
|
|
83
|
+
validateSlippage(args.slippage);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (args.limit) {
|
|
87
|
+
validatePaginationLimit(args.limit, 100);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
if (args.address) {
|
|
91
|
+
validateAddress(args.address);
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**After:**
|
|
96
|
+
```typescript
|
|
97
|
+
import { validateOptionalSlippage, validateOptionalLimit, validateOptionalAddress } from '../utils/validation.js';
|
|
98
|
+
|
|
99
|
+
validateOptionalSlippage(args.slippage);
|
|
100
|
+
validateOptionalLimit(args.limit, 100);
|
|
101
|
+
validateOptionalAddress(args.address);
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**Where to Apply:**
|
|
105
|
+
- `trading.ts` - 6 slippage validations
|
|
106
|
+
- `portfolio.ts` - 3 limit validations
|
|
107
|
+
- `analysis.ts` - 4 limit validations, 3 tokenName optional checks
|
|
108
|
+
- `balances.ts` - 4 address validations
|
|
109
|
+
- Other prompt files with optional parameters
|
|
110
|
+
|
|
111
|
+
### Pattern 3: Simple Operation Text Templates
|
|
112
|
+
|
|
113
|
+
**Before:**
|
|
114
|
+
```typescript
|
|
115
|
+
text: `Fetch GALA balance for wallet.
|
|
116
|
+
|
|
117
|
+
${args.address ? `Address: ${args.address}` : 'Using default wallet'}
|
|
118
|
+
|
|
119
|
+
Use ${MCP_TOOLS.FETCH_GALA_BALANCE} to retrieve the GALA balance.
|
|
120
|
+
|
|
121
|
+
Display the balance in a clear format.`
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**After:**
|
|
125
|
+
```typescript
|
|
126
|
+
import { createSimpleOperationText } from './utils/textTemplates.js';
|
|
127
|
+
|
|
128
|
+
text: createSimpleOperationText({
|
|
129
|
+
operation: 'Fetch GALA balance for wallet.',
|
|
130
|
+
parameters: {
|
|
131
|
+
address: args.address ? `Address: ${args.address}` : 'Using default wallet'
|
|
132
|
+
},
|
|
133
|
+
toolName: MCP_TOOLS.FETCH_GALA_BALANCE,
|
|
134
|
+
actionDescription: 'retrieve the GALA balance',
|
|
135
|
+
displayFormat: 'Display the balance in a clear format.'
|
|
136
|
+
})
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**Where to Apply:**
|
|
140
|
+
- All 40+ simple operation prompts across prompt files
|
|
141
|
+
- Prompts that follow the operation → parameters → tool usage → display format structure
|
|
142
|
+
|
|
143
|
+
## Implementation Checklist
|
|
144
|
+
|
|
145
|
+
### Phase 1: Handler Boilerplate (Highest Priority)
|
|
146
|
+
- [ ] Update all imports in prompt files to include `createPromptResponse`
|
|
147
|
+
- [ ] Replace all `return [{ role: 'user', content: { type: 'text', text: ... } }]` with `return createPromptResponse(...)`
|
|
148
|
+
- [ ] Files to update:
|
|
149
|
+
- [ ] `pools.ts` (14 handlers)
|
|
150
|
+
- [ ] `trading-calculations.ts` (11 handlers)
|
|
151
|
+
- [ ] `balances.ts` (4 handlers)
|
|
152
|
+
- [ ] `creation-utils.ts` (3 handlers)
|
|
153
|
+
- [ ] `social.ts` (2 handlers)
|
|
154
|
+
- [ ] `transfers.ts` (2 handlers)
|
|
155
|
+
- [ ] `utility-tools.ts` (12 handlers)
|
|
156
|
+
- [ ] All other prompt files (existing, not listed)
|
|
157
|
+
|
|
158
|
+
### Phase 2: Optional Validation (High Priority)
|
|
159
|
+
- [ ] Update imports in prompt files
|
|
160
|
+
- [ ] Replace conditional validation patterns with new optional validators
|
|
161
|
+
- [ ] High-impact files:
|
|
162
|
+
- [ ] `trading.ts` (6 instances)
|
|
163
|
+
- [ ] `portfolio.ts` (7 instances)
|
|
164
|
+
- [ ] `analysis.ts` (7 instances)
|
|
165
|
+
- [ ] `balances.ts` (4 instances)
|
|
166
|
+
|
|
167
|
+
### Phase 3: Text Templates (Medium Priority)
|
|
168
|
+
- [ ] Identify all simple operation prompts
|
|
169
|
+
- [ ] Update imports
|
|
170
|
+
- [ ] Replace template code with `createSimpleOperationText()`
|
|
171
|
+
- [ ] Estimated 40 prompts across multiple files
|
|
172
|
+
|
|
173
|
+
### Phase 4: Verification
|
|
174
|
+
- [ ] Run TypeScript compilation: `npx tsc --noEmit`
|
|
175
|
+
- [ ] Run tests: `npm test`
|
|
176
|
+
- [ ] Run linting: `npm run lint`
|
|
177
|
+
- [ ] Verify no regression in test count (should remain 1401+ passing)
|
|
178
|
+
- [ ] Verify all prompts produce identical output
|
|
179
|
+
|
|
180
|
+
## Code Sample: Complete Refactored Handler
|
|
181
|
+
|
|
182
|
+
### Before:
|
|
183
|
+
```typescript
|
|
184
|
+
export const fetchGalaSpotPricePrompt: MCPPrompt = {
|
|
185
|
+
name: 'galachain-launchpad:fetch-gala-spot-price',
|
|
186
|
+
description: 'Fetch current GALA USD spot price',
|
|
187
|
+
handler: () => {
|
|
188
|
+
return [
|
|
189
|
+
{
|
|
190
|
+
role: 'user',
|
|
191
|
+
content: {
|
|
192
|
+
type: 'text',
|
|
193
|
+
text: `Fetch the current GALA USD spot price.
|
|
194
|
+
|
|
195
|
+
Use ${MCP_TOOLS.FETCH_GALA_SPOT_PRICE} to get the latest GALA price in USD.
|
|
196
|
+
|
|
197
|
+
Display the price in a clear format.`,
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
];
|
|
201
|
+
},
|
|
202
|
+
};
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### After:
|
|
206
|
+
```typescript
|
|
207
|
+
import { createPromptResponse } from './utils/handlerHelpers.js';
|
|
208
|
+
import { createSimpleOperationText } from './utils/textTemplates.js';
|
|
209
|
+
|
|
210
|
+
export const fetchGalaSpotPricePrompt: MCPPrompt = {
|
|
211
|
+
name: 'galachain-launchpad:fetch-gala-spot-price',
|
|
212
|
+
description: 'Fetch current GALA USD spot price',
|
|
213
|
+
handler: () =>
|
|
214
|
+
createPromptResponse(
|
|
215
|
+
createSimpleOperationText({
|
|
216
|
+
operation: 'Fetch the current GALA USD spot price.',
|
|
217
|
+
toolName: MCP_TOOLS.FETCH_GALA_SPOT_PRICE,
|
|
218
|
+
actionDescription: 'get the latest GALA price in USD',
|
|
219
|
+
displayFormat: 'Display the price in a clear format.'
|
|
220
|
+
})
|
|
221
|
+
),
|
|
222
|
+
};
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
## Benefits
|
|
226
|
+
|
|
227
|
+
| Aspect | Benefit |
|
|
228
|
+
|--------|---------|
|
|
229
|
+
| **Maintainability** | Single point of change for response structure, validation logic, and text formatting |
|
|
230
|
+
| **Consistency** | All prompts follow identical patterns, easier to understand and predict behavior |
|
|
231
|
+
| **Testability** | Utility functions can be tested independently |
|
|
232
|
+
| **Scalability** | Adding new prompts is faster and less error-prone |
|
|
233
|
+
| **LOC Reduction** | ~526 lines of boilerplate eliminated |
|
|
234
|
+
| **API Compatibility** | Zero breaking changes, 100% backward compatible |
|
|
235
|
+
|
|
236
|
+
## Testing Strategy
|
|
237
|
+
|
|
238
|
+
1. **Unit Tests:** Add tests for utility functions if not present
|
|
239
|
+
2. **Integration Tests:** Verify all 72 prompts still produce identical output
|
|
240
|
+
3. **Regression Tests:** Ensure no prompt behavior changes
|
|
241
|
+
4. **Type Safety:** Full TypeScript compilation with strict checks
|
|
242
|
+
|
|
243
|
+
## Timeline
|
|
244
|
+
|
|
245
|
+
- **Phase 1 (Handler Boilerplate):** ~1 hour (72 handlers, mechanical change)
|
|
246
|
+
- **Phase 2 (Optional Validation):** ~30 minutes (23 instances)
|
|
247
|
+
- **Phase 3 (Text Templates):** ~45 minutes (40 prompts)
|
|
248
|
+
- **Phase 4 (Testing/Verification):** ~15 minutes
|
|
249
|
+
- **Total:** ~2.5 hours for complete refactoring
|
|
250
|
+
|
|
251
|
+
## Risk Assessment
|
|
252
|
+
|
|
253
|
+
| Phase | Risk | Mitigation |
|
|
254
|
+
|-------|------|-----------|
|
|
255
|
+
| 1 | **LOW** | Pure mechanical change, output unchanged | Full test coverage |
|
|
256
|
+
| 2 | **LOW** | Logic preservation via wrappers | Verify validation behavior |
|
|
257
|
+
| 3 | **LOW** | Template-based generation | Compare output strings |
|
|
258
|
+
| Overall | **LOW** | No API changes, well-tested utilities | Comprehensive testing |
|
|
259
|
+
|
|
260
|
+
## Notes
|
|
261
|
+
|
|
262
|
+
- All changes are internal implementation details
|
|
263
|
+
- No MCP tool signatures change
|
|
264
|
+
- All changes follow DRY principle without adding unnecessary complexity
|
|
265
|
+
- Utilities are properly documented with JSDoc comments
|
|
266
|
+
- Both new utility files include comprehensive examples
|
|
267
|
+
|
|
268
|
+
## See Also
|
|
269
|
+
|
|
270
|
+
- `src/prompts/utils/handlerHelpers.ts` - Handler utilities
|
|
271
|
+
- `src/prompts/utils/textTemplates.ts` - Template utilities
|
|
272
|
+
- `src/utils/validation.ts` - Validation utilities (updated)
|
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
|
+
- **74 AI-accessible tools** for complete Gala Launchpad integration (includes 17 pool management tools, 13 trading operation tools, 6 balance & portfolio tools, 5 token creation tools, 2 transfer tools, 2 social/comment tools, 14 utility tools, 2 DEX pool discovery tools, 7 GSwap DEX trading tools, 8 liquidity position tools)
|
|
8
|
+
- **74 slash commands** (prompts) for 1:1 mapping to all MCP tools - every tool has a corresponding slash command
|
|
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,9 +98,9 @@ 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 (74 Total)
|
|
102
102
|
|
|
103
|
-
### Pool Management (17 tools)
|
|
103
|
+
### Pool & Price Management (17 tools)
|
|
104
104
|
- `gala_launchpad_fetch_pools` - Fetch token pools with filtering
|
|
105
105
|
- `gala_launchpad_fetch_all_pools` - Fetch all available pools with automatic pagination
|
|
106
106
|
- `gala_launchpad_fetch_pool_details` - Get detailed pool state
|
|
@@ -238,7 +238,21 @@ const result2 = await gala_launchpad_graduate_token({
|
|
|
238
238
|
|
|
239
239
|
**Accuracy:** Local calculations match external (network) with <0.01% difference.
|
|
240
240
|
|
|
241
|
-
###
|
|
241
|
+
### DEX Pool Discovery (2 tools) - NEW
|
|
242
|
+
|
|
243
|
+
**Discover and explore GalaSwap DEX liquidity pools with filtering, sorting, and pagination:**
|
|
244
|
+
|
|
245
|
+
- `gala_launchpad_fetch_dex_pools` - Discover DEX liquidity pools with pagination, sorting, and search filtering
|
|
246
|
+
- `gala_launchpad_fetch_all_dex_pools` - Discover ALL DEX liquidity pools with automatic pagination
|
|
247
|
+
|
|
248
|
+
**Features:**
|
|
249
|
+
- 🔍 **Search filtering** - Find pools by token symbol (GALA, GUSDC, etc.)
|
|
250
|
+
- 📊 **Sorting options** - Sort by TVL, 24h volume, or 30d volume
|
|
251
|
+
- 📄 **Pagination** - Browse large pool datasets efficiently (max 20 per page)
|
|
252
|
+
- 🚀 **Auto-pagination** - Fetch all pools automatically with `fetchAllDexPools`
|
|
253
|
+
- 💰 **Complete pool data** - TVL, fees, APR, volume metrics, and token pricing
|
|
254
|
+
|
|
255
|
+
### GSwap DEX Trading (7 tools)
|
|
242
256
|
|
|
243
257
|
**Real-time DEX trading for graduated tokens with slippage protection:**
|
|
244
258
|
|
|
@@ -445,7 +459,7 @@ Ask Claude (or your AI assistant):
|
|
|
445
459
|
|
|
446
460
|
## ⚡ Slash Commands (Prompts) - 1:1 Tool Mapping
|
|
447
461
|
|
|
448
|
-
The MCP server exposes **
|
|
462
|
+
The MCP server exposes **74 slash commands** (prompts) for complete 1:1 mapping to all MCP tools - every tool has a corresponding slash command for quick access. These appear as `/galachain-launchpad:<<method>>` in Claude Desktop.
|
|
449
463
|
|
|
450
464
|
### Trading Commands (4 commands)
|
|
451
465
|
|
|
@@ -552,6 +566,20 @@ The MCP server exposes **72 slash commands** (prompts) for complete 1:1 mapping
|
|
|
552
566
|
- **Example**: `/galachain-launchpad:discover-tokens type=near-graduation minProgress=90 limit=10`
|
|
553
567
|
- Helps find investment opportunities with filtering and analysis
|
|
554
568
|
|
|
569
|
+
### DEX Pool Discovery Commands (2 commands) - NEW
|
|
570
|
+
|
|
571
|
+
**`/galachain-launchpad:fetch-dex-pools`** - NEW
|
|
572
|
+
- Discover DEX liquidity pools with pagination and filtering
|
|
573
|
+
- **Arguments**: `search` (optional: token symbol filter), `sortBy` (optional: tvl/volume30d/volume1d, default: tvl), `sortOrder` (optional: asc/desc, default: desc), `page` (optional, default: 1), `limit` (optional, default: 10, max: 20)
|
|
574
|
+
- **Example**: `/galachain-launchpad:fetch-dex-pools search=GALA sortBy=volume30d limit=10`
|
|
575
|
+
- Browse DEX pools with complete metrics: TVL, trading volume, APR, and fee data
|
|
576
|
+
|
|
577
|
+
**`/galachain-launchpad:fetch-all-dex-pools`** - NEW
|
|
578
|
+
- Discover ALL available DEX liquidity pools with automatic pagination
|
|
579
|
+
- **Arguments**: `search` (optional: token symbol filter), `sortBy` (optional: tvl/volume30d/volume1d, default: tvl), `sortOrder` (optional: asc/desc, default: desc)
|
|
580
|
+
- **Example**: `/galachain-launchpad:fetch-all-dex-pools search=GUSDC sortBy=volume1d sortOrder=asc`
|
|
581
|
+
- Retrieves the complete list of all DEX pools - perfect for comprehensive analysis and discovery
|
|
582
|
+
|
|
555
583
|
### Pool Management Commands (13 commands)
|
|
556
584
|
|
|
557
585
|
**`/galachain-launchpad:fetch-pools`** - Fetch token pools with filtering
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Use these constants instead of hardcoded strings to prevent typos
|
|
6
6
|
* and enable IDE autocomplete.
|
|
7
7
|
*
|
|
8
|
-
* Total:
|
|
8
|
+
* Total: 74 tools across 9 categories (added 2 new DEX pool discovery tools)
|
|
9
9
|
*/
|
|
10
10
|
/**
|
|
11
11
|
* Pool Management & Pricing Tools (17 tools)
|
|
@@ -102,9 +102,11 @@ export declare const UTILITY_TOOLS: {
|
|
|
102
102
|
readonly GET_VERSION: "gala_launchpad_get_version";
|
|
103
103
|
};
|
|
104
104
|
/**
|
|
105
|
-
* DEX Trading Tools (
|
|
105
|
+
* DEX Trading & Pool Discovery Tools (7 tools)
|
|
106
106
|
*/
|
|
107
107
|
export declare const DEX_TOOLS: {
|
|
108
|
+
readonly FETCH_DEX_POOLS: "gala_launchpad_fetch_dex_pools";
|
|
109
|
+
readonly FETCH_ALL_DEX_POOLS: "gala_launchpad_fetch_all_dex_pools";
|
|
108
110
|
readonly GET_SWAP_QUOTE_EXACT_INPUT: "gala_launchpad_get_swap_quote_exact_input";
|
|
109
111
|
readonly GET_SWAP_QUOTE_EXACT_OUTPUT: "gala_launchpad_get_swap_quote_exact_output";
|
|
110
112
|
readonly EXECUTE_SWAP: "gala_launchpad_execute_swap";
|
|
@@ -139,6 +141,8 @@ export declare const MCP_TOOLS: {
|
|
|
139
141
|
readonly ADD_LIQUIDITY_BY_TICKS: "gala_launchpad_add_liquidity_by_ticks";
|
|
140
142
|
readonly REMOVE_LIQUIDITY: "gala_launchpad_remove_liquidity";
|
|
141
143
|
readonly COLLECT_POSITION_FEES: "gala_launchpad_collect_position_fees";
|
|
144
|
+
readonly FETCH_DEX_POOLS: "gala_launchpad_fetch_dex_pools";
|
|
145
|
+
readonly FETCH_ALL_DEX_POOLS: "gala_launchpad_fetch_all_dex_pools";
|
|
142
146
|
readonly GET_SWAP_QUOTE_EXACT_INPUT: "gala_launchpad_get_swap_quote_exact_input";
|
|
143
147
|
readonly GET_SWAP_QUOTE_EXACT_OUTPUT: "gala_launchpad_get_swap_quote_exact_output";
|
|
144
148
|
readonly EXECUTE_SWAP: "gala_launchpad_execute_swap";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpToolNames.d.ts","sourceRoot":"","sources":["../../src/constants/mcpToolNames.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;CAkBb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;CAchB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;CAOhB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;CAehB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"mcpToolNames.d.ts","sourceRoot":"","sources":["../../src/constants/mcpToolNames.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;CAkBb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;CAchB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;CAOhB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;CAehB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;CAQZ,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;CASlB,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBZ,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAErE;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,WAAW,CAEjE"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Use these constants instead of hardcoded strings to prevent typos
|
|
7
7
|
* and enable IDE autocomplete.
|
|
8
8
|
*
|
|
9
|
-
* Total:
|
|
9
|
+
* Total: 74 tools across 9 categories (added 2 new DEX pool discovery tools)
|
|
10
10
|
*/
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.MCP_TOOLS = exports.LIQUIDITY_TOOLS = exports.DEX_TOOLS = exports.UTILITY_TOOLS = exports.TRANSFER_TOOLS = exports.SOCIAL_TOOLS = exports.CREATION_TOOLS = exports.BALANCE_TOOLS = exports.TRADING_TOOLS = exports.POOL_TOOLS = void 0;
|
|
@@ -107,9 +107,11 @@ exports.UTILITY_TOOLS = {
|
|
|
107
107
|
GET_VERSION: 'gala_launchpad_get_version',
|
|
108
108
|
};
|
|
109
109
|
/**
|
|
110
|
-
* DEX Trading Tools (
|
|
110
|
+
* DEX Trading & Pool Discovery Tools (7 tools)
|
|
111
111
|
*/
|
|
112
112
|
exports.DEX_TOOLS = {
|
|
113
|
+
FETCH_DEX_POOLS: 'gala_launchpad_fetch_dex_pools',
|
|
114
|
+
FETCH_ALL_DEX_POOLS: 'gala_launchpad_fetch_all_dex_pools',
|
|
113
115
|
GET_SWAP_QUOTE_EXACT_INPUT: 'gala_launchpad_get_swap_quote_exact_input',
|
|
114
116
|
GET_SWAP_QUOTE_EXACT_OUTPUT: 'gala_launchpad_get_swap_quote_exact_output',
|
|
115
117
|
EXECUTE_SWAP: 'gala_launchpad_execute_swap',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpToolNames.js","sourceRoot":"","sources":["../../src/constants/mcpToolNames.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;
|
|
1
|
+
{"version":3,"file":"mcpToolNames.js","sourceRoot":"","sources":["../../src/constants/mcpToolNames.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../../src/prompts/analysis.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../../src/prompts/analysis.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAKjD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SA0DjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,SA8CpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAsC9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAyD/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAkEhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SA+DjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,EAOtC,CAAC"}
|
package/dist/prompts/analysis.js
CHANGED
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
8
8
|
exports.analysisPrompts = exports.fetchAllPoolsPrompt = exports.tradeHistoryPrompt = exports.poolDetailsPrompt = exports.spotPricesPrompt = exports.graduationStatusPrompt = exports.compareTokensPrompt = void 0;
|
|
9
9
|
const mcpToolNames_js_1 = require("../constants/mcpToolNames.js");
|
|
10
10
|
const validation_js_1 = require("../utils/validation.js");
|
|
11
|
+
const handlerHelpers_js_1 = require("./utils/handlerHelpers.js");
|
|
11
12
|
/**
|
|
12
13
|
* Compare Tokens - Side-by-side comparison
|
|
13
14
|
*/
|
|
@@ -30,12 +31,7 @@ exports.compareTokensPrompt = {
|
|
|
30
31
|
// Validate inputs
|
|
31
32
|
(0, validation_js_1.validateTokenName)(args.token1, 'token1');
|
|
32
33
|
(0, validation_js_1.validateTokenName)(args.token2, 'token2');
|
|
33
|
-
return
|
|
34
|
-
{
|
|
35
|
-
role: 'user',
|
|
36
|
-
content: {
|
|
37
|
-
type: 'text',
|
|
38
|
-
text: `Compare two Launchpad tokens side-by-side:
|
|
34
|
+
return (0, handlerHelpers_js_1.createPromptResponse)(`Compare two Launchpad tokens side-by-side:
|
|
39
35
|
|
|
40
36
|
Token 1: ${args.token1}
|
|
41
37
|
Token 2: ${args.token2}
|
|
@@ -71,10 +67,7 @@ Provide analysis:
|
|
|
71
67
|
- Which token is closer to graduation?
|
|
72
68
|
- Which has better liquidity?
|
|
73
69
|
- Which might be a better investment and why?
|
|
74
|
-
- Any notable badges or achievements
|
|
75
|
-
},
|
|
76
|
-
},
|
|
77
|
-
];
|
|
70
|
+
- Any notable badges or achievements?`);
|
|
78
71
|
},
|
|
79
72
|
};
|
|
80
73
|
/**
|
|
@@ -93,12 +86,7 @@ exports.graduationStatusPrompt = {
|
|
|
93
86
|
handler: (args) => {
|
|
94
87
|
// Validate inputs
|
|
95
88
|
const tokenArray = (0, validation_js_1.validateTokenList)(args.tokens);
|
|
96
|
-
return
|
|
97
|
-
{
|
|
98
|
-
role: 'user',
|
|
99
|
-
content: {
|
|
100
|
-
type: 'text',
|
|
101
|
-
text: `Check graduation status for multiple tokens:
|
|
89
|
+
return (0, handlerHelpers_js_1.createPromptResponse)(`Check graduation status for multiple tokens:
|
|
102
90
|
|
|
103
91
|
Tokens: ${args.tokens}
|
|
104
92
|
|
|
@@ -128,10 +116,7 @@ Summary:
|
|
|
128
116
|
|
|
129
117
|
Provide recommendations:
|
|
130
118
|
- Which tokens are good graduation opportunities?
|
|
131
|
-
- Which tokens might be undervalued
|
|
132
|
-
},
|
|
133
|
-
},
|
|
134
|
-
];
|
|
119
|
+
- Which tokens might be undervalued?`);
|
|
135
120
|
},
|
|
136
121
|
};
|
|
137
122
|
/**
|
|
@@ -150,12 +135,7 @@ exports.spotPricesPrompt = {
|
|
|
150
135
|
handler: (args) => {
|
|
151
136
|
// Validate inputs
|
|
152
137
|
(0, validation_js_1.validateTokenList)(args.tokens);
|
|
153
|
-
return
|
|
154
|
-
{
|
|
155
|
-
role: 'user',
|
|
156
|
-
content: {
|
|
157
|
-
type: 'text',
|
|
158
|
-
text: `Get spot prices for multiple Launchpad tokens:
|
|
138
|
+
return (0, handlerHelpers_js_1.createPromptResponse)(`Get spot prices for multiple Launchpad tokens:
|
|
159
139
|
|
|
160
140
|
Tokens: ${args.tokens}
|
|
161
141
|
|
|
@@ -177,10 +157,7 @@ Present results:
|
|
|
177
157
|
|
|
178
158
|
Performance note: Using LOCAL calculations - instant results with <0.01% difference from external!
|
|
179
159
|
|
|
180
|
-
Sort by USD price (highest to lowest)
|
|
181
|
-
},
|
|
182
|
-
},
|
|
183
|
-
];
|
|
160
|
+
Sort by USD price (highest to lowest).`);
|
|
184
161
|
},
|
|
185
162
|
};
|
|
186
163
|
/**
|
|
@@ -199,12 +176,7 @@ exports.poolDetailsPrompt = {
|
|
|
199
176
|
handler: (args) => {
|
|
200
177
|
// Validate inputs
|
|
201
178
|
(0, validation_js_1.validateTokenName)(args.tokenName);
|
|
202
|
-
return
|
|
203
|
-
{
|
|
204
|
-
role: 'user',
|
|
205
|
-
content: {
|
|
206
|
-
type: 'text',
|
|
207
|
-
text: `Get comprehensive pool information for "${args.tokenName}":
|
|
179
|
+
return (0, handlerHelpers_js_1.createPromptResponse)(`Get comprehensive pool information for "${args.tokenName}":
|
|
208
180
|
|
|
209
181
|
1. Full pool details: ${mcpToolNames_js_1.MCP_TOOLS.FETCH_POOL_DETAILS}
|
|
210
182
|
2. Token distribution: ${mcpToolNames_js_1.MCP_TOOLS.FETCH_TOKEN_DISTRIBUTION}
|
|
@@ -245,10 +217,7 @@ Display organized sections:
|
|
|
245
217
|
**Reverse Bonding Curve:**
|
|
246
218
|
- Max fee factor
|
|
247
219
|
- Min fee factor
|
|
248
|
-
- Current fee structure
|
|
249
|
-
},
|
|
250
|
-
},
|
|
251
|
-
];
|
|
220
|
+
- Current fee structure`);
|
|
252
221
|
},
|
|
253
222
|
};
|
|
254
223
|
/**
|
|
@@ -284,19 +253,12 @@ exports.tradeHistoryPrompt = {
|
|
|
284
253
|
if (args.tokenName) {
|
|
285
254
|
(0, validation_js_1.validateTokenName)(args.tokenName);
|
|
286
255
|
}
|
|
287
|
-
|
|
288
|
-
(0, validation_js_1.validatePaginationLimit)(args.limit, 20);
|
|
289
|
-
}
|
|
256
|
+
(0, validation_js_1.validateOptionalLimit)(args.limit, 20);
|
|
290
257
|
if (args.tradeType && args.tradeType !== 'BUY' && args.tradeType !== 'SELL') {
|
|
291
258
|
throw new Error('tradeType must be either BUY or SELL');
|
|
292
259
|
}
|
|
293
260
|
const limit = args.limit || '20';
|
|
294
|
-
return
|
|
295
|
-
{
|
|
296
|
-
role: 'user',
|
|
297
|
-
content: {
|
|
298
|
-
type: 'text',
|
|
299
|
-
text: `Show recent trade history:
|
|
261
|
+
return (0, handlerHelpers_js_1.createPromptResponse)(`Show recent trade history:
|
|
300
262
|
|
|
301
263
|
${args.tokenName ? `Token: ${args.tokenName}` : 'All tokens'}
|
|
302
264
|
${args.userAddress ? `User: ${args.userAddress}` : 'All users'}
|
|
@@ -323,10 +285,7 @@ Calculate summary:
|
|
|
323
285
|
- Total trades shown
|
|
324
286
|
- Total volume (GALA)
|
|
325
287
|
- Average trade size
|
|
326
|
-
- Buy vs Sell ratio (if not filtered)
|
|
327
|
-
},
|
|
328
|
-
},
|
|
329
|
-
];
|
|
288
|
+
- Buy vs Sell ratio (if not filtered)`);
|
|
330
289
|
},
|
|
331
290
|
};
|
|
332
291
|
/**
|
|
@@ -356,12 +315,7 @@ exports.fetchAllPoolsPrompt = {
|
|
|
356
315
|
? `- search: "${args.search}" (fuzzy match filter)`
|
|
357
316
|
: '- No search filter';
|
|
358
317
|
const typeFilter = args.type ? args.type : 'recent';
|
|
359
|
-
return
|
|
360
|
-
{
|
|
361
|
-
role: 'user',
|
|
362
|
-
content: {
|
|
363
|
-
type: 'text',
|
|
364
|
-
text: `Fetch ALL available Launchpad pools with automatic pagination:
|
|
318
|
+
return (0, handlerHelpers_js_1.createPromptResponse)(`Fetch ALL available Launchpad pools with automatic pagination:
|
|
365
319
|
|
|
366
320
|
Use ${mcpToolNames_js_1.MCP_TOOLS.FETCH_ALL_POOLS} with:
|
|
367
321
|
${searchFilter}
|
|
@@ -396,10 +350,7 @@ Performance note:
|
|
|
396
350
|
- Automatic cache warming for token metadata
|
|
397
351
|
- Much faster than manual pagination!
|
|
398
352
|
|
|
399
|
-
Sort pools by creation date (newest first) or progress (closest to graduation first)
|
|
400
|
-
},
|
|
401
|
-
},
|
|
402
|
-
];
|
|
353
|
+
Sort pools by creation date (newest first) or progress (closest to graduation first).`);
|
|
403
354
|
},
|
|
404
355
|
};
|
|
405
356
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../src/prompts/analysis.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,kEAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../src/prompts/analysis.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balances.d.ts","sourceRoot":"","sources":["../../src/prompts/balances.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"balances.d.ts","sourceRoot":"","sources":["../../src/prompts/balances.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAMjD;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAyBpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,SA+BrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAiDtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAuCjC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAAS,EAKrC,CAAC"}
|