/** * PancakeSwap Router 交易构建 / 报价 / 授权目标 * * flap 与 four-meme pancake-proxy helpers 共用,避免两份实现分叉。 * 不负责 minOut / 滑点(同钱包刷量仍走 quote.ts 的 0n)。 */ import { Wallet, Contract, type JsonRpcProvider } from 'ethers'; import type { ContractTransaction } from 'ethers/contract'; export declare const MULTICALL3_ADDRESS: "0xcA11bde05977b3631167028862bE2a173976CA11"; export declare const WBNB_ADDRESS: "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c"; export declare const PANCAKE_V2_ROUTER_ADDRESS: "0x10ED43C718714eb63d5aA57B78B54704E256024E"; export declare const PANCAKE_V3_ROUTER_ADDRESS: "0x13f4EA83D0bd40E75C8222255bc855a974568Dd4"; export declare const PANCAKE_V3_QUOTER_ADDRESS: "0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997"; export declare const V3_ROUTER_ABI: (string | { inputs: { components: { name: string; type: string; }[]; name: string; type: string; }[]; name: string; outputs: { name: string; type: string; }[]; stateMutability: string; type: string; })[]; export type PancakeRouteNeedBnb = { v2Path?: string[]; v3TokenIn?: string; v3ExactTokenIn?: string; }; export declare function needSendBNBFromRoute(routeType: string, params: PancakeRouteNeedBnb, wbnbAddress?: string): boolean; export declare function getApprovalTarget(routeType: string): string; export declare function buildV2Transactions(routers: Contract[], wallets: Wallet[], amountsWei: bigint[], minOuts: bigint[], path: string[], isBuy: boolean, needBNB: boolean): Promise; export declare function buildV3SingleTransactions(routers: Contract[], wallets: Wallet[], tokenIn: string, tokenOut: string, fee: number, amountsWei: bigint[], minOuts: bigint[], isBuy: boolean, needBNB: boolean): Promise; export declare function buildV3MultiHopTransactions(routers: Contract[], wallets: Wallet[], tokens: string[], fees: number[], amountsWei: bigint[], minOuts: bigint[], isBuy: boolean, needBNB: boolean): Promise; export declare function batchGetV2Quotes(provider: JsonRpcProvider, amountsWei: bigint[], v2Path: string[]): Promise;