contracts/PerpetualVault.sol
The afterLiquidationExecution
function is a callback function which handles post-liquidation operations only callable by the gmxProxy
contract. During the execution of this function, the depositPaused
state variable is set to true
, this implies that all subsequent deposit calls will fail until the variable is set to false
, however, across the codebase, there’s no other logic that resets the value of the depositPaused back to false
. By implication, this means once deposits are paused during liquidation handling, users would be unable to deposit until the the protocol owner steps in to manually reset the paused state.
PerpetualVault.afterLiquidationExecution
Once a liquidation happens, the system ultimately blocks deposits, the protocol owner has to intervene to manually reset the state everytime this happens, this may go unnoticed for a long period of time thereby blocking users from depositing
Manual Review
Perform complete cleanups after liquidation, once the operation is complete, the depositPause state variable should be reset to false so all other operations can continue running smoothly.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.