Multiple contracts cannot be paused
For safety, tapioca has added `whenNotPaused` restrictions to multiple contracts But there is no method provided to modify the `_paused` state If a security event occurs, it cannot be paused at all\\nTake `mTOFT.sol` as an example, multiple methods are `whenNotPaused`\\n```\\n    function executeModule(ITOFT.Module _module, bytes memory _data, bool _forwardRevert)\\n        external\\n        payable\\n      whenNotPaused\\n        returns (bytes memory returnData)\\n    {\\n// rest of code\\n    function sendPacket(LZSendParam calldata _lzSendParam, bytes calldata _composeMsg)\\n        public\\n        payable\\n      whenNotPaused\\n        returns (MessagingReceipt memory msgReceipt, OFTReceipt memory oftReceipt)\\n    {\\n```\\n\\nBut the contract does not provide a `public` method to modify `_paused` Note: `Pausable.sol` does not have a `public` method to modify `_paused`\\nIn reality, there have been multiple reports of security incidents where the protocol side wants to pause to prevent losses, but cannot pause, strongly recommend adding\\nNote: The following contracts cannot be paused\\nmTOFT\\nTOFT\\nUsdo\\nAssetToSGLPLeverageExecutor
```\\n// Add the line below\\n    function pause() external onlyOwner{\\n// Add the line below\\n        _pause();\\n// Add the line below\\n    }\\n\\n// Add the line below\\n    function unpause() external onlyOwner{\\n// Add the line below\\n        _unpause();\\n// Add the line below\\n    }\\n```\\n
Due to the inability to modify `_paused`, it poses a security risk
```\\n    function executeModule(ITOFT.Module _module, bytes memory _data, bool _forwardRevert)\\n        external\\n        payable\\n      whenNotPaused\\n        returns (bytes memory returnData)\\n    {\\n// rest of code\\n    function sendPacket(LZSendParam calldata _lzSendParam, bytes calldata _composeMsg)\\n        public\\n        payable\\n      whenNotPaused\\n        returns (MessagingReceipt memory msgReceipt, OFTReceipt memory oftReceipt)\\n    {\\n```\\n