github.com/ethereum-optimism/optimism@v1.7.2/packages/contracts-bedrock/invariant-docs/SafeCall.md (about) 1 # `SafeCall` Invariants 2 3 ## If `callWithMinGas` performs a call, then it must always provide at least the specified minimum gas limit to the subcontext. 4 **Test:** [`SafeCall.t.sol#L33`](../test/invariants/SafeCall.t.sol#L33) 5 6 If the check for remaining gas in `SafeCall.callWithMinGas` passes, the subcontext of the call below it must be provided at least `minGas` gas. 7 8 ## `callWithMinGas` reverts if there is not enough gas to pass to the subcontext. 9 **Test:** [`SafeCall.t.sol#L66`](../test/invariants/SafeCall.t.sol#L66) 10 11 If there is not enough gas in the callframe to ensure that `callWithMinGas` can provide the specified minimum gas limit to the subcontext of the call, then `callWithMinGas` must revert.