import { CommonBundleConfig } from '../../../utils/bundle-helpers.js'; import { type GeneratedWallet } from '../../../utils/wallet.js'; export type UserType = 'v0' | 'v1'; export interface PancakeSwapSignConfig { rpcUrl: string; gasLimit?: number | bigint; gasLimitMultiplier?: number; minGasPriceGwei?: number; maxGasPriceGwei?: number; txType?: 0 | 2; chainId?: number; reserveGasBNB?: number; userType?: UserType; bribeAmount?: number; v2RouterAddress?: string; } export type SwapRouteType = 'v2' | 'v3-single' | 'v3-multi'; export interface PancakeSwapConfig extends CommonBundleConfig { apiKey: string; customRpcUrl?: string; bundleBlockOffset?: number; reserveGasBNB?: number; waitForConfirmation?: boolean; waitTimeoutMs?: number; } export interface V2RouteParams { routeType: 'v2'; v2Path: string[]; } export interface V3SingleRouteParams { routeType: 'v3-single'; v3TokenIn: string; v3TokenOut: string; v3Fee: number; v2Path?: string[]; } export interface V3MultiRouteParams { routeType: 'v3-multi'; v3LpAddresses: string[]; v3ExactTokenIn: string; v2Path?: string[]; } export type RouteParams = V2RouteParams | V3SingleRouteParams | V3MultiRouteParams; export interface PancakeBundleSwapSignParams { sellerPrivateKey: string; sellAmount?: string; sellPercentage?: number; buyerPrivateKey: string; tokenAddress: string; routeParams: RouteParams; config: PancakeSwapSignConfig; quoteToken?: string; quoteTokenDecimals?: number; startNonces?: number[]; } export interface PancakeBundleSwapParams { sellerPrivateKey: string; sellAmount?: string; sellPercentage?: number; buyerPrivateKey: string; tokenAddress: string; routeParams: RouteParams; config: PancakeSwapConfig; } /** ✅ Pancake Swap 结果(简化版) */ export type PancakeSwapResult = { signedTransactions: string[]; profitHopWallets?: GeneratedWallet[]; metadata?: { sellerAddress: string; buyerAddress: string; sellAmount: string; buyAmount: string; profitAmount?: string; }; }; /** * PancakeSwap捆绑换手(V2/V3通用) * ✅ 支持 quoteToken:传入 USDT 等地址时,卖出得到该代币,买入使用该代币 */ export declare function pancakeBundleSwapMerkle(params: PancakeBundleSwapSignParams): Promise; /** * 批量换手参数(一卖多买) */ export interface PancakeBatchSwapSignParams { sellerPrivateKey: string; sellAmount?: string; sellPercentage?: number; buyerPrivateKeys: string[]; buyerAmounts?: string[]; buyerRatios?: number[]; tokenAddress: string; routeParams: RouteParams; config: PancakeSwapSignConfig; quoteToken?: string; quoteTokenDecimals?: number; startNonces?: number[]; } /** * 批量换手结果 */ export interface PancakeBatchSwapResult { signedTransactions: string[]; profitHopWallets?: GeneratedWallet[]; metadata?: { sellerAddress: string; buyerAddresses: string[]; sellAmount: string; buyAmounts: string[]; profitAmount?: string; }; } /** * PancakeSwap 批量换手(一卖多买) * * 功能:主钱包一次卖出 → 多个子钱包同时买入 → 在同一个区块中完成 * 限制:最多 24 个买方(服务器限制 25 笔交易,包含 1 笔利润交易) * * 交易顺序:[授权(可选)] → [卖出] → [买入1, 买入2, ..., 买入N] → [利润] */ export declare function pancakeBatchSwapMerkle(params: PancakeBatchSwapSignParams): Promise; /** * 快捷批量换手参数 * 特点:子钱包不需要预先有余额,资金来自主钱包卖出所得 */ export interface PancakeQuickBatchSwapParams { sellerPrivateKey: string; sellAmount?: string; sellPercentage?: number; buyerPrivateKeys: string[]; buyerRatios?: number[]; buyerAmounts?: string[]; tokenAddress: string; routeParams: RouteParams; config: PancakeSwapSignConfig; quoteToken?: string; quoteTokenDecimals?: number; disperseHopCount?: number; startNonces?: number[]; } /** * 快捷批量换手结果 */ export interface PancakeQuickBatchSwapResult { signedTransactions: string[]; disperseHopWallets?: GeneratedWallet[]; profitHopWallets?: GeneratedWallet[]; metadata?: { sellerAddress: string; buyerAddresses: string[]; sellAmount: string; estimatedOutput: string; transferAmounts: string[]; profitAmount?: string; useNativeToken: boolean; disperseHopCount?: number; }; } /** * PancakeSwap 快捷批量换手(资金自动流转) * * 流程:[贿赂] → [卖出] → [转账多跳...] → [买入1, 买入2, ...] → [利润] * * 特点: * - 子钱包不需要预先有余额 * - 资金来自主钱包卖出代币所得 * - 提升资金利用率 * - 支持 BNB 和 ERC20(如 USDT)两种模式 * - ✅ 支持转账多跳,隐藏资金流向 * * 限制:根据多跳数动态计算最大买方数量 */ export declare function pancakeQuickBatchSwapMerkle(params: PancakeQuickBatchSwapParams): Promise; /** 交叉换手参数(PancakeSwap V2/V3) */ export interface PancakeCrossSwapParams { /** 卖方私钥列表(按顺序轮流卖出) */ sellerPrivateKeys: string[]; /** 每个卖方的卖出数量(与 sellerPrivateKeys 长度一致) */ sellAmounts: string[]; /** 买方私钥列表(按顺序轮流分配,每笔平分) */ buyerPrivateKeys: string[]; tokenAddress: string; routeParams: RouteParams; config: PancakeSwapSignConfig; quoteToken?: string; quoteTokenDecimals?: number; /** 每次卖出分配给多少个买方(默认使用全部买方平分) */ buyersPerSell?: number; /** 转账多跳数(可选) */ disperseHopCount?: number; } /** 交叉换手结果(PancakeSwap V2/V3) */ export interface PancakeCrossSwapResult { signedTransactions: string[]; /** 每轮的元数据列表 */ rounds: Array<{ sellerAddress: string; buyerAddresses: string[]; sellAmount: string; bundleHash?: string; }>; /** 汇总的中间钱包信息(转账/利润) */ disperseHopWallets?: GeneratedWallet[]; profitHopWallets?: GeneratedWallet[]; } /** * PancakeSwap 交叉换手(多卖多买,循环执行) * - 每个卖方单独卖出,买入金额由卖出所得等分分配给当轮买方 * - 利润刮取、转账多跳逻辑继承 pancakeQuickBatchSwapMerkle * - 结果按顺序拼接 signedTransactions(可交由前端/后端顺序广播) * - ✅ 正确处理 nonce:同一钱包在多轮中使用时 nonce 自动递增 */ export declare function pancakeCrossSwapMerkle(params: PancakeCrossSwapParams): Promise;