In the veRAACToken
contract the EMERGENCY_DELAY
is supposed to be 3 days but is unintentionally implemented 2 consecutive times, which results in a total waiting time of 6 days before users can withdraw their funds in emergency situations.
The emergency withdrawal process requires the owner to call scheduleEmergencyAction
and to wait for EMERGENCY_DELAY
(3 days) due to the withEmergencyDelay
modifier:
Then the owner can call enableEmergencyWithdraw
and after another 3 days users can finally withdraw their tokens. This creates a total delay of 6 days before any emergency action can be taken.
The unintended double delay period significantly hinders the contract's ability to respond to emergencies effectively. In emergency situations where immediate action is required , the 6-day waiting period could result in a loss of user funds, which completely undermines the purpose of having an emergency withdrawal feature.
Consider fixing the double delay and even reducing it, as 3 days may already be excessive.
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.