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.

464 lines 15.6 kB
import { z } from 'zod'; export declare const ChainSchema: z.ZodEnum<["solana", "ethereum", "base", "bsc", "tron"]>; export declare const TradeTypeSchema: z.ZodEnum<["buy", "sell"]>; export declare const TriggerDirectionSchema: z.ZodEnum<["up", "down"]>; export type Chain = z.infer<typeof ChainSchema>; export type TradeType = z.infer<typeof TradeTypeSchema>; export type TriggerDirection = z.infer<typeof TriggerDirectionSchema>; export declare const LimitOrderSettingSchema: z.ZodObject<{ enabled: z.ZodDefault<z.ZodBoolean>; tradeType: z.ZodEnum<["buy", "sell"]>; triggerPriceUsd: z.ZodString; triggerDirection: z.ZodEnum<["up", "down"]>; currencyAmountUI: z.ZodNumber; customFeeAndTip: z.ZodDefault<z.ZodBoolean>; priorityFee: z.ZodDefault<z.ZodString>; gasFeeDelta: z.ZodDefault<z.ZodNumber>; maxFeePerGas: z.ZodDefault<z.ZodNumber>; jitoEnabled: z.ZodDefault<z.ZodBoolean>; jitoTip: z.ZodDefault<z.ZodNumber>; expireDelta: z.ZodDefault<z.ZodNumber>; expireExecute: z.ZodDefault<z.ZodBoolean>; useMidPrice: z.ZodDefault<z.ZodBoolean>; maxSlippage: z.ZodDefault<z.ZodNumber>; concurrentNodes: z.ZodDefault<z.ZodNumber>; retries: z.ZodDefault<z.ZodNumber>; }, "strip", z.ZodTypeAny, { enabled: boolean; tradeType: "buy" | "sell"; triggerPriceUsd: string; triggerDirection: "up" | "down"; currencyAmountUI: number; customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; expireDelta: number; expireExecute: boolean; useMidPrice: boolean; maxSlippage: number; concurrentNodes: number; retries: number; }, { tradeType: "buy" | "sell"; triggerPriceUsd: string; triggerDirection: "up" | "down"; currencyAmountUI: number; enabled?: boolean | undefined; customFeeAndTip?: boolean | undefined; priorityFee?: string | undefined; gasFeeDelta?: number | undefined; maxFeePerGas?: number | undefined; jitoEnabled?: boolean | undefined; jitoTip?: number | undefined; expireDelta?: number | undefined; expireExecute?: boolean | undefined; useMidPrice?: boolean | undefined; maxSlippage?: number | undefined; concurrentNodes?: number | undefined; retries?: number | undefined; }>; export type LimitOrderSetting = z.infer<typeof LimitOrderSettingSchema>; export declare const CreateLimitOrderRequestSchema: z.ZodObject<{ chain: z.ZodDefault<z.ZodEnum<["solana", "ethereum", "base", "bsc", "tron"]>>; pair: z.ZodString; walletId: z.ZodOptional<z.ZodString>; groupId: z.ZodOptional<z.ZodString>; settings: z.ZodArray<z.ZodObject<{ enabled: z.ZodDefault<z.ZodBoolean>; tradeType: z.ZodEnum<["buy", "sell"]>; triggerPriceUsd: z.ZodString; triggerDirection: z.ZodEnum<["up", "down"]>; currencyAmountUI: z.ZodNumber; customFeeAndTip: z.ZodDefault<z.ZodBoolean>; priorityFee: z.ZodDefault<z.ZodString>; gasFeeDelta: z.ZodDefault<z.ZodNumber>; maxFeePerGas: z.ZodDefault<z.ZodNumber>; jitoEnabled: z.ZodDefault<z.ZodBoolean>; jitoTip: z.ZodDefault<z.ZodNumber>; expireDelta: z.ZodDefault<z.ZodNumber>; expireExecute: z.ZodDefault<z.ZodBoolean>; useMidPrice: z.ZodDefault<z.ZodBoolean>; maxSlippage: z.ZodDefault<z.ZodNumber>; concurrentNodes: z.ZodDefault<z.ZodNumber>; retries: z.ZodDefault<z.ZodNumber>; }, "strip", z.ZodTypeAny, { enabled: boolean; tradeType: "buy" | "sell"; triggerPriceUsd: string; triggerDirection: "up" | "down"; currencyAmountUI: number; customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; expireDelta: number; expireExecute: boolean; useMidPrice: boolean; maxSlippage: number; concurrentNodes: number; retries: number; }, { tradeType: "buy" | "sell"; triggerPriceUsd: string; triggerDirection: "up" | "down"; currencyAmountUI: number; enabled?: boolean | undefined; customFeeAndTip?: boolean | undefined; priorityFee?: string | undefined; gasFeeDelta?: number | undefined; maxFeePerGas?: number | undefined; jitoEnabled?: boolean | undefined; jitoTip?: number | undefined; expireDelta?: number | undefined; expireExecute?: boolean | undefined; useMidPrice?: boolean | undefined; maxSlippage?: number | undefined; concurrentNodes?: number | undefined; retries?: number | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { chain: "solana" | "ethereum" | "base" | "bsc" | "tron"; pair: string; settings: { enabled: boolean; tradeType: "buy" | "sell"; triggerPriceUsd: string; triggerDirection: "up" | "down"; currencyAmountUI: number; customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; expireDelta: number; expireExecute: boolean; useMidPrice: boolean; maxSlippage: number; concurrentNodes: number; retries: number; }[]; walletId?: string | undefined; groupId?: string | undefined; }, { pair: string; settings: { tradeType: "buy" | "sell"; triggerPriceUsd: string; triggerDirection: "up" | "down"; currencyAmountUI: number; enabled?: boolean | undefined; customFeeAndTip?: boolean | undefined; priorityFee?: string | undefined; gasFeeDelta?: number | undefined; maxFeePerGas?: number | undefined; jitoEnabled?: boolean | undefined; jitoTip?: number | undefined; expireDelta?: number | undefined; expireExecute?: boolean | undefined; useMidPrice?: boolean | undefined; maxSlippage?: number | undefined; concurrentNodes?: number | undefined; retries?: number | undefined; }[]; chain?: "solana" | "ethereum" | "base" | "bsc" | "tron" | undefined; walletId?: string | undefined; groupId?: string | undefined; }>; export type CreateLimitOrderRequest = z.infer<typeof CreateLimitOrderRequestSchema>; export declare const EditLimitOrderRequestSchema: z.ZodObject<{ id: z.ZodString; enabled: z.ZodOptional<z.ZodBoolean>; groupId: z.ZodOptional<z.ZodString>; triggerPriceUsd: z.ZodOptional<z.ZodString>; triggerDirection: z.ZodOptional<z.ZodEnum<["up", "down"]>>; currencyAmountUI: z.ZodOptional<z.ZodNumber>; customFeeAndTip: z.ZodOptional<z.ZodBoolean>; priorityFee: z.ZodOptional<z.ZodString>; gasFeeDelta: z.ZodOptional<z.ZodNumber>; maxFeePerGas: z.ZodOptional<z.ZodNumber>; jitoEnabled: z.ZodOptional<z.ZodBoolean>; jitoTip: z.ZodOptional<z.ZodNumber>; expireDelta: z.ZodOptional<z.ZodNumber>; expireExecute: z.ZodOptional<z.ZodBoolean>; useMidPrice: z.ZodOptional<z.ZodBoolean>; maxSlippage: z.ZodOptional<z.ZodNumber>; concurrentNodes: z.ZodOptional<z.ZodNumber>; retries: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { id: string; enabled?: boolean | undefined; triggerPriceUsd?: string | undefined; triggerDirection?: "up" | "down" | undefined; currencyAmountUI?: number | undefined; customFeeAndTip?: boolean | undefined; priorityFee?: string | undefined; gasFeeDelta?: number | undefined; maxFeePerGas?: number | undefined; jitoEnabled?: boolean | undefined; jitoTip?: number | undefined; expireDelta?: number | undefined; expireExecute?: boolean | undefined; useMidPrice?: boolean | undefined; maxSlippage?: number | undefined; concurrentNodes?: number | undefined; retries?: number | undefined; groupId?: string | undefined; }, { id: string; enabled?: boolean | undefined; triggerPriceUsd?: string | undefined; triggerDirection?: "up" | "down" | undefined; currencyAmountUI?: number | undefined; customFeeAndTip?: boolean | undefined; priorityFee?: string | undefined; gasFeeDelta?: number | undefined; maxFeePerGas?: number | undefined; jitoEnabled?: boolean | undefined; jitoTip?: number | undefined; expireDelta?: number | undefined; expireExecute?: boolean | undefined; useMidPrice?: boolean | undefined; maxSlippage?: number | undefined; concurrentNodes?: number | undefined; retries?: number | undefined; groupId?: string | undefined; }>; export type EditLimitOrderRequest = z.infer<typeof EditLimitOrderRequestSchema>; export declare const SwitchLimitOrderRequestSchema: z.ZodObject<{ id: z.ZodString; enabled: z.ZodBoolean; }, "strip", z.ZodTypeAny, { enabled: boolean; id: string; }, { enabled: boolean; id: string; }>; export type SwitchLimitOrderRequest = z.infer<typeof SwitchLimitOrderRequestSchema>; export declare const DeleteLimitOrderRequestSchema: z.ZodObject<{ id: z.ZodString; }, "strip", z.ZodTypeAny, { id: string; }, { id: string; }>; export type DeleteLimitOrderRequest = z.infer<typeof DeleteLimitOrderRequestSchema>; export declare const DeleteLimitOrdersRequestSchema: z.ZodObject<{ ids: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { ids: string[]; }, { ids: string[]; }>; export type DeleteLimitOrdersRequest = z.infer<typeof DeleteLimitOrdersRequestSchema>; export declare const DeleteAllLimitOrderRequestSchema: z.ZodObject<{ source: z.ZodEnum<["normal", "pnl_for_follow", "pnl_for_swap"]>; }, "strip", z.ZodTypeAny, { source: "normal" | "pnl_for_follow" | "pnl_for_swap"; }, { source: "normal" | "pnl_for_follow" | "pnl_for_swap"; }>; export type DeleteAllLimitOrderRequest = z.infer<typeof DeleteAllLimitOrderRequestSchema>; export declare const LimitOrdersRequestSchema: z.ZodObject<{ page: z.ZodDefault<z.ZodNumber>; size: z.ZodDefault<z.ZodNumber>; chain: z.ZodOptional<z.ZodEnum<["solana", "ethereum", "base", "bsc", "tron"]>>; pair: z.ZodOptional<z.ZodString>; state: z.ZodDefault<z.ZodOptional<z.ZodEnum<["init", "done", "expired", "canceled"]>>>; enabled: z.ZodOptional<z.ZodBoolean>; groupId: z.ZodOptional<z.ZodString>; token: z.ZodOptional<z.ZodString>; sortBy: z.ZodOptional<z.ZodString>; sort: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; }, "strip", z.ZodTypeAny, { sort: number; page: number; size: number; state: "init" | "done" | "expired" | "canceled"; enabled?: boolean | undefined; chain?: "solana" | "ethereum" | "base" | "bsc" | "tron" | undefined; pair?: string | undefined; groupId?: string | undefined; token?: string | undefined; sortBy?: string | undefined; }, { sort?: number | undefined; enabled?: boolean | undefined; chain?: "solana" | "ethereum" | "base" | "bsc" | "tron" | undefined; pair?: string | undefined; groupId?: string | undefined; page?: number | undefined; size?: number | undefined; state?: "init" | "done" | "expired" | "canceled" | undefined; token?: string | undefined; sortBy?: string | undefined; }>; export type LimitOrdersRequest = z.infer<typeof LimitOrdersRequestSchema>; export interface ApiResponse<T = any> { err: boolean; res: T; docs: string; } export interface CurrencyInfo { contract: string; name: string; symbol: string; decimals: number; totalSupply: string | null; icon: string; createAt: number | null; } export interface TokenInfo { contract: string; createAt: number; name: string; symbol: string; decimals: number; totalSupply: string; icon: string; freezeAuthority: string | null; mintAuthority: string | null; } export interface Links { etherscan: string; dexscreener: string; uniswap: string; } export interface LimitOrder { accountId: string; id: string; enabled: boolean; groupId: string; state: 'init' | 'done' | 'expired' | 'canceled'; chain: string; tradeType: string; triggerDirection: string; triggerPriceUsd: number; currencyAmountUI: number; pair: string; pairType: string; walletId: string; walletType: string; walletAddress: string; walletName: string; customFeeAndTip: boolean; priorityFee: number | null; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; expireAt: number; expireDelta: number; expireExecute: boolean; useMidPrice: boolean; concurrentNodes: number; retries: number; errorCode: string; errorMessage: string; currencyInfo: CurrencyInfo; tokenInfo: TokenInfo; links: Links; } export declare const WalletQueryRequestSchema: z.ZodObject<{ type: z.ZodOptional<z.ZodEnum<["solana", "evm"]>>; page: z.ZodDefault<z.ZodNumber>; size: z.ZodDefault<z.ZodNumber>; }, "strip", z.ZodTypeAny, { page: number; size: number; type?: "solana" | "evm" | undefined; }, { type?: "solana" | "evm" | undefined; page?: number | undefined; size?: number | undefined; }>; export type WalletQueryRequest = z.infer<typeof WalletQueryRequestSchema>; export interface WalletInfo { id: string; name: string; type: 'solana' | 'evm'; address: string; } export interface WalletQueryParams { type?: 'solana' | 'evm'; page?: number; size?: number; } export interface TokenSecurityInfo { type: string; pair: string; tokenReserve: string; currencyReserve: string; tokenPriceUsd: number; currencyPriceUsd: number; exchange: string; tokenInfo: { contract: string; name: string; symbol: string; decimals: number; icon: string; priceUsd: number; }; currencyInfo: { contract: string; name: string; symbol: string; decimals: number; icon: string; priceUsd: number; }; poolSafetyInfo: { type: string; canMint: boolean; canFrozen: boolean; totalSupply: string; totalSupplyUI: string; transferFeePercent: number | null; isDelegated: boolean | null; tokenReserve: string; tokenReserveUI: string; currencyReserve: string; currencyReserveUI: string; lpReserve: string | null; lpReserveUI: string | null; burnedOrLockedLp: string | null; burnedOrLockedLpUI: string | null; burnedOrLockedLpPercent: number | null; top10Percent: number; }; liquidityUsd: number; tokenMcUsd: number; tokenCreateAt: number; poolCreator: string; poolCreatorName: string | null; progress: number | null; priceImpact: number | null; devHoldPercent: number | null; poolCreateAt: number; links: { website: string | null; twitter: string | null; telegram: string | null; }; } export interface TokenSecurityQueryParams { chain?: string; pair: string; } /** * Get wallet ID based on chain */ export declare function getWalletIdByChain(chain: Chain): string; /** * Check if at least one wallet ID is configured */ export declare function validateWalletIdConfig(): void; //# sourceMappingURL=types.d.ts.map