public CallOutput EstimateGas(BlockHeader header, Transaction tx, CancellationToken cancellationToken) { EstimateGasTracer estimateGasTracer = new EstimateGasTracer(); CallAndRestore( header, header.Number + 1, UInt256.Max(header.Timestamp + 1, _timestamper.EpochSeconds), tx, estimateGasTracer.WithCancellation(cancellationToken)); long estimate = estimateGasTracer.CalculateEstimate(tx); return(new CallOutput { Error = estimateGasTracer.Error, GasSpent = estimate }); }