@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
TypeScript
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