/** * XLayer Portal 操作 — 编码器(encoders) */ import { ethers } from 'ethers'; export declare const erc20Iface: ethers.Interface; /** * 编码买入调用(swapExactInput: native -> token) * * @param tokenAddress 目标代币地址 * @param inputAmount 输入 OKB 数量(wei) * @param minOutputAmount 最小输出代币数量(默认 0) */ export declare function encodeBuyCall(tokenAddress: string, inputAmount: bigint, minOutputAmount?: bigint): string; /** * 编码买入调用 V3(swapExactInputV3: native -> token,支持 extensionData) * * 与 BSC 版本的 create-to-dex.ts 保持一致: * - 统一优先使用 swapExactInputV3(支持 extensionData;无扩展时传 0x 即可) * - 这里的 V3 指"交易接口版本(扩展支持)",不是"外盘 V3 池子" * * @param tokenAddress 目标代币地址 * @param inputAmount 输入 OKB 数量(wei) * @param minOutputAmount 最小输出代币数量(默认 0) * @param extensionData 扩展数据(默认 0x) */ export declare function encodeBuyCallV3(tokenAddress: string, inputAmount: bigint, minOutputAmount?: bigint, extensionData?: string): string; /** * 编码卖出调用(swapExactInput: token -> native) * * @param tokenAddress 目标代币地址 * @param inputAmount 输入代币数量 * @param minOutputAmount 最小输出 OKB 数量(默认 0) */ export declare function encodeSellCall(tokenAddress: string, inputAmount: bigint, minOutputAmount?: bigint): string; /** * ✅ 编码卖出调用(支持 ERC20 输出):swapExactInput: token -> quoteToken * * @param tokenAddress 输入代币地址 * @param quoteToken 输出代币地址(如 USDT/USDC) * @param inputAmount 输入代币数量 * @param minOutputAmount 最小输出数量(默认 0) */ export declare function encodeSellCallWithQuote(tokenAddress: string, quoteToken: string, inputAmount: bigint, minOutputAmount?: bigint): string; /** * ✅ 编码买入调用(支持 ERC20 输入):swapExactInput: quoteToken -> token * * @param tokenAddress 输出代币地址 * @param quoteToken 输入代币地址(如 USDT/USDC) * @param inputAmount 输入数量 * @param minOutputAmount 最小输出代币数量(默认 0) */ export declare function encodeBuyCallWithQuote(tokenAddress: string, quoteToken: string, inputAmount: bigint, minOutputAmount?: bigint): string; /** * 编码授权调用 * * @param spender 授权对象地址 * @param amount 授权数量(默认无限) */ export declare function encodeApproveCall(spender: string, amount?: bigint): string; /** * 编码代币转账调用 * * @param to 接收地址 * @param amount 转账数量 */ export declare function encodeTransferCall(to: string, amount: bigint): string; /** * 编码创建代币调用 V2 */ export declare function encodeCreateCallV2(params: { name: string; symbol: string; meta: string; dexThresh: number; salt: string; taxRate: number; migratorType: number; quoteToken: string; quoteAmt: bigint; beneficiary: string; permitData: string; }): string; /** * 编码创建代币调用 V3 */ export declare function encodeCreateCallV3(params: { name: string; symbol: string; meta: string; dexThresh: number; salt: string; taxRate: number; migratorType: number; quoteToken: string; quoteAmt: bigint; beneficiary: string; permitData: string; extensionID: string; extensionData: string; }): string; /** * 编码创建代币调用 V4 */ export declare function encodeCreateCallV4(params: { name: string; symbol: string; meta: string; dexThresh: number; salt: string; taxRate: number; migratorType: number; quoteToken: string; quoteAmt: bigint; beneficiary: string; permitData: string; extensionID: string; extensionData: string; dexId: number; lpFeeProfile: number; }): string; /** * 编码创建代币调用 V5(Tax Token V2 高级税收分配) */ export declare function encodeCreateCallV5(params: { name: string; symbol: string; meta: string; dexThresh: number; salt: string; taxRate: number; migratorType: number; quoteToken: string; quoteAmt: bigint; beneficiary: string; permitData: string; extensionID: string; extensionData: string; dexId: number; lpFeeProfile: number; taxDuration: bigint; antiFarmerDuration: bigint; mktBps: number; deflationBps: number; dividendBps: number; lpBps: number; minimumShareBalance: bigint; }): string;