import { Wallet } from 'ethers'; import type { HoldersMakerChain } from '../../shared/foundation/types/holders-maker.js'; /** * 构建 Flap 买入交易 * 使用 swapExactInput 方法 */ export declare function buildFlapBuyTx(wallet: Wallet, tokenAddress: string, buyAmount: bigint, nonce: number, gasPrice: bigint, gasLimit: number, chainId: number, txType: 0 | 2, chain: HoldersMakerChain): Promise; /** * 构建 Four 内盘买入交易 * 使用 buyTokenAMAP 方法 */ export declare function buildFourBuyTx(wallet: Wallet, tokenAddress: string, buyAmount: bigint, nonce: number, gasPrice: bigint, gasLimit: number, chainId: number, txType: 0 | 2): Promise; /** * 构建 DAOaaS 内盘买入交易 (ENI 链) * EGAS → Token (使用 DAOaaS Portal buy) */ export declare function buildDaoaasBuyTx(wallet: Wallet, tokenAddress: string, buyAmount: bigint, nonce: number, gasPrice: bigint, gasLimit: number, chainId: number): Promise; /** * 构建 V2 买入交易 * BNB/OKB → Token (使用 swapExactETHForTokensSupportingFeeOnTransferTokens) */ export declare function buildV2BuyTx(wallet: Wallet, tokenAddress: string, buyAmount: bigint, nonce: number, gasPrice: bigint, gasLimit: number, chainId: number, txType: 0 | 2, v2Path?: string[], chain?: HoldersMakerChain, v2RouterOverride?: string): Promise; /** * 构建 V3 单跳买入交易 * BNB/OKB → Token (使用 exactInputSingle + multicall) * * ✅ 修复:根据链类型选择正确的 Router ABI 版本 * - XLayer/Monad: 旧版 Router(exactInputSingle 包含 deadline,multicall(bytes[])) * - BSC: 新版 SwapRouter02(exactInputSingle 不含 deadline,multicall(uint256,bytes[])) */ export declare function buildV3BuyTx(wallet: Wallet, tokenAddress: string, buyAmount: bigint, nonce: number, gasPrice: bigint, gasLimit: number, chainId: number, txType: 0 | 2, v3Fee?: number, // 默认 0.25% 手续费 chain?: HoldersMakerChain): Promise; /** * 构建 V2 买入交易(ERC20 输入) * USDT/USDC → Token (使用 swapExactTokensForTokensSupportingFeeOnTransferTokens) */ export declare function buildV2BuyTxWithERC20(wallet: Wallet, tokenAddress: string, baseTokenAddress: string, buyAmount: bigint, nonce: number, gasPrice: bigint, gasLimit: number, chainId: number, txType: 0 | 2, v2RouterOverride?: string, chain?: HoldersMakerChain): Promise; /** * 构建 V3 买入交易(ERC20 输入) * USDT/USDC → Token (使用 exactInputSingle + multicall) * * ✅ 修复:使用 ethers.Interface 手动编码 calldata,避免 multicall 重载问题 */ export declare function buildV3BuyTxWithERC20(wallet: Wallet, tokenAddress: string, baseTokenAddress: string, buyAmount: bigint, nonce: number, gasPrice: bigint, gasLimit: number, chainId: number, txType: 0 | 2, v3Fee?: number): Promise;