Perpetual - Administrators can put the system into emergency mode indefinitely  Pending
There is no limitation on how long an administrator can put the `Perpetual` contract into emergency mode. Users cannot trade or withdraw funds in emergency mode and are effectively locked out until the admin chooses to put the contract in `SETTLED` mode.\\n```\\nfunction beginGlobalSettlement(uint256 price) public onlyWhitelistAdmin {\\n    require(status != LibTypes.Status.SETTLED, "already settled");\\n    settlementPrice = price;\\n    status = LibTypes.Status.SETTLING;\\n    emit BeginGlobalSettlement(price);\\n}\\n```\\n\\n```\\nfunction endGlobalSettlement() public onlyWhitelistAdmin {\\n    require(status == LibTypes.Status.SETTLING, "wrong perpetual status");\\n\\n    address guy = address(amm.perpetualProxy());\\n    settleFor(guy);\\n    status = LibTypes.Status.SETTLED;\\n\\n    emit EndGlobalSettlement();\\n}\\n```\\n
Resolution\\nThe client provided the following statement addressing the issue:\\nIt should be solved by voting. Moreover, we add two roles who is able to disable withdrawing /pause the system.\\nThe duration of the emergency phase is still unrestricted.\\nSet a time-lock when entering emergency mode that allows anyone to set the system to `SETTLED` after a fixed amount of time.
```\\nfunction beginGlobalSettlement(uint256 price) public onlyWhitelistAdmin {\\n    require(status != LibTypes.Status.SETTLED, "already settled");\\n    settlementPrice = price;\\n    status = LibTypes.Status.SETTLING;\\n    emit BeginGlobalSettlement(price);\\n}\\n```\\n