Governance::castVote() use power at time of vote and not at time of proposal. Any user can increase() their locked stack to have more influence on decisive proposals.
If a proposal that do not fit with the idea of a user, he can instantly create and lock() RAACToken to have more voting in a proposition.
The power should be calculated at the time of proposal and not when a user call castVote(). It should call getVotingPower(address account, uint256 timestamp)
Governance voting power can be manipulated after proposal creation
No snapshot system to prevent time-based manipulation
Undermines fair voting process
Can be exploited to force proposal outcomes
Manual
castVote() should use timestamp of the proposal instead of block.timestamp, and call getVotingPower(address account, uint256 timestamp) instead of getVotingPower(address account)
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.