Omniscia Steer Protocol Audit

BaseLiquidityManager Static Analysis Findings

BaseLiquidityManager Static Analysis Findings

BLM-01S: Illegible Numeric Value Representations

TypeSeverityLocation
Code StyleBaseLiquidityManager.sol:L63, L65, L66

Description:

The linked representations of numeric literals are sub-optimally represented decreasing the legibility of the codebase.

Example:

contracts/vault-types/UniLiquidityManager/BaseLiquidityManager.sol
63uint24 public constant TOTAL_FEE = 1500;

Recommendation:

To properly illustrate each value's purpose, we advise the following guidelines to be followed. For values meant to depict fractions with a base of 1e18, we advise fractions to be utilized directly (i.e. 1e17 becomes 0.1e18) as they are supported. For values meant to represent a percentage base, we advise each value to utilize the underscore (_) separator to discern the percentage decimal (i.e. 10000 becomes 100_00, 300 becomes 3_00 and so on). Finally, for large numeric values we simply advise the underscore character to be utilized again to represent them (i.e. 1000000 becomes 1_000_000).

Alleviation (200f275c40):

The underscore numeric separator has been properly introduced in the value literals highlighted by the exhibit apart from the FEE_DIVISOR which remains as 1e4.

Alleviation (0ed41ccc18):

The FEE_DIVISOR variable's code style has been updated in accordance with this exhibit in the latest commit hash fully alleviating this exhibit.

BLM-02S: Inexistent Visibility Specifiers

TypeSeverityLocation
Code StyleBaseLiquidityManager.sol:L98, L101, L160

Description:

The linked variables have no visibility specifier explicitly set.

Example:

contracts/vault-types/UniLiquidityManager/BaseLiquidityManager.sol
98int24 maxTickChange;

Recommendation:

We advise them to be set so to avoid potential compilation discrepancies in the future as the current behaviour is for the compiler to assign one automatically which may deviate between pragma versions.

Alleviation (200f275c40cbd4798f4a416c044ea726755d4741):

A visibility specifier has been explicitly declared for all referenced variables of the exhibit.