Strategy actions could be executed out of order due to lack of reentrancy guard
The Execute module performs automation of the fetched Executable array on wallet subaccounts.\\n```\\n    function _executeAutomation( address _wallet, address _subAccount, address _strategy,\\n       Types.Executable[] memory _actionExecs ) internal {\\n        uint256 actionLen = _actionExecs.length;\\n    if (actionLen == 0) {\\n           revert InvalidActions();\\n        } else {\\n      uint256 idx = 0;\\n    do {\\n    _executeOnSubAccount(_wallet, _subAccount, _strategy,\\n    _actionExecs[idx]);\\n    unchecked {\\n    ++idx;\\n            }\\n          } while (idx < actionLen);\\n        }\\n      }\\n```\\n
Add a reentrancy guard for `executeAutomationViaBot()` and `executeTrustedAutomation()`.
```\\n    function _executeAutomation( address _wallet, address _subAccount, address _strategy,\\n       Types.Executable[] memory _actionExecs ) internal {\\n        uint256 actionLen = _actionExecs.length;\\n    if (actionLen == 0) {\\n           revert InvalidActions();\\n        } else {\\n      uint256 idx = 0;\\n    do {\\n    _executeOnSubAccount(_wallet, _subAccount, _strategy,\\n    _actionExecs[idx]);\\n    unchecked {\\n    ++idx;\\n            }\\n          } while (idx < actionLen);\\n        }\\n      }\\n```\\n