Simulates the tx and returns unitsConsumed (no margin applied).
We use replaceRecentBlockhash: true so the simulation does not fail on a
stale/expired blockhash, and we never verify signatures — the only thing we
care about here is the compute-unit count the program would burn.
Full compute-budget recommendation (CU limit + price + resulting fee).
The CU limit is the simulated consumption scaled by a safety margin (
Math.round, notceil—6000 * 1.1is6600.000000000001in IEEE-754, and rounding lands on the intended 6600). The price comes from the oracle at the requested level. The resulting fee isceil(limit * price / 1e6)because the network charges priority fee on the requested limit in micro-lamports.