/** * Flap Portal newTokenV6 参数构建(对齐官方文档) * @see https://docs.flap.sh/flap/developers/token-launcher-developers/launch-token-through-portal */ import { TokenVersion } from './portal.js'; import type { TaxV2Config } from './portal-bundle-merkle/types.js'; export type NewTokenV6LaunchFields = { name: string; symbol: string; meta: string; dexThresh?: number; salt?: string; migratorType?: number; quoteToken?: string; quoteAmt?: bigint; beneficiary: string; permitData?: string; extensionID?: string; extensionData?: string; dexId?: number; lpFeeProfile?: number; buyTaxRate?: number; sellTaxRate?: number; taxRate?: number; taxDuration?: bigint | number; antiFarmerDuration?: bigint | number; mktBps?: number; deflationBps?: number; dividendBps?: number; lpBps?: number; minimumShareBalance?: bigint; dividendToken?: string; commissionReceiver?: string; tokenVersion?: TokenVersion; }; export type BuildNewTokenV6FromTaxV2Input = { tokenInfo: { name: string; symbol: string; meta: string; }; taxV2: TaxV2Config; beneficiary: string; salt?: string; taxRate?: number; buyTaxRate?: number; sellTaxRate?: number; dexThresh?: number; migratorType?: number; quoteToken?: string; quoteAmt?: bigint; dexId?: number; lpFeeProfile?: number; extensionID?: string; extensionData?: string; commissionReceiver?: string; dividendToken?: string; }; /** Portal.newTokenV6 ABI(ethers 简写格式,供 Contract 使用) */ export declare const NEW_TOKEN_V6_ABI = "function newTokenV6((string name,string symbol,string meta,uint8 dexThresh,bytes32 salt,uint8 migratorType,address quoteToken,uint256 quoteAmt,address beneficiary,bytes permitData,bytes32 extensionID,bytes extensionData,uint8 dexId,uint8 lpFeeProfile,uint16 buyTaxRate,uint16 sellTaxRate,uint64 taxDuration,uint64 antiFarmerDuration,uint16 mktBps,uint16 deflationBps,uint16 dividendBps,uint16 lpBps,uint256 minimumShareBalance,address dividendToken,address commissionReceiver,uint8 tokenVersion)) external payable returns (address)"; export declare function normalizeTaxV2Fields(taxV2: TaxV2Config): (TaxV2Config & { mktBps: number; deflationBps: number; dividendBps: number; lpBps: number; minimumShareBalance?: number; }) | { taxDuration: number; antiFarmerDuration: number; mktBps: number; deflationBps: number; dividendBps: number; lpBps: number; minimumShareBalance: number | undefined; vaultConfig: import("./vault.js").TaxVaultConfig | undefined; }; /** * 构建 Portal.newTokenV6 参数 * - 无税:tokenVersion = TOKEN_V2_PERMIT,税字段为 0 * - 高级税(无金库):tokenVersion = TOKEN_TAXED_V3 */ export declare function buildNewTokenV6Params(input: BuildNewTokenV6FromTaxV2Input | NewTokenV6LaunchFields): { name: string; symbol: string; meta: string; dexThresh: number; salt: string; migratorType: number; quoteToken: string; quoteAmt: bigint; beneficiary: string; permitData: string; extensionID: string; extensionData: string; dexId: number; lpFeeProfile: number; buyTaxRate: number; sellTaxRate: number; taxDuration: bigint; antiFarmerDuration: bigint; mktBps: number; deflationBps: number; dividendBps: number; lpBps: number; minimumShareBalance: bigint; dividendToken: string; commissionReceiver: string; tokenVersion: TokenVersion; }; /** 高级税(无金库)Vanity:TOKEN_TAXED_V3 + 后缀 7777 */ export declare function getTaxV3LaunchVanityOptions(chain: string): { taxed: boolean; taxedV3: boolean; taxedV5: boolean; useV3Permit: boolean; suffix: string | undefined; chain: "BSC" | "BASE" | "XLAYER" | "MORPH" | "MONAD"; }; /** 标准 V3 池 Vanity:TOKEN_V3_PERMIT / newTokenV7 + BSC_V3_PERMIT impl */ export declare function getV3PermitLaunchVanityOptions(chain: string): { taxed: boolean; taxedV3: boolean; taxedV5: boolean; useV3Permit: boolean; suffix: string | undefined; chain: "BSC" | "BASE" | "XLAYER" | "MORPH" | "MONAD"; };