Omniscia Mantissa Finance Audit

Rewarder Code Style Findings

Rewarder Code Style Findings

RRE-01C: Ineffectual Usage of Safe Arithmetics

TypeSeverityLocation
Language SpecificRewarder.sol:L78, L139

Description:

The linked mathematical operations are guaranteed to be performed safely by surrounding conditionals evaluated in either require checks or if-else constructs.

Example:

contracts/Rewarder.sol
74if (block.number > pool.lastRewardBlock) {
75 uint256 lpSupply = lpToken.balanceOf(masterMantis);
76
77 if (lpSupply > 0) {
78 uint256 blocks = block.number - pool.lastRewardBlock;

Recommendation:

Given that safe arithmetics are toggled on by default in pragma versions of 0.8.X, we advise the linked statements to be wrapped in unchecked code blocks thereby optimizing their execution cost.

Alleviation (418ee413ad8e26f7eea383764c19953ff31b2bf3):

Both statements have been safely wrapped in an unchecked code block, optimizing their execution cost.

RRE-02C: Redundant Casting Operation

TypeSeverityLocation
Code StyleRewarder.sol:L150

Description:

The msg.sender value is being cast to an address type in the referenced statement when it already is of the said type.

Example:

contracts/Rewarder.sol
150rewardToken.safeTransfer(address(msg.sender), rewardToken.balanceOf(address(this)));

Recommendation:

We advise the redundant casting operation to be omitted.

Alleviation (418ee413ad8e26f7eea383764c19953ff31b2bf3):

The redundant casting operation has been safely omitted from the codebase.