GatewayVM -> EVAL might recursively run vm.evalCommand depending on the program. Currently, there are no checks on the max depth of vm.evalCommand call, resulting in risk of infinite loop causing gas exhaustion.
https://github.com/code-423n4/2024-12-unruggable/blob/9e0e908a207f088dd843fcdc3e4de5fa0edd6c5c/contracts/GatewayVM.sol#L424
Add a check on the recursive call depth and set a max recursive call depth, revert when exceeded.
