import type { EIP7702Config, GeneratedWallet } from './types-base.js'; export interface MultiHopTransferParams { /** 主钱包(发起交易,支付 gas) */ mainPrivateKey: string; /** 跳转次数(自动生成中间钱包) */ hopCount: number; /** 最终接收者地址 */ receiverAddress: string; /** 转账金额 (OKB) */ amount: string; /** 配置 */ config?: EIP7702Config; } export interface MultiHopTransferResult { /** 签名后的交易 */ signedTransaction: string; /** 交易哈希(发送后) */ txHash?: string; /** 中间钱包(临时生成) */ hopWallets: GeneratedWallet[]; /** 元数据 */ metadata: { senderAddress: string; receiverAddress: string; amount: string; hopCount: number; }; } export interface DisperseParams { /** 主钱包(资金来源) */ mainPrivateKey: string; /** 接收地址列表 */ recipients: string[]; /** 每个地址的金额 (OKB) */ amounts: string[]; /** 中间跳转次数(可选) */ hopCount?: number; /** 配置 */ config?: EIP7702Config; } export interface DisperseResult { /** 签名后的交易 */ signedTransaction: string; /** 交易哈希(发送后) */ txHash?: string; /** 中间钱包(临时生成) */ hopWallets?: GeneratedWallet[]; /** 元数据 */ metadata: { senderAddress: string; recipientCount: number; totalAmount: string; }; } export interface SweepParams { /** 目标钱包(归集目的地) */ targetPrivateKey: string; /** 源钱包私钥列表 */ sourcePrivateKeys: string[]; /** 是否保留 gas(可选) */ reserveGas?: boolean; /** 配置 */ config?: EIP7702Config; } export interface SweepResult { /** 签名后的交易 */ signedTransaction: string; /** 交易哈希(发送后) */ txHash?: string; /** 元数据 */ metadata: { targetAddress: string; sourceCount: number; totalAmount: string; }; } export interface MakeVolumeParams { /** 参与钱包私钥列表 */ privateKeys: string[]; /** 代币地址 */ tokenAddress: string; /** 代币精度 */ tokenDecimals?: number; /** 每轮买入金额 (OKB) */ buyAmountPerRound: string; /** 轮数 */ rounds: number; /** 轮间间隔(毫秒) */ intervalMs?: number; /** 路由地址(可选) */ routerAddress?: string; /** V3 费率(可选,默认 2500) */ fee?: number; /** 进度回调 */ onProgress?: (progress: VolumeProgress) => void; /** 配置 */ config?: EIP7702Config; } export interface VolumeProgress { currentRound: number; totalRounds: number; status: 'buying' | 'selling' | 'waiting' | 'completed' | 'failed'; txHash?: string; error?: string; } export interface MakeVolumeResult { /** 是否成功 */ success: boolean; /** 完成的轮数 */ completedRounds: number; /** 总买入金额 */ totalBuyAmount: string; /** 总利润 */ totalProfit: string; /** 错误信息 */ errors: string[]; } export interface ExecuteResult { success: boolean; txHash?: string; error?: string; gasUsed?: bigint; blockNumber?: number; }