Omniscia Olive Audit

Staking Static Analysis Findings

Staking Static Analysis Findings

STA-01S: Inefficient Usage of EnumerableSet

Description:

The add and remove instructions of the EnumerableSet yield a bool variable signaling whether the operation was executed successfully which can be utilized in place of the contains checks.

Example:

contracts/staking/Staking.sol
129function removeSchedule(uint256 scheduleIndex) external override onlyOwner {
130 require(scheduleIdxs.contains(scheduleIndex), "INVALID_SCHEDULE");
131
132 scheduleIdxs.remove(scheduleIndex);
133 delete schedules[scheduleIndex];
134
135 emit ScheduleRemoved(scheduleIndex);
136}

Recommendation:

We advise this to be done so to optimize the codebase's gas cost.

Alleviation:

The file is no longer present in the codebase thereby nullifying this exhibit.

STA-02S: Redundant Zero Value Writes

Description:

The linked zero value writes are redundant as thats the default value of the variable they are assigned to.

Example:

contracts/staking/Staking.sol
148value = 0;

Recommendation:

We advise them to be omitted in favor of reduced gas costs.

Alleviation:

The file is no longer present in the codebase thereby nullifying this exhibit.