import type { FourBundleMerkleConfig, FourSignConfig, MerkleSignedResult } from './config.js'; /** ✅ PancakeProxy 批量购买参数(Merkle 版本 - 完整) */ export type FourPancakeProxyBatchBuyParams = { privateKeys: string[]; buyAmounts: string[]; tokenAddress: string; routeType: 'v2' | 'v3-single' | 'v3-multi'; v2Path?: string[]; v3TokenIn?: string; v3Fee?: number; v3LpAddresses?: string[]; v3ExactTokenIn?: string; /** V3 多跳:代币路径 [tokenIn, tokenMid1, ..., tokenOut] */ v3Tokens?: string[]; /** V3 多跳:费率路径 [fee0, fee1, ...] - 长度 = v3Tokens.length - 1 */ v3Fees?: number[]; minOutputAmounts?: (string | bigint)[]; config: FourBundleMerkleConfig; }; /** ✅ PancakeProxy 批量购买参数(仅签名版本 - 精简) */ export type FourPancakeProxyBatchBuySignParams = { privateKeys: string[]; buyAmounts: string[]; tokenAddress: string; routeType: 'v2' | 'v3-single' | 'v3-multi'; v2Path?: string[]; v3TokenIn?: string; v3Fee?: number; v3LpAddresses?: string[]; v3ExactTokenIn?: string; /** V3 多跳:代币路径 [tokenIn, tokenMid1, ..., tokenOut] */ v3Tokens?: string[]; /** V3 多跳:费率路径 [fee0, fee1, ...] - 长度 = v3Tokens.length - 1 */ v3Fees?: number[]; minOutputAmounts?: (string | bigint)[]; config: FourSignConfig; }; /** ✅ PancakeProxy 批量购买结果(简化版) */ export type FourPancakeProxyBatchBuyResult = MerkleSignedResult; /** ✅ PancakeProxy 批量卖出参数(Merkle 版本 - 完整) */ export type FourPancakeProxyBatchSellParams = { privateKeys: string[]; sellAmounts: string[]; tokenAddress: string; routeType: 'v2' | 'v3-single' | 'v3-multi'; v2Path?: string[]; v3TokenOut?: string; v3Fee?: number; v3LpAddresses?: string[]; v3ExactTokenIn?: string; /** V3 多跳:代币路径 [tokenIn, tokenMid1, ..., tokenOut] */ v3Tokens?: string[]; /** V3 多跳:费率路径 [fee0, fee1, ...] - 长度 = v3Tokens.length - 1 */ v3Fees?: number[]; minOutputAmounts?: (string | bigint)[]; config: FourBundleMerkleConfig; }; /** ✅ PancakeProxy 批量卖出参数(仅签名版本 - 精简) */ export type FourPancakeProxyBatchSellSignParams = { privateKeys: string[]; sellAmounts: string[]; tokenAddress: string; routeType: 'v2' | 'v3-single' | 'v3-multi'; v2Path?: string[]; v3TokenOut?: string; v3Fee?: number; v3LpAddresses?: string[]; v3ExactTokenIn?: string; /** V3 多跳:代币路径 [tokenIn, tokenMid1, ..., tokenOut] */ v3Tokens?: string[]; /** V3 多跳:费率路径 [fee0, fee1, ...] - 长度 = v3Tokens.length - 1 */ v3Fees?: number[]; minOutputAmounts?: (string | bigint)[]; config: FourSignConfig; }; /** ✅ PancakeProxy 批量卖出结果(简化版) */ export type FourPancakeProxyBatchSellResult = MerkleSignedResult; export type FourPancakeProxyApprovalParams = { privateKey: string; tokenAddress: string; amount: string | 'max'; rpcUrl: string; /** 路由类型,用于确定授权目标(V2 或 V3 Router) */ routeType?: 'v2' | 'v3-single' | 'v3-multi'; }; export type FourPancakeProxyApprovalBatchParams = { privateKeys: string[]; tokenAddress: string; amounts: (string | 'max')[]; config: FourSignConfig; /** 路由类型,用于确定授权目标(V2 或 V3 Router) */ routeType?: 'v2' | 'v3-single' | 'v3-multi'; }; /** ✅ PancakeProxy 批量授权结果 */ export type FourPancakeProxyApprovalBatchResult = { success: boolean; approvedCount: number; signedTransactions: string[]; txHashes?: string[]; bundleHash?: string; message: string; }; /** 批量授权 TokenManager 参数(直接 RPC 提交) */ export type ApproveFourTokenManagerBatchParams = { privateKeys: string[]; tokenAddress: string; amounts: string[]; config: FourSignConfig; }; /** 批量授权 TokenManager 结果 */ export type ApproveFourTokenManagerBatchResult = { success: boolean; signedTransactions: string[]; approvedCount: number; skippedCount: number; txHashes?: string[]; message: string; };