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.