In the veRAACToken contract to verify that emergency withdrawals are enabled the emergencyWithdrawDelay variable is checked:
The problem is that there is no way to reset this variable back to 0, meaning that emergency withdrawals will be enabled indefinitely or the delay would have to be constantly extended by scheduling and enabling withdrawals again and again.
This PoC can be added to veRAACToken.test.js. Users can withdraw at any time after emergency withdraw is enabled:
After this there is no way to return to a state where veRAACToken emergency withdrawals are completetly disabled.
After an emergency withdrawal veRAACToken contract might be unusable or difficult to mantain.
Manual review + hardhat tests
Add an onlyOwner function to set emergencyWithdrawDelay = 0
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.