UNPKG

@dbotx/copy-trading-mcp-server

Version:

Copy Trading MCP Server - Supports creating and managing complex copy trading tasks, automatically following other users' trading strategies

1,263 lines 48.6 kB
import { z } from 'zod'; export declare const ChainSchema: z.ZodEnum<["solana", "ethereum", "base", "bsc", "tron"]>; export declare const BuyAmountTypeSchema: z.ZodEnum<["fixed_amount", "fixed_ratio", "follow_amount"]>; export declare const SellModeSchema: z.ZodEnum<["mixed", "only_copy", "only_pnl"]>; export declare const SellAmountTypeSchema: z.ZodEnum<["all", "follow_ratio", "x_target_ratio"]>; export declare const SellSpeedTypeSchema: z.ZodEnum<["fast", "accurate"]>; export type Chain = z.infer<typeof ChainSchema>; export type BuyAmountType = z.infer<typeof BuyAmountTypeSchema>; export type SellMode = z.infer<typeof SellModeSchema>; export type SellAmountType = z.infer<typeof SellAmountTypeSchema>; export type SellSpeedType = z.infer<typeof SellSpeedTypeSchema>; 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 BuySettingsSchema: z.ZodObject<{ enabled: z.ZodDefault<z.ZodBoolean>; startHour: z.ZodDefault<z.ZodNumber>; endHour: z.ZodDefault<z.ZodNumber>; buyAmountType: z.ZodDefault<z.ZodEnum<["fixed_amount", "fixed_ratio", "follow_amount"]>>; maxBuyAmountUI: z.ZodString; buyRatio: z.ZodDefault<z.ZodNumber>; maxBalanceUI: z.ZodDefault<z.ZodNumber>; reservedAmountUI: z.ZodDefault<z.ZodNumber>; targetMinAmountUI: z.ZodDefault<z.ZodNumber>; targetMaxAmountUI: z.ZodDefault<z.ZodNumber>; minTokenMCUSD: z.ZodDefault<z.ZodNumber>; maxTokenMCUSD: z.ZodDefault<z.ZodNumber>; maxBuyTax: z.ZodOptional<z.ZodNumber>; maxSellTax: z.ZodOptional<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>; maxSlippage: z.ZodDefault<z.ZodNumber>; skipFreezableToken: z.ZodDefault<z.ZodBoolean>; skipMintableToken: z.ZodDefault<z.ZodBoolean>; skipDelegatedToken: z.ZodDefault<z.ZodBoolean>; skipNotOpensource: z.ZodDefault<z.ZodBoolean>; skipHoneyPot: z.ZodDefault<z.ZodBoolean>; skipTargetIncreasePosition: z.ZodDefault<z.ZodBoolean>; minBurnedLp: z.ZodDefault<z.ZodNumber>; minLpUsd: z.ZodDefault<z.ZodNumber>; minTokenAgeMs: z.ZodDefault<z.ZodNumber>; maxTokenAgeMs: z.ZodDefault<z.ZodNumber>; maxTopHoldPercent: z.ZodDefault<z.ZodNumber>; maxBuyTimesPerToken: z.ZodDefault<z.ZodNumber>; maxBuyAmountPerToken: z.ZodDefault<z.ZodNumber>; buyExist: z.ZodDefault<z.ZodBoolean>; buyOncePerWallet: z.ZodDefault<z.ZodBoolean>; concurrentNodes: z.ZodDefault<z.ZodNumber>; retries: z.ZodDefault<z.ZodNumber>; }, "strip", z.ZodTypeAny, { enabled: boolean; startHour: number; endHour: number; buyAmountType: "fixed_amount" | "fixed_ratio" | "follow_amount"; maxBuyAmountUI: string; buyRatio: number; maxBalanceUI: number; reservedAmountUI: number; targetMinAmountUI: number; targetMaxAmountUI: number; minTokenMCUSD: number; maxTokenMCUSD: number; customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; skipFreezableToken: boolean; skipMintableToken: boolean; skipDelegatedToken: boolean; skipNotOpensource: boolean; skipHoneyPot: boolean; skipTargetIncreasePosition: boolean; minBurnedLp: number; minLpUsd: number; minTokenAgeMs: number; maxTokenAgeMs: number; maxTopHoldPercent: number; maxBuyTimesPerToken: number; maxBuyAmountPerToken: number; buyExist: boolean; buyOncePerWallet: boolean; concurrentNodes: number; retries: number; maxBuyTax?: number | undefined; maxSellTax?: number | undefined; }, { maxBuyAmountUI: string; enabled?: boolean | undefined; startHour?: number | undefined; endHour?: number | undefined; buyAmountType?: "fixed_amount" | "fixed_ratio" | "follow_amount" | undefined; buyRatio?: number | undefined; maxBalanceUI?: number | undefined; reservedAmountUI?: number | undefined; targetMinAmountUI?: number | undefined; targetMaxAmountUI?: number | undefined; minTokenMCUSD?: number | undefined; maxTokenMCUSD?: number | undefined; maxBuyTax?: number | undefined; maxSellTax?: number | undefined; customFeeAndTip?: boolean | undefined; priorityFee?: string | undefined; gasFeeDelta?: number | undefined; maxFeePerGas?: number | undefined; jitoEnabled?: boolean | undefined; jitoTip?: number | undefined; maxSlippage?: number | undefined; skipFreezableToken?: boolean | undefined; skipMintableToken?: boolean | undefined; skipDelegatedToken?: boolean | undefined; skipNotOpensource?: boolean | undefined; skipHoneyPot?: boolean | undefined; skipTargetIncreasePosition?: boolean | undefined; minBurnedLp?: number | undefined; minLpUsd?: number | undefined; minTokenAgeMs?: number | undefined; maxTokenAgeMs?: number | undefined; maxTopHoldPercent?: number | undefined; maxBuyTimesPerToken?: number | undefined; maxBuyAmountPerToken?: number | undefined; buyExist?: boolean | undefined; buyOncePerWallet?: boolean | undefined; concurrentNodes?: number | undefined; retries?: number | undefined; }>; export type BuySettings = z.infer<typeof BuySettingsSchema>; export declare const SellSettingsSchema: z.ZodObject<{ enabled: z.ZodDefault<z.ZodBoolean>; startHour: z.ZodDefault<z.ZodNumber>; endHour: z.ZodDefault<z.ZodNumber>; mode: z.ZodDefault<z.ZodEnum<["mixed", "only_copy", "only_pnl"]>>; sellAmountType: z.ZodDefault<z.ZodEnum<["all", "follow_ratio", "x_target_ratio"]>>; xTargetRatio: z.ZodDefault<z.ZodNumber>; sellSpeedType: z.ZodDefault<z.ZodEnum<["fast", "accurate"]>>; targetMinAmountUI: z.ZodDefault<z.ZodNumber>; targetMaxAmountUI: 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>; sellMode: z.ZodDefault<z.ZodEnum<["smart", "normal"]>>; migrateSellPercent: z.ZodDefault<z.ZodNumber>; minDevSellPercent: z.ZodDefault<z.ZodNumber>; devSellPercent: z.ZodDefault<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>; maxSlippage: z.ZodDefault<z.ZodNumber>; concurrentNodes: z.ZodDefault<z.ZodNumber>; retries: z.ZodDefault<z.ZodNumber>; }, "strip", z.ZodTypeAny, { enabled: boolean; startHour: number; endHour: number; targetMinAmountUI: number; targetMaxAmountUI: number; customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; concurrentNodes: number; retries: number; mode: "mixed" | "only_copy" | "only_pnl"; sellAmountType: "all" | "follow_ratio" | "x_target_ratio"; xTargetRatio: number; sellSpeedType: "fast" | "accurate"; pnlOrderExpireDelta: number; pnlOrderExpireExecute: boolean; pnlOrderUseMidPrice: boolean; sellMode: "smart" | "normal"; migrateSellPercent: number; minDevSellPercent: number; devSellPercent: 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; }, { enabled?: boolean | undefined; startHour?: number | undefined; endHour?: number | undefined; targetMinAmountUI?: number | undefined; targetMaxAmountUI?: number | undefined; 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; mode?: "mixed" | "only_copy" | "only_pnl" | undefined; sellAmountType?: "all" | "follow_ratio" | "x_target_ratio" | undefined; xTargetRatio?: number | undefined; sellSpeedType?: "fast" | "accurate" | 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; sellMode?: "smart" | "normal" | undefined; migrateSellPercent?: number | undefined; minDevSellPercent?: number | undefined; devSellPercent?: number | undefined; }>; export type SellSettings = z.infer<typeof SellSettingsSchema>; export declare const CreateCopyTradingRequestSchema: z.ZodObject<{ enabled: z.ZodDefault<z.ZodBoolean>; name: z.ZodString; chain: z.ZodDefault<z.ZodEnum<["solana", "ethereum", "base", "bsc", "tron"]>>; dexFilter: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; targetIds: z.ZodArray<z.ZodString, "many">; tokenBlacklist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; walletId: z.ZodOptional<z.ZodString>; groupId: z.ZodOptional<z.ZodString>; buySettings: z.ZodObject<{ enabled: z.ZodDefault<z.ZodBoolean>; startHour: z.ZodDefault<z.ZodNumber>; endHour: z.ZodDefault<z.ZodNumber>; buyAmountType: z.ZodDefault<z.ZodEnum<["fixed_amount", "fixed_ratio", "follow_amount"]>>; maxBuyAmountUI: z.ZodString; buyRatio: z.ZodDefault<z.ZodNumber>; maxBalanceUI: z.ZodDefault<z.ZodNumber>; reservedAmountUI: z.ZodDefault<z.ZodNumber>; targetMinAmountUI: z.ZodDefault<z.ZodNumber>; targetMaxAmountUI: z.ZodDefault<z.ZodNumber>; minTokenMCUSD: z.ZodDefault<z.ZodNumber>; maxTokenMCUSD: z.ZodDefault<z.ZodNumber>; maxBuyTax: z.ZodOptional<z.ZodNumber>; maxSellTax: z.ZodOptional<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>; maxSlippage: z.ZodDefault<z.ZodNumber>; skipFreezableToken: z.ZodDefault<z.ZodBoolean>; skipMintableToken: z.ZodDefault<z.ZodBoolean>; skipDelegatedToken: z.ZodDefault<z.ZodBoolean>; skipNotOpensource: z.ZodDefault<z.ZodBoolean>; skipHoneyPot: z.ZodDefault<z.ZodBoolean>; skipTargetIncreasePosition: z.ZodDefault<z.ZodBoolean>; minBurnedLp: z.ZodDefault<z.ZodNumber>; minLpUsd: z.ZodDefault<z.ZodNumber>; minTokenAgeMs: z.ZodDefault<z.ZodNumber>; maxTokenAgeMs: z.ZodDefault<z.ZodNumber>; maxTopHoldPercent: z.ZodDefault<z.ZodNumber>; maxBuyTimesPerToken: z.ZodDefault<z.ZodNumber>; maxBuyAmountPerToken: z.ZodDefault<z.ZodNumber>; buyExist: z.ZodDefault<z.ZodBoolean>; buyOncePerWallet: z.ZodDefault<z.ZodBoolean>; concurrentNodes: z.ZodDefault<z.ZodNumber>; retries: z.ZodDefault<z.ZodNumber>; }, "strip", z.ZodTypeAny, { enabled: boolean; startHour: number; endHour: number; buyAmountType: "fixed_amount" | "fixed_ratio" | "follow_amount"; maxBuyAmountUI: string; buyRatio: number; maxBalanceUI: number; reservedAmountUI: number; targetMinAmountUI: number; targetMaxAmountUI: number; minTokenMCUSD: number; maxTokenMCUSD: number; customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; skipFreezableToken: boolean; skipMintableToken: boolean; skipDelegatedToken: boolean; skipNotOpensource: boolean; skipHoneyPot: boolean; skipTargetIncreasePosition: boolean; minBurnedLp: number; minLpUsd: number; minTokenAgeMs: number; maxTokenAgeMs: number; maxTopHoldPercent: number; maxBuyTimesPerToken: number; maxBuyAmountPerToken: number; buyExist: boolean; buyOncePerWallet: boolean; concurrentNodes: number; retries: number; maxBuyTax?: number | undefined; maxSellTax?: number | undefined; }, { maxBuyAmountUI: string; enabled?: boolean | undefined; startHour?: number | undefined; endHour?: number | undefined; buyAmountType?: "fixed_amount" | "fixed_ratio" | "follow_amount" | undefined; buyRatio?: number | undefined; maxBalanceUI?: number | undefined; reservedAmountUI?: number | undefined; targetMinAmountUI?: number | undefined; targetMaxAmountUI?: number | undefined; minTokenMCUSD?: number | undefined; maxTokenMCUSD?: number | undefined; maxBuyTax?: number | undefined; maxSellTax?: number | undefined; customFeeAndTip?: boolean | undefined; priorityFee?: string | undefined; gasFeeDelta?: number | undefined; maxFeePerGas?: number | undefined; jitoEnabled?: boolean | undefined; jitoTip?: number | undefined; maxSlippage?: number | undefined; skipFreezableToken?: boolean | undefined; skipMintableToken?: boolean | undefined; skipDelegatedToken?: boolean | undefined; skipNotOpensource?: boolean | undefined; skipHoneyPot?: boolean | undefined; skipTargetIncreasePosition?: boolean | undefined; minBurnedLp?: number | undefined; minLpUsd?: number | undefined; minTokenAgeMs?: number | undefined; maxTokenAgeMs?: number | undefined; maxTopHoldPercent?: number | undefined; maxBuyTimesPerToken?: number | undefined; maxBuyAmountPerToken?: number | undefined; buyExist?: boolean | undefined; buyOncePerWallet?: boolean | undefined; concurrentNodes?: number | undefined; retries?: number | undefined; }>; sellSettings: z.ZodObject<{ enabled: z.ZodDefault<z.ZodBoolean>; startHour: z.ZodDefault<z.ZodNumber>; endHour: z.ZodDefault<z.ZodNumber>; mode: z.ZodDefault<z.ZodEnum<["mixed", "only_copy", "only_pnl"]>>; sellAmountType: z.ZodDefault<z.ZodEnum<["all", "follow_ratio", "x_target_ratio"]>>; xTargetRatio: z.ZodDefault<z.ZodNumber>; sellSpeedType: z.ZodDefault<z.ZodEnum<["fast", "accurate"]>>; targetMinAmountUI: z.ZodDefault<z.ZodNumber>; targetMaxAmountUI: 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>; sellMode: z.ZodDefault<z.ZodEnum<["smart", "normal"]>>; migrateSellPercent: z.ZodDefault<z.ZodNumber>; minDevSellPercent: z.ZodDefault<z.ZodNumber>; devSellPercent: z.ZodDefault<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>; maxSlippage: z.ZodDefault<z.ZodNumber>; concurrentNodes: z.ZodDefault<z.ZodNumber>; retries: z.ZodDefault<z.ZodNumber>; }, "strip", z.ZodTypeAny, { enabled: boolean; startHour: number; endHour: number; targetMinAmountUI: number; targetMaxAmountUI: number; customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; concurrentNodes: number; retries: number; mode: "mixed" | "only_copy" | "only_pnl"; sellAmountType: "all" | "follow_ratio" | "x_target_ratio"; xTargetRatio: number; sellSpeedType: "fast" | "accurate"; pnlOrderExpireDelta: number; pnlOrderExpireExecute: boolean; pnlOrderUseMidPrice: boolean; sellMode: "smart" | "normal"; migrateSellPercent: number; minDevSellPercent: number; devSellPercent: 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; }, { enabled?: boolean | undefined; startHour?: number | undefined; endHour?: number | undefined; targetMinAmountUI?: number | undefined; targetMaxAmountUI?: number | undefined; 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; mode?: "mixed" | "only_copy" | "only_pnl" | undefined; sellAmountType?: "all" | "follow_ratio" | "x_target_ratio" | undefined; xTargetRatio?: number | undefined; sellSpeedType?: "fast" | "accurate" | 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; sellMode?: "smart" | "normal" | undefined; migrateSellPercent?: number | undefined; minDevSellPercent?: number | undefined; devSellPercent?: number | undefined; }>; }, "strip", z.ZodTypeAny, { enabled: boolean; name: string; chain: "solana" | "ethereum" | "base" | "bsc" | "tron"; targetIds: string[]; buySettings: { enabled: boolean; startHour: number; endHour: number; buyAmountType: "fixed_amount" | "fixed_ratio" | "follow_amount"; maxBuyAmountUI: string; buyRatio: number; maxBalanceUI: number; reservedAmountUI: number; targetMinAmountUI: number; targetMaxAmountUI: number; minTokenMCUSD: number; maxTokenMCUSD: number; customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; skipFreezableToken: boolean; skipMintableToken: boolean; skipDelegatedToken: boolean; skipNotOpensource: boolean; skipHoneyPot: boolean; skipTargetIncreasePosition: boolean; minBurnedLp: number; minLpUsd: number; minTokenAgeMs: number; maxTokenAgeMs: number; maxTopHoldPercent: number; maxBuyTimesPerToken: number; maxBuyAmountPerToken: number; buyExist: boolean; buyOncePerWallet: boolean; concurrentNodes: number; retries: number; maxBuyTax?: number | undefined; maxSellTax?: number | undefined; }; sellSettings: { enabled: boolean; startHour: number; endHour: number; targetMinAmountUI: number; targetMaxAmountUI: number; customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; concurrentNodes: number; retries: number; mode: "mixed" | "only_copy" | "only_pnl"; sellAmountType: "all" | "follow_ratio" | "x_target_ratio"; xTargetRatio: number; sellSpeedType: "fast" | "accurate"; pnlOrderExpireDelta: number; pnlOrderExpireExecute: boolean; pnlOrderUseMidPrice: boolean; sellMode: "smart" | "normal"; migrateSellPercent: number; minDevSellPercent: number; devSellPercent: 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; }; dexFilter?: string[] | undefined; tokenBlacklist?: string[] | undefined; walletId?: string | undefined; groupId?: string | undefined; }, { name: string; targetIds: string[]; buySettings: { maxBuyAmountUI: string; enabled?: boolean | undefined; startHour?: number | undefined; endHour?: number | undefined; buyAmountType?: "fixed_amount" | "fixed_ratio" | "follow_amount" | undefined; buyRatio?: number | undefined; maxBalanceUI?: number | undefined; reservedAmountUI?: number | undefined; targetMinAmountUI?: number | undefined; targetMaxAmountUI?: number | undefined; minTokenMCUSD?: number | undefined; maxTokenMCUSD?: number | undefined; maxBuyTax?: number | undefined; maxSellTax?: number | undefined; customFeeAndTip?: boolean | undefined; priorityFee?: string | undefined; gasFeeDelta?: number | undefined; maxFeePerGas?: number | undefined; jitoEnabled?: boolean | undefined; jitoTip?: number | undefined; maxSlippage?: number | undefined; skipFreezableToken?: boolean | undefined; skipMintableToken?: boolean | undefined; skipDelegatedToken?: boolean | undefined; skipNotOpensource?: boolean | undefined; skipHoneyPot?: boolean | undefined; skipTargetIncreasePosition?: boolean | undefined; minBurnedLp?: number | undefined; minLpUsd?: number | undefined; minTokenAgeMs?: number | undefined; maxTokenAgeMs?: number | undefined; maxTopHoldPercent?: number | undefined; maxBuyTimesPerToken?: number | undefined; maxBuyAmountPerToken?: number | undefined; buyExist?: boolean | undefined; buyOncePerWallet?: boolean | undefined; concurrentNodes?: number | undefined; retries?: number | undefined; }; sellSettings: { enabled?: boolean | undefined; startHour?: number | undefined; endHour?: number | undefined; targetMinAmountUI?: number | undefined; targetMaxAmountUI?: number | undefined; 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; mode?: "mixed" | "only_copy" | "only_pnl" | undefined; sellAmountType?: "all" | "follow_ratio" | "x_target_ratio" | undefined; xTargetRatio?: number | undefined; sellSpeedType?: "fast" | "accurate" | 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; sellMode?: "smart" | "normal" | undefined; migrateSellPercent?: number | undefined; minDevSellPercent?: number | undefined; devSellPercent?: number | undefined; }; enabled?: boolean | undefined; chain?: "solana" | "ethereum" | "base" | "bsc" | "tron" | undefined; dexFilter?: string[] | undefined; tokenBlacklist?: string[] | undefined; walletId?: string | undefined; groupId?: string | undefined; }>; export type CreateCopyTradingRequest = z.infer<typeof CreateCopyTradingRequestSchema>; export declare const EditCopyTradingRequestSchema: z.ZodObject<{ id: z.ZodString; enabled: z.ZodBoolean; name: z.ZodString; chain: z.ZodEnum<["solana", "ethereum", "base", "bsc", "tron"]>; dexFilter: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; targetIds: z.ZodArray<z.ZodString, "many">; tokenBlacklist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; walletId: z.ZodOptional<z.ZodString>; groupId: z.ZodOptional<z.ZodString>; buySettings: z.ZodObject<{ enabled: z.ZodDefault<z.ZodBoolean>; startHour: z.ZodDefault<z.ZodNumber>; endHour: z.ZodDefault<z.ZodNumber>; buyAmountType: z.ZodDefault<z.ZodEnum<["fixed_amount", "fixed_ratio", "follow_amount"]>>; maxBuyAmountUI: z.ZodString; buyRatio: z.ZodDefault<z.ZodNumber>; maxBalanceUI: z.ZodDefault<z.ZodNumber>; reservedAmountUI: z.ZodDefault<z.ZodNumber>; targetMinAmountUI: z.ZodDefault<z.ZodNumber>; targetMaxAmountUI: z.ZodDefault<z.ZodNumber>; minTokenMCUSD: z.ZodDefault<z.ZodNumber>; maxTokenMCUSD: z.ZodDefault<z.ZodNumber>; maxBuyTax: z.ZodOptional<z.ZodNumber>; maxSellTax: z.ZodOptional<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>; maxSlippage: z.ZodDefault<z.ZodNumber>; skipFreezableToken: z.ZodDefault<z.ZodBoolean>; skipMintableToken: z.ZodDefault<z.ZodBoolean>; skipDelegatedToken: z.ZodDefault<z.ZodBoolean>; skipNotOpensource: z.ZodDefault<z.ZodBoolean>; skipHoneyPot: z.ZodDefault<z.ZodBoolean>; skipTargetIncreasePosition: z.ZodDefault<z.ZodBoolean>; minBurnedLp: z.ZodDefault<z.ZodNumber>; minLpUsd: z.ZodDefault<z.ZodNumber>; minTokenAgeMs: z.ZodDefault<z.ZodNumber>; maxTokenAgeMs: z.ZodDefault<z.ZodNumber>; maxTopHoldPercent: z.ZodDefault<z.ZodNumber>; maxBuyTimesPerToken: z.ZodDefault<z.ZodNumber>; maxBuyAmountPerToken: z.ZodDefault<z.ZodNumber>; buyExist: z.ZodDefault<z.ZodBoolean>; buyOncePerWallet: z.ZodDefault<z.ZodBoolean>; concurrentNodes: z.ZodDefault<z.ZodNumber>; retries: z.ZodDefault<z.ZodNumber>; }, "strip", z.ZodTypeAny, { enabled: boolean; startHour: number; endHour: number; buyAmountType: "fixed_amount" | "fixed_ratio" | "follow_amount"; maxBuyAmountUI: string; buyRatio: number; maxBalanceUI: number; reservedAmountUI: number; targetMinAmountUI: number; targetMaxAmountUI: number; minTokenMCUSD: number; maxTokenMCUSD: number; customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; skipFreezableToken: boolean; skipMintableToken: boolean; skipDelegatedToken: boolean; skipNotOpensource: boolean; skipHoneyPot: boolean; skipTargetIncreasePosition: boolean; minBurnedLp: number; minLpUsd: number; minTokenAgeMs: number; maxTokenAgeMs: number; maxTopHoldPercent: number; maxBuyTimesPerToken: number; maxBuyAmountPerToken: number; buyExist: boolean; buyOncePerWallet: boolean; concurrentNodes: number; retries: number; maxBuyTax?: number | undefined; maxSellTax?: number | undefined; }, { maxBuyAmountUI: string; enabled?: boolean | undefined; startHour?: number | undefined; endHour?: number | undefined; buyAmountType?: "fixed_amount" | "fixed_ratio" | "follow_amount" | undefined; buyRatio?: number | undefined; maxBalanceUI?: number | undefined; reservedAmountUI?: number | undefined; targetMinAmountUI?: number | undefined; targetMaxAmountUI?: number | undefined; minTokenMCUSD?: number | undefined; maxTokenMCUSD?: number | undefined; maxBuyTax?: number | undefined; maxSellTax?: number | undefined; customFeeAndTip?: boolean | undefined; priorityFee?: string | undefined; gasFeeDelta?: number | undefined; maxFeePerGas?: number | undefined; jitoEnabled?: boolean | undefined; jitoTip?: number | undefined; maxSlippage?: number | undefined; skipFreezableToken?: boolean | undefined; skipMintableToken?: boolean | undefined; skipDelegatedToken?: boolean | undefined; skipNotOpensource?: boolean | undefined; skipHoneyPot?: boolean | undefined; skipTargetIncreasePosition?: boolean | undefined; minBurnedLp?: number | undefined; minLpUsd?: number | undefined; minTokenAgeMs?: number | undefined; maxTokenAgeMs?: number | undefined; maxTopHoldPercent?: number | undefined; maxBuyTimesPerToken?: number | undefined; maxBuyAmountPerToken?: number | undefined; buyExist?: boolean | undefined; buyOncePerWallet?: boolean | undefined; concurrentNodes?: number | undefined; retries?: number | undefined; }>; sellSettings: z.ZodObject<{ enabled: z.ZodDefault<z.ZodBoolean>; startHour: z.ZodDefault<z.ZodNumber>; endHour: z.ZodDefault<z.ZodNumber>; mode: z.ZodDefault<z.ZodEnum<["mixed", "only_copy", "only_pnl"]>>; sellAmountType: z.ZodDefault<z.ZodEnum<["all", "follow_ratio", "x_target_ratio"]>>; xTargetRatio: z.ZodDefault<z.ZodNumber>; sellSpeedType: z.ZodDefault<z.ZodEnum<["fast", "accurate"]>>; targetMinAmountUI: z.ZodDefault<z.ZodNumber>; targetMaxAmountUI: 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>; sellMode: z.ZodDefault<z.ZodEnum<["smart", "normal"]>>; migrateSellPercent: z.ZodDefault<z.ZodNumber>; minDevSellPercent: z.ZodDefault<z.ZodNumber>; devSellPercent: z.ZodDefault<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>; maxSlippage: z.ZodDefault<z.ZodNumber>; concurrentNodes: z.ZodDefault<z.ZodNumber>; retries: z.ZodDefault<z.ZodNumber>; }, "strip", z.ZodTypeAny, { enabled: boolean; startHour: number; endHour: number; targetMinAmountUI: number; targetMaxAmountUI: number; customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; concurrentNodes: number; retries: number; mode: "mixed" | "only_copy" | "only_pnl"; sellAmountType: "all" | "follow_ratio" | "x_target_ratio"; xTargetRatio: number; sellSpeedType: "fast" | "accurate"; pnlOrderExpireDelta: number; pnlOrderExpireExecute: boolean; pnlOrderUseMidPrice: boolean; sellMode: "smart" | "normal"; migrateSellPercent: number; minDevSellPercent: number; devSellPercent: 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; }, { enabled?: boolean | undefined; startHour?: number | undefined; endHour?: number | undefined; targetMinAmountUI?: number | undefined; targetMaxAmountUI?: number | undefined; 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; mode?: "mixed" | "only_copy" | "only_pnl" | undefined; sellAmountType?: "all" | "follow_ratio" | "x_target_ratio" | undefined; xTargetRatio?: number | undefined; sellSpeedType?: "fast" | "accurate" | 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; sellMode?: "smart" | "normal" | undefined; migrateSellPercent?: number | undefined; minDevSellPercent?: number | undefined; devSellPercent?: number | undefined; }>; }, "strip", z.ZodTypeAny, { enabled: boolean; name: string; chain: "solana" | "ethereum" | "base" | "bsc" | "tron"; targetIds: string[]; buySettings: { enabled: boolean; startHour: number; endHour: number; buyAmountType: "fixed_amount" | "fixed_ratio" | "follow_amount"; maxBuyAmountUI: string; buyRatio: number; maxBalanceUI: number; reservedAmountUI: number; targetMinAmountUI: number; targetMaxAmountUI: number; minTokenMCUSD: number; maxTokenMCUSD: number; customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; skipFreezableToken: boolean; skipMintableToken: boolean; skipDelegatedToken: boolean; skipNotOpensource: boolean; skipHoneyPot: boolean; skipTargetIncreasePosition: boolean; minBurnedLp: number; minLpUsd: number; minTokenAgeMs: number; maxTokenAgeMs: number; maxTopHoldPercent: number; maxBuyTimesPerToken: number; maxBuyAmountPerToken: number; buyExist: boolean; buyOncePerWallet: boolean; concurrentNodes: number; retries: number; maxBuyTax?: number | undefined; maxSellTax?: number | undefined; }; sellSettings: { enabled: boolean; startHour: number; endHour: number; targetMinAmountUI: number; targetMaxAmountUI: number; customFeeAndTip: boolean; priorityFee: string; gasFeeDelta: number; maxFeePerGas: number; jitoEnabled: boolean; jitoTip: number; maxSlippage: number; concurrentNodes: number; retries: number; mode: "mixed" | "only_copy" | "only_pnl"; sellAmountType: "all" | "follow_ratio" | "x_target_ratio"; xTargetRatio: number; sellSpeedType: "fast" | "accurate"; pnlOrderExpireDelta: number; pnlOrderExpireExecute: boolean; pnlOrderUseMidPrice: boolean; sellMode: "smart" | "normal"; migrateSellPercent: number; minDevSellPercent: number; devSellPercent: 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; }; id: string; dexFilter?: string[] | undefined; tokenBlacklist?: string[] | undefined; walletId?: string | undefined; groupId?: string | undefined; }, { enabled: boolean; name: string; chain: "solana" | "ethereum" | "base" | "bsc" | "tron"; targetIds: string[]; buySettings: { maxBuyAmountUI: string; enabled?: boolean | undefined; startHour?: number | undefined; endHour?: number | undefined; buyAmountType?: "fixed_amount" | "fixed_ratio" | "follow_amount" | undefined; buyRatio?: number | undefined; maxBalanceUI?: number | undefined; reservedAmountUI?: number | undefined; targetMinAmountUI?: number | undefined; targetMaxAmountUI?: number | undefined; minTokenMCUSD?: number | undefined; maxTokenMCUSD?: number | undefined; maxBuyTax?: number | undefined; maxSellTax?: number | undefined; customFeeAndTip?: boolean | undefined; priorityFee?: string | undefined; gasFeeDelta?: number | undefined; maxFeePerGas?: number | undefined; jitoEnabled?: boolean | undefined; jitoTip?: number | undefined; maxSlippage?: number | undefined; skipFreezableToken?: boolean | undefined; skipMintableToken?: boolean | undefined; skipDelegatedToken?: boolean | undefined; skipNotOpensource?: boolean | undefined; skipHoneyPot?: boolean | undefined; skipTargetIncreasePosition?: boolean | undefined; minBurnedLp?: number | undefined; minLpUsd?: number | undefined; minTokenAgeMs?: number | undefined; maxTokenAgeMs?: number | undefined; maxTopHoldPercent?: number | undefined; maxBuyTimesPerToken?: number | undefined; maxBuyAmountPerToken?: number | undefined; buyExist?: boolean | undefined; buyOncePerWallet?: boolean | undefined; concurrentNodes?: number | undefined; retries?: number | undefined; }; sellSettings: { enabled?: boolean | undefined; startHour?: number | undefined; endHour?: number | undefined; targetMinAmountUI?: number | undefined; targetMaxAmountUI?: number | undefined; 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; mode?: "mixed" | "only_copy" | "only_pnl" | undefined; sellAmountType?: "all" | "follow_ratio" | "x_target_ratio" | undefined; xTargetRatio?: number | undefined; sellSpeedType?: "fast" | "accurate" | 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; sellMode?: "smart" | "normal" | undefined; migrateSellPercent?: number | undefined; minDevSellPercent?: number | undefined; devSellPercent?: number | undefined; }; id: string; dexFilter?: string[] | undefined; tokenBlacklist?: string[] | undefined; walletId?: string | undefined; groupId?: string | undefined; }>; export type EditCopyTradingRequest = z.infer<typeof EditCopyTradingRequestSchema>; export declare const SwitchCopyTradingRequestSchema: z.ZodObject<{ id: z.ZodString; enabled: z.ZodBoolean; closePnlOrder: z.ZodDefault<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { enabled: boolean; id: string; closePnlOrder: boolean; }, { enabled: boolean; id: string; closePnlOrder?: boolean | undefined; }>; export type SwitchCopyTradingRequest = z.infer<typeof SwitchCopyTradingRequestSchema>; export declare const DeleteCopyTradingRequestSchema: z.ZodObject<{ id: z.ZodString; deletePnlOrder: z.ZodDefault<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { id: string; deletePnlOrder: boolean; }, { id: string; deletePnlOrder?: boolean | undefined; }>; export type DeleteCopyTradingRequest = z.infer<typeof DeleteCopyTradingRequestSchema>; export interface ApiResponse<T = any> { err: boolean; res: T; docs: string; } export interface CopyTradingTask { id: string; enabled: boolean; name: string; chain: string; dexFilter: string[] | null; targetIds: string[]; tokenBlacklist: string[]; walletId: string; groupId: string; buySettings: BuySettings; sellSettings: SellSettings; createdAt?: number; updatedAt?: number; } 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 WalletQueryResponse { total: number; items: WalletInfo[]; } /** * 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