/** * Transaction Simulation Utilities * * Provides compute unit estimation via transaction simulation. * Industry best practice: simulate first, then add 10% buffer. */ import { Connection, Transaction, VersionedTransaction } from "@solana/web3.js"; export interface SimulationResult { computeUnits: number; error?: string; } /** * Simulate transaction to estimate compute units * Returns actual units + 10% buffer (industry standard) * * @param connection - Solana connection * @param transaction - Transaction to simulate * @param fallbackUnits - Fallback value if simulation fails (default: 200,000) * @returns Estimated compute units with 10% buffer * * @example * ```typescript * const tx = new VersionedTransaction(...); * const estimatedCU = await simulateComputeUnits(connection, tx); * // Use estimatedCU to set compute unit limit * ``` */ export declare function simulateComputeUnits(connection: Connection, transaction: Transaction | VersionedTransaction, fallbackUnits?: number): Promise; //# sourceMappingURL=simulation.d.ts.map