wise-foundation / lending-audit

5 stars 4 forks source link

[WSD-01S] Illegible Numeric Value Representations #149

Open vm06007 opened 11 months ago

vm06007 commented 11 months ago

WSD-01S: Illegible Numeric Value Representations

Type Severity Location
Code Style WiseSecurityDeclarations.sol:L85, L86

Description:

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

Example:

maxFeeUSD = 50000 * PRECISION_FACTOR_E18;

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).

vm06007 commented 11 months ago

this is probably most useless advise...

value already properly presented with taking in account precision factor, should the factor change then we only need to change the PRECISION_FACTOR_E18 value and all other values would follow without needing to modify each value on converting everywhere EAB to ECB (E18 to EXY) no changes intended here.