UNPKG

@bbigu0898/fast-swap-mcp

Version:

Fast Swap MCP Server - Supports quickly initiating token buy/sell tasks, querying transaction results, and managing take-profit/stop-loss tasks.

705 lines 24 kB
import { z } from 'zod'; export declare function getEnvDefault<T>(envKey: string, defaultValue: T, transform?: (value: string) => T): T; export declare const ChainSchema: z.ZodEnum<["solana", "ethereum", "base", "bsc", "tron"]>; export declare const TradeTypeSchema: z.ZodEnum<["buy", "sell"]>; export type Chain = z.infer<typeof ChainSchema>; export type TradeType = z.infer<typeof TradeTypeSchema>; export declare const PnlGroupSchema: z.ZodObject<{ pricePercent: z.ZodNumber; amountPercent: z.ZodNumber; }, "strip", z.ZodTypeAny, { pricePercent: number; amountPercent: number; }, { pricePercent: number; amountPercent: number; }>; export type PnlGroup = z.infer<typeof PnlGroupSchema>; export declare const PnlCustomConfigSchema: z.ZodObject<{ 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>; maxSlippage: z.ZodDefault<z.ZodNumber>; concurrentNodes: z.ZodDefault<z.ZodNumber>; retries: z.ZodDefault<z.ZodNumber>; }, "strip", z.ZodTypeAny, { customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; concurrentNodes: number; retries: number; }, { customFeeAndTip?: boolean | undefined; priorityFee?: string | undefined; gasFeeDelta?: number | undefined; maxFeePerGas?: number | undefined; jitoEnabled?: boolean | undefined; jitoTip?: number | undefined; maxSlippage?: number | undefined; concurrentNodes?: number | undefined; retries?: number | undefined; }>; export type PnlCustomConfig = z.infer<typeof PnlCustomConfigSchema>; export declare const CreateFastSwapRequestSchema: z.ZodObject<{ chain: z.ZodDefault<z.ZodEnum<["solana", "ethereum", "base", "bsc", "tron"]>>; pair: z.ZodString; walletId: z.ZodString; type: z.ZodEnum<["buy", "sell"]>; 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>; maxSlippage: z.ZodDefault<z.ZodNumber>; concurrentNodes: z.ZodDefault<z.ZodNumber>; retries: z.ZodDefault<z.ZodNumber>; amountOrPercent: z.ZodDefault<z.ZodNumber>; migrateSellPercent: z.ZodDefault<z.ZodNumber>; minDevSellPercent: z.ZodDefault<z.ZodNumber>; devSellPercent: z.ZodDefault<z.ZodNumber>; stopEarnPercent: z.ZodOptional<z.ZodNumber>; stopLossPercent: z.ZodOptional<z.ZodNumber>; stopEarnGroup: z.ZodOptional<z.ZodArray<z.ZodObject<{ pricePercent: z.ZodNumber; amountPercent: z.ZodNumber; }, "strip", z.ZodTypeAny, { pricePercent: number; amountPercent: number; }, { pricePercent: number; amountPercent: number; }>, "many">>; stopLossGroup: z.ZodOptional<z.ZodArray<z.ZodObject<{ pricePercent: z.ZodNumber; amountPercent: z.ZodNumber; }, "strip", z.ZodTypeAny, { pricePercent: number; amountPercent: number; }, { pricePercent: number; amountPercent: number; }>, "many">>; trailingStopGroup: z.ZodOptional<z.ZodArray<z.ZodObject<{ pricePercent: z.ZodNumber; amountPercent: z.ZodNumber; }, "strip", z.ZodTypeAny, { pricePercent: number; amountPercent: number; }, { pricePercent: number; amountPercent: number; }>, "many">>; pnlOrderExpireDelta: z.ZodDefault<z.ZodNumber>; pnlOrderExpireExecute: z.ZodDefault<z.ZodBoolean>; pnlOrderUseMidPrice: z.ZodDefault<z.ZodBoolean>; pnlCustomConfigEnabled: z.ZodDefault<z.ZodBoolean>; pnlCustomConfig: z.ZodOptional<z.ZodObject<{ 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>; maxSlippage: z.ZodDefault<z.ZodNumber>; concurrentNodes: z.ZodDefault<z.ZodNumber>; retries: z.ZodDefault<z.ZodNumber>; }, "strip", z.ZodTypeAny, { customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; concurrentNodes: number; retries: number; }, { customFeeAndTip?: boolean | undefined; priorityFee?: string | undefined; gasFeeDelta?: number | undefined; maxFeePerGas?: number | undefined; jitoEnabled?: boolean | undefined; jitoTip?: number | undefined; maxSlippage?: number | undefined; concurrentNodes?: number | undefined; retries?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "buy" | "sell"; customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; concurrentNodes: number; retries: number; chain: "solana" | "ethereum" | "base" | "bsc" | "tron"; pair: string; walletId: string; amountOrPercent: number; migrateSellPercent: number; minDevSellPercent: number; devSellPercent: number; pnlOrderExpireDelta: number; pnlOrderExpireExecute: boolean; pnlOrderUseMidPrice: boolean; pnlCustomConfigEnabled: boolean; stopEarnPercent?: number | undefined; stopLossPercent?: number | undefined; stopEarnGroup?: { pricePercent: number; amountPercent: number; }[] | undefined; stopLossGroup?: { pricePercent: number; amountPercent: number; }[] | undefined; trailingStopGroup?: { pricePercent: number; amountPercent: number; }[] | undefined; pnlCustomConfig?: { customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; concurrentNodes: number; retries: number; } | undefined; }, { type: "buy" | "sell"; pair: string; walletId: string; customFeeAndTip?: boolean | undefined; priorityFee?: string | undefined; gasFeeDelta?: number | undefined; maxFeePerGas?: number | undefined; jitoEnabled?: boolean | undefined; jitoTip?: number | undefined; maxSlippage?: number | undefined; concurrentNodes?: number | undefined; retries?: number | undefined; chain?: "solana" | "ethereum" | "base" | "bsc" | "tron" | undefined; amountOrPercent?: number | undefined; migrateSellPercent?: number | undefined; minDevSellPercent?: number | undefined; devSellPercent?: number | undefined; stopEarnPercent?: number | undefined; stopLossPercent?: number | undefined; stopEarnGroup?: { pricePercent: number; amountPercent: number; }[] | undefined; stopLossGroup?: { pricePercent: number; amountPercent: number; }[] | undefined; trailingStopGroup?: { pricePercent: number; amountPercent: number; }[] | undefined; pnlOrderExpireDelta?: number | undefined; pnlOrderExpireExecute?: boolean | undefined; pnlOrderUseMidPrice?: boolean | undefined; pnlCustomConfigEnabled?: boolean | undefined; pnlCustomConfig?: { customFeeAndTip?: boolean | undefined; priorityFee?: string | undefined; gasFeeDelta?: number | undefined; maxFeePerGas?: number | undefined; jitoEnabled?: boolean | undefined; jitoTip?: number | undefined; maxSlippage?: number | undefined; concurrentNodes?: number | undefined; retries?: number | undefined; } | undefined; }>; export type CreateFastSwapRequest = z.infer<typeof CreateFastSwapRequestSchema>; export declare const CreateFastSwapsRequestSchema: z.ZodObject<{ chain: z.ZodDefault<z.ZodEnum<["solana", "ethereum", "base", "bsc", "tron"]>>; pair: z.ZodString; walletIdList: z.ZodArray<z.ZodString, "many">; type: z.ZodEnum<["buy", "sell"]>; 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>; maxSlippage: z.ZodDefault<z.ZodNumber>; concurrentNodes: z.ZodDefault<z.ZodNumber>; retries: z.ZodDefault<z.ZodNumber>; minAmount: z.ZodOptional<z.ZodNumber>; maxAmount: z.ZodOptional<z.ZodNumber>; sellPercent: z.ZodDefault<z.ZodNumber>; stopEarnPercent: z.ZodOptional<z.ZodNumber>; stopLossPercent: z.ZodOptional<z.ZodNumber>; stopEarnGroup: z.ZodOptional<z.ZodArray<z.ZodObject<{ pricePercent: z.ZodNumber; amountPercent: z.ZodNumber; }, "strip", z.ZodTypeAny, { pricePercent: number; amountPercent: number; }, { pricePercent: number; amountPercent: number; }>, "many">>; stopLossGroup: z.ZodOptional<z.ZodArray<z.ZodObject<{ pricePercent: z.ZodNumber; amountPercent: z.ZodNumber; }, "strip", z.ZodTypeAny, { pricePercent: number; amountPercent: number; }, { pricePercent: number; amountPercent: number; }>, "many">>; trailingStopGroup: z.ZodOptional<z.ZodArray<z.ZodObject<{ pricePercent: z.ZodNumber; amountPercent: z.ZodNumber; }, "strip", z.ZodTypeAny, { pricePercent: number; amountPercent: number; }, { pricePercent: number; amountPercent: number; }>, "many">>; pnlOrderExpireDelta: z.ZodDefault<z.ZodNumber>; pnlOrderExpireExecute: z.ZodDefault<z.ZodBoolean>; pnlOrderUseMidPrice: z.ZodDefault<z.ZodBoolean>; pnlCustomConfigEnabled: z.ZodDefault<z.ZodBoolean>; pnlCustomConfig: z.ZodOptional<z.ZodObject<{ 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>; maxSlippage: z.ZodDefault<z.ZodNumber>; concurrentNodes: z.ZodDefault<z.ZodNumber>; retries: z.ZodDefault<z.ZodNumber>; }, "strip", z.ZodTypeAny, { customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; concurrentNodes: number; retries: number; }, { customFeeAndTip?: boolean | undefined; priorityFee?: string | undefined; gasFeeDelta?: number | undefined; maxFeePerGas?: number | undefined; jitoEnabled?: boolean | undefined; jitoTip?: number | undefined; maxSlippage?: number | undefined; concurrentNodes?: number | undefined; retries?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "buy" | "sell"; customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; concurrentNodes: number; retries: number; chain: "solana" | "ethereum" | "base" | "bsc" | "tron"; pair: string; pnlOrderExpireDelta: number; pnlOrderExpireExecute: boolean; pnlOrderUseMidPrice: boolean; pnlCustomConfigEnabled: boolean; walletIdList: string[]; sellPercent: number; stopEarnPercent?: number | undefined; stopLossPercent?: number | undefined; stopEarnGroup?: { pricePercent: number; amountPercent: number; }[] | undefined; stopLossGroup?: { pricePercent: number; amountPercent: number; }[] | undefined; trailingStopGroup?: { pricePercent: number; amountPercent: number; }[] | undefined; pnlCustomConfig?: { customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; concurrentNodes: number; retries: number; } | undefined; minAmount?: number | undefined; maxAmount?: number | undefined; }, { type: "buy" | "sell"; pair: string; walletIdList: string[]; customFeeAndTip?: boolean | undefined; priorityFee?: string | undefined; gasFeeDelta?: number | undefined; maxFeePerGas?: number | undefined; jitoEnabled?: boolean | undefined; jitoTip?: number | undefined; maxSlippage?: number | undefined; concurrentNodes?: number | undefined; retries?: number | undefined; chain?: "solana" | "ethereum" | "base" | "bsc" | "tron" | undefined; stopEarnPercent?: number | undefined; stopLossPercent?: number | undefined; stopEarnGroup?: { pricePercent: number; amountPercent: number; }[] | undefined; stopLossGroup?: { pricePercent: number; amountPercent: number; }[] | undefined; trailingStopGroup?: { pricePercent: number; amountPercent: number; }[] | undefined; pnlOrderExpireDelta?: number | undefined; pnlOrderExpireExecute?: boolean | undefined; pnlOrderUseMidPrice?: boolean | undefined; pnlCustomConfigEnabled?: boolean | undefined; pnlCustomConfig?: { customFeeAndTip?: boolean | undefined; priorityFee?: string | undefined; gasFeeDelta?: number | undefined; maxFeePerGas?: number | undefined; jitoEnabled?: boolean | undefined; jitoTip?: number | undefined; maxSlippage?: number | undefined; concurrentNodes?: number | undefined; retries?: number | undefined; } | undefined; minAmount?: number | undefined; maxAmount?: number | undefined; sellPercent?: number | undefined; }>; export type CreateFastSwapsRequest = z.infer<typeof CreateFastSwapsRequestSchema>; export interface ApiResponse<T = any> { err: boolean; res: T; docs: string; } export interface SwapOrderInfo { id: string; state: 'init' | 'processing' | 'done' | 'fail' | 'expired'; chain: string; tradeType: string; txPriceUsd?: number; swapHash?: string; errorCode?: string; errorMessage?: string; } export interface TpslTask { accountId: string; id: string; enabled: boolean; state: 'init' | 'processing' | 'done' | 'fail' | 'expired'; chain: string; tradeType: 'buy' | 'sell'; basePriceUsd?: number; triggerDirection: 'up' | 'down'; triggerPriceUsd: number; triggerPercent: number; txPriceUsd?: number; currencyAmountUI: number; initPnlPercent: number; pair: string; pairType: string; walletId: string; walletType: 'solana' | 'evm'; walletAddress: string; walletName: string; source: 'follow_order' | 'swap_order'; sourceGroupIdx: number; sourceId: string; sourceTradeId: string; customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; expireAt: number; expireDelta: number; useMidPrice: boolean; concurrentNodes: number; retries: number; errorCode?: string; errorMessage?: string; currencyInfo?: any; tokenInfo?: any; link?: string; } export interface SwapRecord { id: string; chain: string; pair: string; tradeType: string; amountOrPercent: number; state: string; txPriceUsd?: number; swapHash?: string; createdAt: string; } export declare const TriggerDirectionSchema: z.ZodEnum<["up", "down"]>; 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.ZodUnion<[z.ZodString, 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, { customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; concurrentNodes: number; retries: number; enabled: boolean; tradeType: "buy" | "sell"; triggerPriceUsd: string; triggerDirection: "up" | "down"; currencyAmountUI: string | number; expireDelta: number; expireExecute: boolean; useMidPrice: boolean; }, { tradeType: "buy" | "sell"; triggerPriceUsd: string; triggerDirection: "up" | "down"; currencyAmountUI: string | number; customFeeAndTip?: boolean | undefined; priorityFee?: string | undefined; gasFeeDelta?: number | undefined; maxFeePerGas?: number | undefined; jitoEnabled?: boolean | undefined; jitoTip?: number | undefined; maxSlippage?: number | undefined; concurrentNodes?: number | undefined; retries?: number | undefined; enabled?: boolean | undefined; expireDelta?: number | undefined; expireExecute?: boolean | undefined; useMidPrice?: boolean | undefined; }>; export type LimitOrderSetting = z.infer<typeof LimitOrderSettingSchema>; export declare const CreateLimitOrdersRequestSchema: z.ZodObject<{ chain: z.ZodDefault<z.ZodEnum<["solana", "ethereum", "base", "bsc", "tron"]>>; pair: z.ZodString; walletId: z.ZodOptional<z.ZodString>; groupId: 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.ZodUnion<[z.ZodString, 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, { customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; concurrentNodes: number; retries: number; enabled: boolean; tradeType: "buy" | "sell"; triggerPriceUsd: string; triggerDirection: "up" | "down"; currencyAmountUI: string | number; expireDelta: number; expireExecute: boolean; useMidPrice: boolean; }, { tradeType: "buy" | "sell"; triggerPriceUsd: string; triggerDirection: "up" | "down"; currencyAmountUI: string | number; customFeeAndTip?: boolean | undefined; priorityFee?: string | undefined; gasFeeDelta?: number | undefined; maxFeePerGas?: number | undefined; jitoEnabled?: boolean | undefined; jitoTip?: number | undefined; maxSlippage?: number | undefined; concurrentNodes?: number | undefined; retries?: number | undefined; enabled?: boolean | undefined; expireDelta?: number | undefined; expireExecute?: boolean | undefined; useMidPrice?: boolean | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { chain: "solana" | "ethereum" | "base" | "bsc" | "tron"; pair: string; groupId: string; settings: { customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; concurrentNodes: number; retries: number; enabled: boolean; tradeType: "buy" | "sell"; triggerPriceUsd: string; triggerDirection: "up" | "down"; currencyAmountUI: string | number; expireDelta: number; expireExecute: boolean; useMidPrice: boolean; }[]; walletId?: string | undefined; }, { pair: string; groupId: string; settings: { tradeType: "buy" | "sell"; triggerPriceUsd: string; triggerDirection: "up" | "down"; currencyAmountUI: string | number; customFeeAndTip?: boolean | undefined; priorityFee?: string | undefined; gasFeeDelta?: number | undefined; maxFeePerGas?: number | undefined; jitoEnabled?: boolean | undefined; jitoTip?: number | undefined; maxSlippage?: number | undefined; concurrentNodes?: number | undefined; retries?: number | undefined; enabled?: boolean | undefined; expireDelta?: number | undefined; expireExecute?: boolean | undefined; useMidPrice?: boolean | undefined; }[]; chain?: "solana" | "ethereum" | "base" | "bsc" | "tron" | undefined; walletId?: string | undefined; }>; export type CreateLimitOrdersRequest = z.infer<typeof CreateLimitOrdersRequestSchema>; export interface EditLimitOrderRequest { id: string; enabled?: boolean; groupId?: string; triggerPriceUsd?: string; triggerDirection?: TriggerDirection; 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; } export interface EnableLimitOrderRequest { id: string; enabled: boolean; } export interface LimitOrderInfo { accountId: string; id: string; enabled: boolean; groupId: string; state: 'init' | 'processing' | 'done' | 'fail' | 'expired'; chain: Chain; tradeType: TradeType; triggerDirection: TriggerDirection; triggerPriceUsd: number; currencyAmountUI: number; pair: string; pairType: string; walletId: string; walletType: 'solana' | 'evm'; walletAddress: string; walletName: string; customFeeAndTip: boolean; priorityFee: string | 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: Record<string, any>; tokenInfo: Record<string, any>; links: Record<string, any>; } //# sourceMappingURL=types.d.ts.map