/** * BlockRazor Bundle 提交后端 */ /** * BlockRazor 提交配置 * 参考: https://blockrazor.gitbook.io/blockrazor/bsc/block-builder/send-bundle */ export interface BlockRazorSubmitConfig { /** API Key(可选,根据 Tier 需要) */ apiKey?: string; /** 自定义 RPC URL(用于查询区块号等,可选) */ customRpcUrl?: string; /** Builder RPC URL(用于发送 Bundle,可选) */ builderRpcUrl?: string; /** 区块偏移量(默认 10,最大有效区块 = 当前区块 + offset) */ blockOffset?: number; /** 最大区块偏移量(默认 100) */ maxBlockOffset?: number; /** 是否禁止 Bundle 合并(默认 false,允许合并可提高打包率) */ noMerge?: boolean; /** 允许 revert 的交易哈希列表 */ revertingTxHashes?: string[]; /** 是否自动重试(默认 false) */ autoRetry?: boolean; /** 最大重试次数(默认 3) */ maxRetries?: number; } /** * BlockRazor Bundle 提交结果 */ export interface BlockRazorSubmitResult { /** 提交状态:true=成功,false=失败 */ code: boolean; /** 交易总数 */ totalTransactions: number; /** Bundle 哈希(成功时返回) */ bundleHash?: string; /** 交易哈希列表(成功时返回) */ txHashes?: string[]; /** 最大有效区块号(成功时返回) */ maxBlockNumber?: number; /** 交易数量(成功时返回) */ txCount?: number; /** 错误信息(失败时返回) */ error?: string; } /** * 提交已签名的交易到 BlockRazor(服务器端使用) * * BlockRazor 是 BSC 链的 Block Builder 服务,支持 Bundle 提交 * * 特点: * - 向 Builder EOA 转账 BNB 可提高优先级 * - 支持 Bundle 合并提高打包率 * - 最低 Gas Price 要求: 0.05 Gwei * * @param signedTransactions 签名后的交易数组 * @param config BlockRazor 提交配置 * @returns Bundle 提交结果 * * @example * ```typescript * // 服务器端代码 * import { submitBundleToBlockRazor } from 'four-flap-meme-sdk'; * * const result = await submitBundleToBlockRazor(signedTransactions, { * blockOffset: 10, * noMerge: false, // 允许合并 * autoRetry: true * }); * * if (result.code) { * } else { * console.error('❌ Bundle 提交失败:', result.error); * } * ``` */ export declare function submitBundleToBlockRazor(signedTransactions: string[], config: BlockRazorSubmitConfig): Promise; /** * 批量提交多个 Bundle 到 BlockRazor(顺序执行) * * @param bundles 多个 Bundle 的签名交易数组 * @param config BlockRazor 提交配置 * @returns Bundle 提交结果数组 */ export declare function submitMultipleBundlesToBlockRazor(bundles: string[][], config: BlockRazorSubmitConfig): Promise; /** * 并行提交多个 Bundle 到 BlockRazor(适用于独立的 Bundle) * * @param bundles 多个 Bundle 的签名交易数组 * @param config BlockRazor 提交配置 * @returns Bundle 提交结果数组 */ export declare function submitMultipleBundlesToBlockRazorParallel(bundles: string[][], config: BlockRazorSubmitConfig): Promise;