UNPKG

@gala-chain/launchpad-mcp-server

Version:

MCP server for Gala Launchpad - 102 tools (pool management, event watchers, GSwap DEX trading, price history, token creation, wallet management, DEX pool discovery, liquidity positions, token locks, locked token queries, composite pool data, cross-chain b

106 lines 4.12 kB
"use strict"; /** * Token Creation Prompts * * Slash commands for creating new tokens on Gala Launchpad */ Object.defineProperty(exports, "__esModule", { value: true }); exports.creationPrompts = exports.createTokenPrompt = void 0; const workflowTemplates_js_1 = require("./utils/workflowTemplates.js"); const validation_js_1 = require("../utils/validation.js"); /** * Create Token - Guided token creation workflow */ exports.createTokenPrompt = { name: 'galachain-launchpad:create-token', description: 'Guide user through creating a new token on Gala Launchpad with metadata, image upload, and optional pre-buy', arguments: [ { name: 'tokenName', description: 'Name for the new token - must be 3-20 lowercase alphanumeric characters (e.g., "mytoken")', required: true, }, { name: 'tokenSymbol', description: 'Token symbol - must be 1-8 uppercase letters (e.g., "MTK")', required: true, }, { name: 'description', description: 'Token description - brief description of what the token is for (1-500 chars)', required: true, }, { name: 'websiteUrl', description: 'Optional website URL (e.g., "https://mytoken.com") - at least one social URL required', required: false, }, { name: 'twitterUrl', description: 'Optional Twitter profile URL (e.g., "https://twitter.com/mytoken") - at least one social URL required', required: false, }, { name: 'telegramUrl', description: 'Optional Telegram channel URL (e.g., "https://t.me/mytoken") - at least one social URL required', required: false, }, { name: 'imagePath', description: 'Optional path to token image file - will be uploaded to IPFS (e.g., "/path/to/image.png")', required: false, }, { name: 'preBuyGala', description: 'Optional GALA amount for initial token purchase (e.g., "100" for 100 GALA) - helps bootstrap liquidity', required: false, }, ], handler: (args) => { // Validate inputs (0, validation_js_1.validateTokenName)(args.tokenName); (0, validation_js_1.validateTokenSymbol)(args.tokenSymbol); // Validate at least one social URL const hasSocialUrl = args.websiteUrl || args.twitterUrl || args.telegramUrl; if (!hasSocialUrl) { throw new Error('At least one social URL is required: websiteUrl, twitterUrl, or telegramUrl'); } // Validate social URLs if provided if (args.websiteUrl) { (0, validation_js_1.validateUrl)(args.websiteUrl, 'websiteUrl'); } if (args.twitterUrl) { (0, validation_js_1.validateUrl)(args.twitterUrl, 'twitterUrl'); } if (args.telegramUrl) { (0, validation_js_1.validateUrl)(args.telegramUrl, 'telegramUrl'); } // Validate pre-buy amount if provided if (args.preBuyGala) { (0, validation_js_1.validateNumericAmount)(args.preBuyGala, 'preBuyGala'); } return [ { role: 'user', content: { type: 'text', text: (0, workflowTemplates_js_1.createCreateTokenWorkflow)({ tokenName: args.tokenName, tokenSymbol: args.tokenSymbol, description: args.description, websiteUrl: args.websiteUrl, twitterUrl: args.twitterUrl, telegramUrl: args.telegramUrl, imagePath: args.imagePath, preBuyGala: args.preBuyGala, }), }, }, ]; }, }; /** * Export all token creation prompts */ exports.creationPrompts = [exports.createTokenPrompt]; //# sourceMappingURL=create-token.js.map