Omniscia Olive Audit

RewardsHash Code Style Findings

RewardsHash Code Style Findings

RHH-01C: Ineffectual constructor Implementation

Description:

The linked constructor is redundant as the default value of latestCycleIndex is 0.

Example:

contracts/rewards/RewardsHash.sol
16constructor() {
17 latestCycleIndex = 0;
18}

Recommendation:

We advise it to be safely omitted.

Alleviation:

The redundant assignment has been safely omitted from the codebase.

RHH-02C: Redundant Usage of SafeMath

Description:

The project's code is compiled with a compiler version beyond 0.8.X which has built-in safe arithmetics toggled on by default.

Example:

contracts/rewards/RewardsHash.sol
3pragma solidity 0.8.4;
4pragma experimental ABIEncoderV2;
5
6import "@openzeppelin/contracts/access/Ownable.sol";
7import "../interfaces/IRewardHash.sol";
8import {SafeMath} from "@openzeppelin/contracts/utils/math/SafeMath.sol";
9
10contract RewardHash is IRewardHash, Ownable {
11 using SafeMath for uint256;

Recommendation:

We advise the codebase to omit the usage of SafeMath in favor of reduced gas costs.

Alleviation:

The redundant usage of SafeMath has been safely omitted from the codebase.