Omniscia Swisscoast Audit

PriceFeed Static Analysis Findings

PriceFeed Static Analysis Findings

PFD-01S: Illegible Numeric Value Representation

TypeSeverityLocation
Code StylePriceFeed.sol:L42

Description:

The linked representation of a numeric literal is sub-optimally represented decreasing the legibility of the codebase.

Example:

packages/contracts/contracts/PriceFeed.sol
42uint constant public TIMEOUT = 14400; // 4 hours: 60 * 60 * 4

Recommendation:

To properly illustrate the 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 (04618e407bddce5b22e9cadd787fd3334bd3afe6):

The referenced value literal has been updated in its representation to 14_400 in accordance with the recommendation's underscore style, addressing this exhibit.

PFD-02S: Inexistent Visibility Specifiers

TypeSeverityLocation
Code StylePriceFeed.sol:L33, L34

Description:

The linked variables have no visibility specifier explicitly set.

Example:

packages/contracts/contracts/PriceFeed.sol
33address borrowerOperationsAddress;

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 (04618e407bddce5b22e9cadd787fd3334bd3afe6):

The public visibility specifier has been introduced to all referenced variables, preventing potential compilation discrepancies and addressing this exhibit.