UNPKG

four-flap-meme-sdk

Version:

SDK for Flap bonding curve and four.meme TokenManager

79 lines (78 loc) 2.35 kB
/** * PancakeSwap V2/V3 通用捆绑换手(Merkle Bundle)- 先买后卖 * * 功能:钱包B先买入代币 → 钱包A卖出相同数量 → 原子执行 */ import { CommonBundleConfig } from '../utils/bundle-helpers.js'; export interface PancakeBuyFirstSignConfig { rpcUrl: string; gasLimit?: number | bigint; gasLimitMultiplier?: number; minGasPriceGwei?: number; maxGasPriceGwei?: number; txType?: 0 | 2; chainId?: number; reserveGasBNB?: number; skipQuoteOnError?: boolean; bribeAmount?: number; } export type SwapRouteType = 'v2' | 'v3-single' | 'v3-multi'; 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 PancakeBuyFirstConfig extends CommonBundleConfig { apiKey: string; customRpcUrl?: string; bundleBlockOffset?: number; reserveGasBNB?: number; waitForConfirmation?: boolean; waitTimeoutMs?: number; } export interface PancakeBundleBuyFirstSignParams { buyerPrivateKey: string; sellerPrivateKey: string; tokenAddress: string; routeParams: RouteParams; buyerFunds?: string; buyerFundsPercentage?: number; config: PancakeBuyFirstSignConfig; quoteToken?: string; quoteTokenDecimals?: number; startNonces?: number[]; } export interface PancakeBundleBuyFirstParams { buyerPrivateKey: string; sellerPrivateKey: string; tokenAddress: string; routeParams: RouteParams; buyerFunds?: string; buyerFundsPercentage?: number; config: PancakeBuyFirstConfig; } /** ✅ Pancake BuyFirst 结果(简化版) */ export type PancakeBuyFirstResult = { signedTransactions: string[]; metadata?: { buyerAddress: string; sellerAddress: string; buyAmount: string; sellAmount: string; profitAmount?: string; }; }; export declare function pancakeBundleBuyFirstMerkle(params: PancakeBundleBuyFirstSignParams): Promise<PancakeBuyFirstResult>;