Omniscia Astrolab DAO Audit
AsMaths Code Style Findings
AsMaths Code Style Findings
AMS-01C: Generic Typographic Mistakes
Type | Severity | Location |
---|---|---|
Code Style | ![]() | AsMaths.sol:L22, L23, L24 |
Description:
The referenced lines contain typographical mistakes (i.e. private
variable without an underscore prefix) or generic documentational errors (i.e. copy-paste) that should be corrected.
Example:
22uint256 internal constant BP_BASIS = 10_000; // 50% == 5_000 == 5e3
Recommendation:
We advise them to be corrected enhancing the legibility of the codebase.
Alleviation (59b75fbee1d8f3dee807c928f18be41c58b904e1):
The referenced variables remain without an underscore prefix despite their internal
visibility specification, rendering this exhibit acknowledged.
AMS-02C: Ineffectual Usage of Safe Arithmetics
Type | Severity | Location |
---|---|---|
Language Specific | ![]() | AsMaths.sol:L149 |
Description:
The linked mathematical operation is guaranteed to be performed safely by surrounding conditionals evaluated in either require
checks or if-else
constructs.
Example:
149return a > b ? a - b : b - a;
Recommendation:
Given that safe arithmetics are toggled on by default in pragma
versions of 0.8.X
, we advise the linked statement to be wrapped in an unchecked
code block thereby optimizing its execution cost.
Alleviation (cf5194da53ebf026da6c8efa74daada96719cc71):
The referenced subtractions have been wrapped in an unchecked
code block, optimizing their gas cost.
AMS-03C: Inexistent Error Messages
Type | Severity | Location |
---|---|---|
Code Style | ![]() | AsMaths.sol:L514, L862 |
Description:
The linked require
checks have no error messages explicitly defined.
Example:
514require(denominator > prod1);
Recommendation:
We advise each to be set so to increase the legibility of the codebase and aid in validating the require
checks' conditions.
Alleviation (59b75fbee1d8f3dee807c928f18be41c58b904e1):
While the former of the two require
checks is accompanied by descriptive in-line documentation, the latter is not thus rendering this exhibit acknowledged.
AMS-04C: Redundant Parenthesis Statements
Type | Severity | Location |
---|---|---|
Code Style | ![]() | AsMaths.sol:L129, L160, L257, L266, L270, L274, L278, L282 |
Description:
The referenced statements are redundantly wrapped in parenthesis' (()
).
Example:
129return (diff(a, b) <= val);
Recommendation:
We advise them to be safely omitted, increasing the legibility of the codebase.
Alleviation (cf5194da53ebf026da6c8efa74daada96719cc71):
The redundant parenthesis in the referenced statements have been safely omitted.