@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
JavaScript
;
/**
* 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