The veRAACToken contract implements pause-related state variables and modifiers but lacks the actual functionality to pause and unpause the contract, rendering the emergency pause mechanism ineffective.
https://github.com/Cyfrin/2025-02-raac/blob/89ccb062e2b175374d40d824263a4c0b601bcb7f/contracts/core/tokens/veRAACToken.sol#L103
A paused state variable that tracks the contract's pause status
A whenNotPaused modifier that's used on critical functions like lock(), increase(), and extend()
No functions to actually modify the paused state
This means that:
The paused variable remains in its default state (false) indefinitely
The whenNotPaused modifier will never prevent function execution
There's no way for the contract owner to pause the contract in case of emergencies
High severity due to the inability to pause the contract during emergencies
In case of discovered vulnerabilities, there's no way to temporarily halt operations
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.