/** * ENI BatchRouter — 刷量 (Wash Volume) * * Phase 2: 使用 BatchRouter 实现无币原子刷量 * 一笔 tx 内: 卖出 → 获得 EGAS → 买入 → 代币回到原钱包 * * 对标 BSC: fourBundleBuyFirstMerkle / pancakeBundleBuyFirstMerkle * * 支持内盘 (DAOaaS Portal) 和外盘 (DSWAP V2) 两种模式 */ import type { BatchRouterConfig } from './types.js'; export interface WashVolumeParams extends BatchRouterConfig { token: string; /** 参与刷量的钱包地址 */ wallets: string[]; /** 每个钱包的代币卖出量 */ sellAmounts: bigint[]; /** 额外 EGAS (补偿滑点损耗) */ extraValue?: bigint; } export interface WashVolumeResult { signedTx: string; from: string; nonce: number; estimatedGas: bigint; } /** * 内盘原子刷量 — 卖出并立即买回 (DAOaaS Portal) * * 同一批钱包既是 seller 又是 buyer * batchSwap(portal, token, wallets, sellAmounts, wallets, [0,0,...]) * buyAmounts = 0 表示用卖出所得的全部 EGAS 买回 */ export declare function washVolume(params: WashVolumeParams): Promise; /** * V2 外盘原子刷量 — 卖出并立即买回 (DSWAP V2) * 对标 BSC: pancakeQuickBatchSwapMerkle (自刷自买) * * batchSwapV2(router, token, wallets, sellAmounts, wallets, [0,0,...]) */ export declare function washVolumeV2(params: WashVolumeParams): Promise;