/** * ============================================================================ * 刷持有人(Holders Maker) * ============================================================================ * 一键完成:生成钱包 → 分发资金 → 批量买入(同一个 bundle 完成) * 支持原生代币(BNB/MON)和 ERC20 代币(USDT/USDC)作为购买资金 */ import { type GeneratedWallet } from './wallet.js'; /** 链类型 */ export type HoldersMakerChain = 'BSC' | 'MONAD' | 'XLAYER' | 'ENI'; /** 交易类型 */ export type TradeType = 'four' | 'flap' | 'v2' | 'v3' | 'daoaas'; /** 基础代币类型 */ export type BaseTokenType = 'native' | 'usdt' | 'usdc'; /** 刷持有人配置 */ export type HoldersMakerConfig = { /** RPC URL */ rpcUrl: string; /** 链类型 */ chain?: HoldersMakerChain; /** 链 ID(可选,不传则自动获取) */ chainId?: number; /** 交易类型(four/flap=内盘, v2/v3=外盘) */ tradeType?: TradeType; /** Gas Limit */ gasLimit?: number; /** Gas Price (Gwei) */ gasPriceGwei?: number; /** 贿赂金额(BNB) */ bribeAmount?: number; /** 交易类型(0 = Legacy, 2 = EIP-1559) */ txType?: 0 | 2; /** 每批最大钱包数 */ maxWalletsPerBatch?: number; /** Four API URL */ fourApiUrl?: string; /** 分发多跳数(0=直接转账,1=1跳,2=2跳...) */ disperseHopCount?: number; /** V2 路由路径(如 [WBNB, TOKEN]) */ v2Path?: string[]; /** V3 单跳输入代币 */ v3TokenIn?: string; /** V3 单跳手续费(100=0.01%, 500=0.05%, 2500=0.25%, 10000=1%) */ v3Fee?: number; /** V3 多跳 LP 地址列表 */ v3LpAddresses?: string[]; /** V3 多跳代币路径 */ v3Tokens?: string[]; /** 自定义 V2 Router 地址(如 IROSwap),不传则使用 PancakeSwap */ v2RouterAddress?: string; }; /** 刷持有人参数 */ export type HoldersMakerParams = { /** 支付钱包私钥 */ payerPrivateKey: string; /** 新增持有人数量 */ holdersCount: number; /** 每个地址购买金额(原生代币单位,如 0.0001 BNB) */ buyAmountPerHolder: string; /** 代币合约地址 */ tokenAddress: string; /** 基础代币类型(native=原生代币, usdt, usdc) */ baseToken?: BaseTokenType; /** 基础代币地址(USDT/USDC 时需要) */ baseTokenAddress?: string; /** 基础代币精度(默认 18,USDC 为 6) */ baseTokenDecimals?: number; /** 配置 */ config: HoldersMakerConfig; }; /** * ✅ 交易层级(用于按依赖顺序广播) * 每层内的交易可以并行广播,层之间需要按顺序等待确认 */ export type TransactionLayer = { /** 层级名称 */ name: string; /** 该层的交易索引范围 [startIndex, endIndex) */ startIndex: number; endIndex: number; /** 该层交易数量 */ count: number; }; /** 批次结果 */ export type BatchResult = { batchIndex: number; success: boolean; signedTransactions?: string[]; txHashes?: string[]; error?: string; walletCount: number; /** ✅ 交易层级信息(用于非 Bundle 链按依赖顺序广播) */ transactionLayers?: TransactionLayer[]; /** ✅ 分发多跳数 */ disperseHopCount?: number; }; /** 刷持有人结果 */ export type HoldersMakerResult = { /** 是否成功 */ success: boolean; /** 生成的新钱包 */ newWallets: GeneratedWallet[]; /** 分发多跳中间钱包(可选,用于导出) */ disperseHopWallets?: GeneratedWallet[]; /** 利润多跳中间钱包(可选,用于导出) */ profitHopWallets?: GeneratedWallet[]; /** 签名交易(每批一个数组) */ signedTransactions: string[][]; /** 批次结果 */ batchResults: BatchResult[]; /** 成功的批次数 */ successBatchCount: number; /** 总批次数 */ totalBatchCount: number; /** 错误信息 */ error?: string; /** ✅ 分发多跳数 */ disperseHopCount?: number; }; /** * 刷持有人(一个 bundle 完成分发+买入) * * 原生代币模式流程(同一个 bundle): * 1. 贿赂交易 * 2. 分发原生代币(dev → 新钱包) * 3. 买入交易(新钱包 nonce=0) * 4. 利润多跳 * * ERC20 模式流程(同一个 bundle): * 1. 贿赂交易 * 2. 分发原生代币(gas 费) * 3. 分发 ERC20 代币(购买资金) * 4. 授权交易(新钱包 nonce=0) * 5. 买入交易(新钱包 nonce=1) * 6. 利润多跳 * * @returns 包含所有签名交易的结果,由前端提交 */ export declare function holdersMaker(params: HoldersMakerParams): Promise; /** * 获取刷持有人预估费用 */ export declare function estimateHoldersMakerCost(params: { holdersCount: number; buyAmountPerHolder: string; baseToken?: BaseTokenType; gasLimit?: number; gasPriceGwei?: number; }): { totalNativeCost: string; totalERC20Cost?: string; gasEstimate: string; batchCount: number; };