import { BundleStatus, SoulPointSignatureMode, VNormalizationMode } from '../shared/clients/club48.js'; import type { GeneratedWallet } from '../utils/wallet.js'; export type FourBundleConfig = { rpcUrl: string; fourApiUrl?: string; club48Endpoint?: string; club48ExplorerEndpoint?: string; spMode?: SoulPointSignatureMode; spVMode?: VNormalizationMode; spPrivateKey?: string; bundleBlockOffset?: number; noMerge?: boolean; tipAmountWei?: bigint; txType?: 0 | 2; gasLimitMultiplier?: number; customSubmitFn?: (signedTxs: string[]) => Promise; }; export type FourCreateWithBundleBuyParams = { privateKeys: string[]; buyAmounts: string[]; b0Amount?: string; tokenInfo: { name: string; symbol: string; description: string; imageUrl?: string; imageFile?: Blob; label?: 'Meme' | 'AI' | 'Defi' | 'Games' | 'Infra' | 'De-Sci' | 'Social' | 'Depin' | 'Charity' | 'Others'; preSale?: string; webUrl?: string; twitterUrl?: string; telegramUrl?: string; }; config: FourBundleConfig; }; export type FourCreateWithBundleBuyResult = { bundleUuid: string; tokenAddress?: string; status: BundleStatus; createTx: string; buyTxs: string[]; profitTxs: string[]; profitHopWallets?: GeneratedWallet[]; }; /** * four.meme: 创建代币 + 捆绑购买 * * 用户只需传入: * - dev 私钥 + N 个买家私钥 * - 对应的购买金额 * - 代币基本信息 */ export declare function createTokenWithBundleBuy(params: FourCreateWithBundleBuyParams): Promise; export type FourBatchBuyParams = { privateKeys: string[]; buyAmounts: string[]; tokenAddress: string; config: FourBundleConfig; }; export type FourBatchBuyResult = { bundleUuid: string; status: BundleStatus; buyTxs: string[]; profitHopWallets?: GeneratedWallet[]; }; /** * four.meme: 批量购买 */ export declare function batchBuyWithBundle(params: FourBatchBuyParams): Promise; export type FourBatchSellParams = { privateKeys: string[]; sellAmounts: string[]; tokenAddress: string; config: FourBundleConfig; }; export type FourBatchSellResult = { bundleUuid: string; status: BundleStatus; sellTxs: string[]; profitHopWallets?: GeneratedWallet[]; }; /** * four.meme: 批量卖出 */ export declare function batchSellWithBundle(params: FourBatchSellParams): Promise; export type FourPrivateBase = { rpcUrl: string; club48Endpoint?: string; club48ExplorerEndpoint?: string; }; export type FourPrivateBuyParams = FourPrivateBase & { privateKey: string; tokenAddress: string; funds: string; to?: string; spPrivateKey?: string; }; export type FourPrivateSellParams = FourPrivateBase & { privateKey: string; tokenAddress: string; amount: string; minFunds?: bigint; spPrivateKey?: string; }; export declare function fourPrivateBuy(params: FourPrivateBuyParams): Promise; export declare function fourPrivateSell(params: FourPrivateSellParams): Promise; export type FourBatchPrivateBuyParams = FourPrivateBase & { privateKeys: string[]; fundsList: string[]; tokenAddress: string; spPrivateKey?: string; }; export type FourBatchPrivateSellParams = FourPrivateBase & { privateKeys: string[]; amounts: string[]; tokenAddress: string; spPrivateKey: string; minFundsEach?: bigint; }; export declare function fourBatchPrivateBuy(params: FourBatchPrivateBuyParams): Promise; export declare function fourBatchPrivateSell(params: FourBatchPrivateSellParams): Promise;