UNPKG

@dbotx/conditional-order-mcp-server

Version:

Conditional Order MCP Server - Supports creating and managing conditional orders, automatically executing trades based on specific conditions

111 lines 6.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GetOrdersRequestSchema = exports.ToggleOrderRequestSchema = exports.UpdateDevOrderRequestSchema = exports.UpdateMigrateOrderRequestSchema = exports.CreateDevOrderRequestSchema = exports.CreateMigrateOrderRequestSchema = exports.TradeTypeSchema = exports.PairTypeSchema = exports.ChainSchema = void 0; const zod_1 = require("zod"); // Helper function to get default values from environment variables function getEnvDefault(envKey, defaultValue, transform) { const envValue = process.env[envKey]; if (envValue === undefined) { return defaultValue; } if (transform) { try { return transform(envValue); } catch (e) { console.warn(`Warning: Invalid value for ${envKey}, using default value`); return defaultValue; } } return envValue; } // Base type definitions exports.ChainSchema = zod_1.z.enum(['solana']); exports.PairTypeSchema = zod_1.z.enum(['pump', 'raydium_amm']); exports.TradeTypeSchema = zod_1.z.enum(['sell']); // Request to create a sell-on-open order exports.CreateMigrateOrderRequestSchema = zod_1.z.object({ chain: exports.ChainSchema.default(getEnvDefault('DBOT_CHAIN', 'solana')), pairType: exports.PairTypeSchema.default('pump'), pair: zod_1.z.string().min(1), walletId: zod_1.z.string().min(1), tradeType: exports.TradeTypeSchema.default('sell'), amountOrPercent: zod_1.z.number().min(0).max(1), customFeeAndTip: zod_1.z.boolean().default(getEnvDefault('DBOT_CUSTOM_FEE_AND_TIP', false, (v) => v === 'true')), priorityFee: zod_1.z.string().default(getEnvDefault('DBOT_PRIORITY_FEE', '')), jitoEnabled: zod_1.z.boolean().default(getEnvDefault('DBOT_JITO_ENABLED', true, (v) => v === 'true')), jitoTip: zod_1.z.number().min(0).default(getEnvDefault('DBOT_JITO_TIP', 0.001, Number)), expireDelta: zod_1.z.number().int().min(0).max(432000000).default(getEnvDefault('DBOT_EXPIRE_DELTA', 360000000, Number)), maxSlippage: zod_1.z.number().min(0).max(1).default(getEnvDefault('DBOT_MAX_SLIPPAGE', 0.1, Number)), concurrentNodes: zod_1.z.number().int().min(1).max(3).default(getEnvDefault('DBOT_CONCURRENT_NODES', 2, Number)), retries: zod_1.z.number().int().min(0).max(10).default(getEnvDefault('DBOT_RETRIES', 1, Number)), }); // Request to create a follow-dev-sell order exports.CreateDevOrderRequestSchema = zod_1.z.object({ chain: exports.ChainSchema.default(getEnvDefault('DBOT_CHAIN', 'solana')), pairType: exports.PairTypeSchema.default('pump'), pair: zod_1.z.string().min(1), walletId: zod_1.z.string().min(1), tradeType: exports.TradeTypeSchema.default('sell'), minDevSellPercent: zod_1.z.number().min(0).max(1).default(getEnvDefault('DBOT_MIN_DEV_SELL_PERCENT', 0.5, Number)), amountOrPercent: zod_1.z.number().min(0).max(1), customFeeAndTip: zod_1.z.boolean().default(getEnvDefault('DBOT_CUSTOM_FEE_AND_TIP', false, (v) => v === 'true')), priorityFee: zod_1.z.string().default(getEnvDefault('DBOT_PRIORITY_FEE', '')), jitoEnabled: zod_1.z.boolean().default(getEnvDefault('DBOT_JITO_ENABLED', true, (v) => v === 'true')), jitoTip: zod_1.z.number().min(0).default(getEnvDefault('DBOT_JITO_TIP', 0.001, Number)), expireDelta: zod_1.z.number().int().min(0).max(432000000).default(getEnvDefault('DBOT_EXPIRE_DELTA', 360000000, Number)), maxSlippage: zod_1.z.number().min(0).max(1).default(getEnvDefault('DBOT_MAX_SLIPPAGE', 0.1, Number)), concurrentNodes: zod_1.z.number().int().min(1).max(3).default(getEnvDefault('DBOT_CONCURRENT_NODES', 2, Number)), retries: zod_1.z.number().int().min(0).max(10).default(getEnvDefault('DBOT_RETRIES', 1, Number)), }); // Request to update a sell-on-open order exports.UpdateMigrateOrderRequestSchema = zod_1.z.object({ id: zod_1.z.string().min(1), chain: exports.ChainSchema.default('solana'), pairType: exports.PairTypeSchema.default('pump'), pair: zod_1.z.string().min(1), walletId: zod_1.z.string().min(1), tradeType: exports.TradeTypeSchema.default('sell'), amountOrPercent: zod_1.z.number().min(0).max(1), customFeeAndTip: zod_1.z.boolean().default(false), priorityFee: zod_1.z.string().default(''), jitoEnabled: zod_1.z.boolean().default(true), jitoTip: zod_1.z.number().min(0).default(0.001), expireDelta: zod_1.z.number().int().min(0).max(432000000).default(360000000), maxSlippage: zod_1.z.number().min(0).max(1).default(0.1), concurrentNodes: zod_1.z.number().int().min(1).max(3).default(2), retries: zod_1.z.number().int().min(0).max(10).default(1), }); // Request to update a follow-dev-sell order exports.UpdateDevOrderRequestSchema = zod_1.z.object({ id: zod_1.z.string().min(1), chain: exports.ChainSchema.default('solana'), pairType: exports.PairTypeSchema.default('pump'), pair: zod_1.z.string().min(1), walletId: zod_1.z.string().min(1), tradeType: exports.TradeTypeSchema.default('sell'), minDevSellPercent: zod_1.z.number().min(0).max(1).default(0.5), amountOrPercent: zod_1.z.number().min(0).max(1), customFeeAndTip: zod_1.z.boolean().default(false), priorityFee: zod_1.z.string().default(''), jitoEnabled: zod_1.z.boolean().default(true), jitoTip: zod_1.z.number().min(0).default(0.001), expireDelta: zod_1.z.number().int().min(0).max(432000000).default(360000000), maxSlippage: zod_1.z.number().min(0).max(1).default(0.1), concurrentNodes: zod_1.z.number().int().min(1).max(3).default(2), retries: zod_1.z.number().int().min(0).max(10).default(1), }); // Request to toggle an order exports.ToggleOrderRequestSchema = zod_1.z.object({ id: zod_1.z.string().min(1), enabled: zod_1.z.boolean(), }); // Task list query parameters exports.GetOrdersRequestSchema = zod_1.z.object({ page: zod_1.z.number().int().min(0).default(0), size: zod_1.z.number().int().min(1).max(100).default(20), chain: exports.ChainSchema.default('solana'), state: zod_1.z.enum(['init', 'processing', 'done', 'fail', 'expired']).optional(), source: zod_1.z.string().optional(), }); //# sourceMappingURL=types.js.map