UNPKG

@dbotx/limit-order-mcp-server

Version:

Limit Order MCP Server - Supporting multi-chain limit orders, precise price triggers, and flexible order management. A professional cross-chain MCP trading service supporting DEX trading on multiple chains including Solana, Ethereum, BSC and more.

88 lines 4.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LimitOrdersRequestSchema = exports.DeleteAllLimitOrderRequestSchema = exports.DeleteLimitOrdersRequestSchema = exports.DeleteLimitOrderRequestSchema = exports.SwitchLimitOrderRequestSchema = exports.EditLimitOrderRequestSchema = exports.CreateLimitOrderRequestSchema = exports.LimitOrderSettingSchema = exports.TriggerDirectionSchema = exports.TradeTypeSchema = exports.ChainSchema = void 0; const zod_1 = require("zod"); // Basic type definitions exports.ChainSchema = zod_1.z.enum(['solana', 'ethereum', 'base', 'bsc', 'tron']); exports.TradeTypeSchema = zod_1.z.enum(['buy', 'sell']); exports.TriggerDirectionSchema = zod_1.z.enum(['up', 'down']); // Limit order settings exports.LimitOrderSettingSchema = zod_1.z.object({ enabled: zod_1.z.boolean().default(true), tradeType: exports.TradeTypeSchema, triggerPriceUsd: zod_1.z.string().min(1), triggerDirection: exports.TriggerDirectionSchema, currencyAmountUI: zod_1.z.number().min(0), customFeeAndTip: zod_1.z.boolean().default(false), priorityFee: zod_1.z.string().default(''), gasFeeDelta: zod_1.z.number().int().min(0).default(5), maxFeePerGas: zod_1.z.number().int().min(0).default(100), jitoEnabled: zod_1.z.boolean().default(false), jitoTip: zod_1.z.number().min(0).default(0.001), expireDelta: zod_1.z.number().int().min(0).max(432000000).default(432000000), expireExecute: zod_1.z.boolean().default(false), useMidPrice: zod_1.z.boolean().default(false), 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), }); // Create limit order request - supports multiple settings exports.CreateLimitOrderRequestSchema = zod_1.z.object({ chain: exports.ChainSchema.default('solana'), pair: zod_1.z.string().min(1), walletId: zod_1.z.string().min(1).optional(), groupId: zod_1.z.string().optional(), settings: zod_1.z.array(exports.LimitOrderSettingSchema).min(1), }); // Edit limit order request exports.EditLimitOrderRequestSchema = zod_1.z.object({ id: zod_1.z.string().min(1), enabled: zod_1.z.boolean().optional(), groupId: zod_1.z.string().optional(), triggerPriceUsd: zod_1.z.string().min(1).optional(), triggerDirection: exports.TriggerDirectionSchema.optional(), currencyAmountUI: zod_1.z.number().min(0).optional(), customFeeAndTip: zod_1.z.boolean().optional(), priorityFee: zod_1.z.string().optional(), gasFeeDelta: zod_1.z.number().int().min(0).optional(), maxFeePerGas: zod_1.z.number().int().min(0).optional(), jitoEnabled: zod_1.z.boolean().optional(), jitoTip: zod_1.z.number().min(0).optional(), expireDelta: zod_1.z.number().int().min(0).max(432000000).optional(), expireExecute: zod_1.z.boolean().optional(), useMidPrice: zod_1.z.boolean().optional(), maxSlippage: zod_1.z.number().min(0).max(1).optional(), concurrentNodes: zod_1.z.number().int().min(1).max(3).optional(), retries: zod_1.z.number().int().min(0).max(10).optional(), }); // Switch limit order status request exports.SwitchLimitOrderRequestSchema = zod_1.z.object({ id: zod_1.z.string().min(1), enabled: zod_1.z.boolean(), }); // Delete limit order request exports.DeleteLimitOrderRequestSchema = zod_1.z.object({ id: zod_1.z.string().min(1), }); // Batch delete limit orders request exports.DeleteLimitOrdersRequestSchema = zod_1.z.object({ ids: zod_1.z.array(zod_1.z.string()).min(1), }); // Delete all limit orders request exports.DeleteAllLimitOrderRequestSchema = zod_1.z.object({ source: zod_1.z.enum(['normal', 'pnl_for_follow', 'pnl_for_swap']), }); // Get limit orders request exports.LimitOrdersRequestSchema = zod_1.z.object({ page: zod_1.z.number().int().min(0).default(0), size: zod_1.z.number().int().min(1).max(20).default(20), chain: exports.ChainSchema.optional(), pair: zod_1.z.string().optional(), state: zod_1.z.enum(['init', 'done', 'expired', 'canceled']).optional().default('init'), enabled: zod_1.z.boolean().optional(), groupId: zod_1.z.string().optional(), token: zod_1.z.string().optional(), sortBy: zod_1.z.string().optional(), sort: zod_1.z.number().optional().default(-1), }); //# sourceMappingURL=types.js.map