recordVote()Lack of access control in recordVote() function. Any user can modify _hasVotedOnProposal[] state variable on behalf of any voter and emit fake vote events.
Frontend or other off-chain services may display incorrect events, potentially misleading users.
Recommended to delete this unused function, because castVote in Governance.sol already tracks votes and emit events.
Protocol restricts total supply of veRAACToken to be <= 100_000_000e18. But max total supply is incorrectly checked during lock creation. The check uses deposited amount of RAAC tokens instead of newPower - real amount of minted veRAACToken.
These 2 amounts will always be different, because amount of veRAACToken to mint calculated based on deposited amount and duration:
Thus if duration < MAX_LOCK_DURATION, then amount of veRAACToken to mint will always be smaller then RAAC amount. Lock creation might revert in some cases, however it shouldn't.
Recommended to check MAX_TOTAL_SUPPLY limit right before minting using newPower value.
Protocol restricts total supply of veRAACToken to be <= 100_000_000e18. Max total supply is checked during lock creation, but not during lock increasing or extending, when new tokens also minted. MAX_TOTAL_SUPPLY limit can be exceeded in some cases - when limit is reached, users can't create new locks, but they can modify existing locks and mint excessive veTokens.
Recommended to check MAX_TOTAL_SUPPLY limit in increase() and extend() functions.
mintRewards functionIncorrect event emitted in mintRewards function - it emits RAAC amount transfered to user instead of RAAC amount minted. These 2 amounts will be different in most cases.
For comparison, the same event emits corrects values in tick() function:
Recommended to use toMint value instead.
checkAuctionEndedLack of access control in checkAuctionEnded. Any user can call checkAuctionEnded() function and emit fake events, even if auction was already ended and AuctionEnded was emited. Frontend or other off-chain services may display fake events, potentially misleading users.
Recommended to allow this function to be called only once.
suggestion is something that is done by ERC20.mint() function
suggestion is something that is done by ERC20.mint() function
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.