The function veRAACToken::increase allows users to increase their locked RAAC tokens and consequently their voting power. However, it does not implement a check to ensure that the total supply does not exceed the MAX_TOTAL_SUPPLY limit. This bypasses the supply constraints enforced in the lock function.
In the function veRAACToken::lock, a total supply check ensures that the total supply of locked tokens does not exceed MAX_TOTAL_SUPPLY:
However, the function veRAACToken::increase does not have a similar total supply check. This omission allows the total locked supply to exceed MAX_TOTAL_SUPPLY, potentially leading to governance inflation and an unbounded increase in voting power.
Lack of total supply validation in veRAACToken::increase.
The function _lockState::increaseLock contains some validation checks, but it does not verify that total supply remains within limits.
Bypassing the maximum total supply constraint, allowing users to increase locked tokens indefinitely.
Governance power inflation, leading to unfair voting dynamics.
Potential economic manipulation, as users could exceed expected supply constraints.
Manual review
Add a total supply check in veRAACToken::increase similar to lock.
Modify _lockState::increaseLock to include:
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.