/** * Merkle Bundle 提交后端 */ /** * 精简的Merkle提交配置(只包含提交需要的字段) */ export interface MerkleSubmitConfig { /** Merkle API Key(必需) */ apiKey: string; /** 自定义RPC URL(可选) */ customRpcUrl?: string; /** 链ID(可选,默认56=BSC) */ chainId?: 56 | 1; /** Bundle区块偏移量(可选,默认3) */ bundleBlockOffset?: number; /** 最小区块偏移量(可选,默认3) */ minBlockOffset?: number; /** 是否自动重试(可选,默认false) */ autoRetryBundle?: boolean; /** 最大重试次数(可选,默认2) */ maxBundleRetries?: number; } /** * Bundle提交结果 */ export interface SubmitBundleResult { /** 提交状态:true=成功,false=失败 */ code: boolean; /** 交易总数(无论成功与否都会返回) */ totalTransactions: number; /** Bundle哈希(成功时返回) */ bundleHash?: string; /** 交易哈希列表(成功时返回) */ txHashes?: string[]; /** 目标区块号(成功时返回) */ targetBlock?: number; /** 交易数量(成功时返回) */ txCount?: number; /** 错误信息(失败时返回) */ error?: string; } /** * 提交已签名的交易到Merkle(服务器端使用) * * 这个方法接收前端构建和签名好的交易,直接提交到Merkle服务 * * @param signedTransactions 签名后的交易数组 * @param config Merkle提交配置(精简版,只需要提交相关参数) * @returns Bundle提交结果 * * @example * ```typescript * // 服务器端代码 * import { submitBundleToMerkle } from 'four-flap-meme-sdk'; * * const result = await submitBundleToMerkle(signedTransactions, { * apiKey: process.env.MERKLE_API_KEY, * customRpcUrl: process.env.MERKLE_RPC_URL, * bundleBlockOffset: 5 * }); * * if (result.code) { * } else { * console.error('❌ Bundle提交失败:', result.error); * } * ``` */ export declare function submitBundleToMerkle(signedTransactions: string[], config: MerkleSubmitConfig): Promise; /** * 批量提交多个Bundle到Merkle(顺序执行) * * @param bundles 多个Bundle的签名交易数组 * @param config Merkle提交配置 * @returns Bundle提交结果数组 */ export declare function submitMultipleBundles(bundles: string[][], config: MerkleSubmitConfig): Promise; /** * 并行提交多个Bundle到Merkle(适用于独立的Bundle) * * @param bundles 多个Bundle的签名交易数组 * @param config Merkle提交配置 * @returns Bundle提交结果数组 */ export declare function submitMultipleBundlesParallel(bundles: string[][], config: MerkleSubmitConfig): Promise;