Omniscia Tangible Audit
UsdUsdOracle Code Style Findings
UsdUsdOracle Code Style Findings
UUO-01C: Generic Typographic Mistake
Type | Severity | Location |
---|---|---|
Code Style | UsdUsdOracle.sol:L11 |
Description:
The referenced line contains a typographical mistake (i.e. private
variable without an underscore prefix) or generic documentational error (i.e. copy-paste) that should be corrected.
Example:
11address private pendingOwner;
Recommendation:
We advise this to be done so to enhance the legibility of the codebase.
Alleviation (2135afa89ec939270a06c8788220323822605345):
The underscore prefix has been properly introduced to the referenced private
variable, addressing this exhibit.
UUO-02C: Inefficient Usage of Storage Variable
Type | Severity | Location |
---|---|---|
Gas Optimization | UsdUsdOracle.sol:L27 |
Description:
The referenced statement makes use of the owner
variable from storage even though it has been validated as part of the Owned::onlyOwner
modifier.
Example:
24function transferOwnership(address _to) external onlyOwner {25 pendingOwner = _to;26
27 emit OwnershipTransferRequested(owner, _to);28}
Recommendation:
We advise the code to use the msg.sender
, optimizing the gas cost of the statement.
Alleviation (2135afa89ec939270a06c8788220323822605345):
The referenced event emission has been optimized, using the msg.sender
instead of the owner
variable and thus greatly optimizing the code's gas cost.
UUO-03C: Repetitive Value Literal
Type | Severity | Location |
---|---|---|
Code Style | UsdUsdOracle.sol:L124, L161, L176, L187, L195, L216 |
Description:
The linked value literal is repeated across the codebase multiple times.
Example:
124return 1;
Recommendation:
We advise it to be set to a constant
variable instead optimizing the legibility of the codebase.
Alleviation (2135afa89e):
All instances of 1
have been adequately replaced by one of the newly introduced contract-level constant
declarations (ONE_INT256
, ONE_UINT80
, ONE_UINT256
). However, the ZERO_UINT8
variable is incorrectly assigned to the value of 1
thus causing the contract to misbehave as it would yield incorrect price measurements at all times.
Alleviation (c51ba845fd):
The ZERO_UINT8
constant variable has been properly set to 0
per our recommendation, rendering this exhibit fully alleviated.