Omniscia AllianceBlock Audit
AlwaysSameProviderSelector Code Style Findings
AlwaysSameProviderSelector Code Style Findings
ASP-01C: Generic Typographic Mistake
Type | Severity | Location |
---|---|---|
Code Style | ![]() | AlwaysSameProviderSelector.sol:L8 |
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:
contracts/AlwaysSameProviderSelector.sol
8address private currentProvider;
Recommendation:
We advise this to be done so to enhance the legibility of the codebase.
Alleviation (54fd570de24631ca65a7cea022aebe43225a08c7):
An underscore (_
) prefix has been properly introduced to the referenced variable addressing this exhibit.
ASP-02C: Redundant Code Structure
Type | Severity | Location |
---|---|---|
Gas Optimization | ![]() | AlwaysSameProviderSelector.sol:L46-L49 |
Description:
The AlwaysSameProviderSelector::isValidProvider
function contains an if
clause and two separate return
statements which is inefficient.
Example:
contracts/AlwaysSameProviderSelector.sol
45function isValidProvider(address provider) external view override returns (bool) {46 if (currentProvider == provider) {47 return true;48 }49 return false;50}
Recommendation:
We advise the result of currentProvider == provider
to be returned directly, optimizing the code's gas cost.
Alleviation (54fd570de24631ca65a7cea022aebe43225a08c7):
The redundant code structure has been optimized as advised, yielding the result of the conditional directly.