UNPKG

four-flap-meme-sdk

Version:

SDK for Flap bonding curve and four.meme TokenManager

163 lines (162 loc) 4.92 kB
import { CommonBundleConfig } from '../utils/bundle-helpers.js'; export interface PancakeSwapSignConfig { rpcUrl: string; gasLimit?: number | bigint; gasLimitMultiplier?: number; minGasPriceGwei?: number; maxGasPriceGwei?: number; txType?: 0 | 2; chainId?: number; reserveGasBNB?: number; bribeAmount?: number; } export type SwapRouteType = 'v2' | 'v3-single' | 'v3-multi'; export interface PancakeSwapConfig extends CommonBundleConfig { apiKey: string; customRpcUrl?: string; bundleBlockOffset?: number; reserveGasBNB?: number; waitForConfirmation?: boolean; waitTimeoutMs?: number; } export interface V2RouteParams { routeType: 'v2'; v2Path: string[]; } export interface V3SingleRouteParams { routeType: 'v3-single'; v3TokenIn: string; v3TokenOut: string; v3Fee: number; v2Path?: string[]; } export interface V3MultiRouteParams { routeType: 'v3-multi'; v3LpAddresses: string[]; v3ExactTokenIn: string; v2Path?: string[]; } export type RouteParams = V2RouteParams | V3SingleRouteParams | V3MultiRouteParams; export interface PancakeBundleSwapSignParams { sellerPrivateKey: string; sellAmount?: string; sellPercentage?: number; buyerPrivateKey: string; tokenAddress: string; routeParams: RouteParams; config: PancakeSwapSignConfig; quoteToken?: string; quoteTokenDecimals?: number; startNonces?: number[]; } export interface PancakeBundleSwapParams { sellerPrivateKey: string; sellAmount?: string; sellPercentage?: number; buyerPrivateKey: string; tokenAddress: string; routeParams: RouteParams; config: PancakeSwapConfig; } /** ✅ Pancake Swap 结果(简化版) */ export type PancakeSwapResult = { signedTransactions: string[]; metadata?: { sellerAddress: string; buyerAddress: string; sellAmount: string; buyAmount: string; profitAmount?: string; }; }; /** * PancakeSwap捆绑换手(V2/V3通用) * ✅ 支持 quoteToken:传入 USDT 等地址时,卖出得到该代币,买入使用该代币 */ export declare function pancakeBundleSwapMerkle(params: PancakeBundleSwapSignParams): Promise<PancakeSwapResult>; /** * 批量换手参数(一卖多买) */ export interface PancakeBatchSwapSignParams { sellerPrivateKey: string; sellAmount?: string; sellPercentage?: number; buyerPrivateKeys: string[]; buyerAmounts?: string[]; buyerRatios?: number[]; tokenAddress: string; routeParams: RouteParams; config: PancakeSwapSignConfig; quoteToken?: string; quoteTokenDecimals?: number; startNonces?: number[]; } /** * 批量换手结果 */ export interface PancakeBatchSwapResult { signedTransactions: string[]; metadata?: { sellerAddress: string; buyerAddresses: string[]; sellAmount: string; buyAmounts: string[]; profitAmount?: string; }; } /** * PancakeSwap 批量换手(一卖多买) * * 功能:主钱包一次卖出 → 多个子钱包同时买入 → 在同一个区块中完成 * 限制:最多 24 个买方(服务器限制 25 笔交易,包含 1 笔利润交易) * * 交易顺序:[授权(可选)] → [卖出] → [买入1, 买入2, ..., 买入N] → [利润] */ export declare function pancakeBatchSwapMerkle(params: PancakeBatchSwapSignParams): Promise<PancakeBatchSwapResult>; /** * 快捷批量换手参数 * 特点:子钱包不需要预先有余额,资金来自主钱包卖出所得 */ export interface PancakeQuickBatchSwapParams { sellerPrivateKey: string; sellAmount?: string; sellPercentage?: number; buyerPrivateKeys: string[]; buyerRatios?: number[]; buyerAmounts?: string[]; tokenAddress: string; routeParams: RouteParams; config: PancakeSwapSignConfig; quoteToken?: string; quoteTokenDecimals?: number; startNonces?: number[]; } /** * 快捷批量换手结果 */ export interface PancakeQuickBatchSwapResult { signedTransactions: string[]; metadata?: { sellerAddress: string; buyerAddresses: string[]; sellAmount: string; estimatedOutput: string; transferAmounts: string[]; profitAmount?: string; useNativeToken: boolean; }; } /** * PancakeSwap 快捷批量换手(资金自动流转) * * 流程:[贿赂] → [卖出] → [转账1, 转账2, ...] → [买入1, 买入2, ...] → [利润] * * 特点: * - 子钱包不需要预先有余额 * - 资金来自主钱包卖出代币所得 * - 提升资金利用率 * - 支持 BNB 和 ERC20(如 USDT)两种模式 * * 限制:最多 23 个买方(转账 + 买入 = 46 笔,加上贿赂/卖出/利润 = 50 笔限制) */ export declare function pancakeQuickBatchSwapMerkle(params: PancakeQuickBatchSwapParams): Promise<PancakeQuickBatchSwapResult>;