There are general inconsistencies and deviations from the Solidity Style Guide throughout the codebase. These lead to misconceptions and confusion when reading the code.
Below is a non-exhaustive list of inconsistent coding styles observed:
On the LiquidationPool contract, manager and tokenManager global state variables could be declared as immutable.
On the LiquidationPool contract, the function stake() suggests that it could be used to perform some kind of staking. Consider improving the naming to something like getPositionStake() or getStakeByPosition().
On the LiquidationPool contract, the function empty() suggests that it could be used to empty something. Consider improving the naming to something like isEmpty().
On the SmartVaultManagerV5 contract, some functions have the onlyOwner modifier without parenthesis and some with it. Consider unifying it.
On the SmartVaultV3 contract, the constants version and vaultType are not in uppercase. Consider changing them to: VERSION and VAULT_TYPE respectively.
On the SmartVaultV3 contract, in the constructor, the order of the arguments and assignments is not consistent. Consider assigning first the manager and later owner.
The inconsistencies detailed above could lead to misconceptions and confusion when reading the code.
Manual Analysis.
Consider enforcing a standard coding style, such as that provided by the Solidity Style Guide, to improve the project’s overall legibility. Also consider using a linter like Solhint or Forge fmt to define a style and analyze the codebase for style deviations.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.