Omniscia Sheesha Finance Audit

AdvanceVesting Manual Review Findings

AdvanceVesting Manual Review Findings

AVG-01M: Inexistent Self-Sufficiency

TypeSeverityLocation
Logical FaultMinorAdvanceVesting.sol:L14

Description:

The constructor of the AdvanceVesting contract does not set any configurational values of the contract.

Example:

contracts/BaseContracts/AdvanceVesting.sol
9uint256 public firstRelease;
10uint256 public cliffDuration;
11uint256 public tgePercentage;
12uint256 public remainingPercentage;
13
14constructor(address signer_) BaseVesting(signer_) {}

Recommendation:

We advise the assignments to be relocated from inherited contracts to the AdvanceVesting contract constructor to firstly ensure that input sanitization is done properly and secondly to allow the usage of mutability optimizations such as the immutable specifier for variables that are only set once.

Alleviation:

The configurational values of the contract are properly set within the constructor and propagated to the BaseVesting constructor where necessary. Additionally, immutable specifiers were properly defined for the contract variables thus significantly optimizing the gas consumed by the contract.