/** * Flap Portal — 只读查询(reader) */ import { Contract } from 'ethers'; import type { PortalConfig, QuoteExactInputParams, TokenStateV2, TokenStateV3, TokenStateV4, TokenStateV5, TokenStateV7, TokenStateV8 } from './types.js'; export declare const PORTAL_ABI: string[]; export declare class FlapPortal { private rpcUrl; protected portal: string; protected contract: Contract; private buyFeeRate; private sellFeeRate; constructor(cfg: PortalConfig); getTokenV2(token: string): Promise; getTokenV3(token: string): Promise; getTokenV4(token: string): Promise; getTokenV5(token: string): Promise; /** * 获取代币状态 V7(包含毕业相关信息) * 注意:仅部分链支持 V7(如 XLayer v5.7+),不支持的链会 revert */ getTokenV7(token: string): Promise; mapTokenStateV8(raw: unknown[]): TokenStateV8; /** * BSC TOKEN_TAXED_V3:买卖税在 buyTaxRate / sellTaxRate。 * 用 V7 读会把残留 taxRate(常见 100 bps)当成当前税。 */ getTokenV8(token: string): Promise; getTokenV8Safe(token: string): Promise; /** * 计算距离毕业还需多少 OKB/ETH(含手续费) * @param state TokenStateV5 或 TokenStateV7 * @returns 毕业相关信息 */ computeRemainingToGraduation(state: TokenStateV5 | TokenStateV7): { remainingOkb: string; graduationReserve: string; currentReserve: string; isGraduated: boolean; progressPercent: string; }; computePriceAndProgress(state: TokenStateV5): { price: string; progress: string; }; quoteBuy(state: TokenStateV5, inputEth: string): string; quoteSell(state: TokenStateV5, inputToken: string): string; previewBuy(token: string, ethAmount: bigint): Promise; previewSell(token: string, tokenAmount: bigint): Promise; quoteExactInput(params: QuoteExactInputParams): Promise; getFeeRate(): Promise<{ buyFeeRate: bigint; sellFeeRate: bigint; }>; nonce(): Promise; version(): Promise; getLocks(token: string): Promise; }