QA Report #90
Labels
bug
Something isn't working
QA (Quality Assurance)
Assets are not at risk. State handling, function incorrect as to spec, issues with clarity, syntax
QA report
[L-01] Event emitted when nothing is updated
In the method
setRewardContracts()
in the contractBooster.sol
the eventRewardContractsUpdated
is emitted even though nothing is updated.The method is found at L174-L190:
The reward contracts are only updated if
lockRewards == address(0)
, however the event is emitted every time the method is called, which is misleading. The emit of the event should be moved inside the if statement, so it is only emitted if the contracts are actually updated.[L-02] Roles missing setter method
The roles
operator
andrewardManager
inBaseRewardPool.sol
and the rolerewardManager
inVE3DRewardPool.sol
are immutables set in the constructors.In the situation where the assigned roles needs to be changed, this can only be done by deploying new contracts, which could be circumvented by having appropriate setter methods, like there is for all the other roles in the remaining contracts.
[NC-01] Check for zero address
In methods where address to other contracts are assigned to a state variable, it is recommended to add in a zero address check to prevent human mistakes.
Examples of methods assigning addresses could be
setFeeManager()
andsetPoolManager()
in the contractBooster.sol
.This would mean that the method
setFeeManager()
found at L129-133 could look like this:The text was updated successfully, but these errors were encountered: