Users can split their veRAAC tokens across multiple wallets and vote on multiple gauges without a cooldown because the vote() function only tracks lastVoteTime per address.
A single whale can bypass voting delay by spreading veRAAC tokens across multiple addresses.
This reduces the effectiveness of governance voting locks
Implement global cooldowns based on total veRAAC token balance (or a Merkle-proof-based identity verification).
Consider making votes time-locked per token rather than per address.
require(block.timestamp >= lastVoteTime[msg.sender] + VOTE_DELAY, "Vote delay active")
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.