Omniscia Native Audit
PoolFactory Code Style Findings
PoolFactory Code Style Findings
PFY-01C: Deprecated Conditional Revert Pattern
| Type | Severity | Location |
|---|---|---|
| Code Style | ![]() | PoolFactory.sol:L32-L34, L40-L42 |
Description:
The referenced statements implement an if-revert pattern that is ill-advised.
Example:
31function addPoolCreator(address _poolcreator) external onlyOwner whenNotPaused {32 if (isPoolCreator[_poolcreator]) {33 revert("PoolCreator is already added");34 }35 isPoolCreator[_poolcreator] = true;36 emit AddPoolCreator(_poolcreator);37}38
39function removePoolCreator(address _poolcreator) external onlyOwner whenNotPaused {40 if (!isPoolCreator[_poolcreator]) {41 revert("PoolCreator has not added");42 }43 isPoolCreator[_poolcreator] = false;44 emit RemovePoolCreator(_poolcreator);45}Recommendation:
We advise either specialized error declarations to be made on the contract that the revert statements yield or them to be replaced by require checks either of which we consider an adequate remediation to this exhibit.
Alleviation:
Both if-revert patterns were replaced by require checks as advised.
PFY-02C: Generic Typographic Mistakes
| Type | Severity | Location |
|---|---|---|
| Code Style | ![]() | PoolFactory.sol:L27, L31, L39 |
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:
27function checkPoolCreator(address _poolcreator) public view returns (bool) {Recommendation:
We advise them to be corrected enhancing the legibility of the codebase.
Alleviation:
The referenced typographic mistakes remain in the codebase. To note, in this particular case they referred to the poolcreator variable not conforming to the camelCase format.
PFY-03C: Inexistent Error Message
| Type | Severity | Location |
|---|---|---|
| Code Style | ![]() | PoolFactory.sol:L93 |
Description:
The linked require check has no error message explicitly defined.
Example:
93require(registry == address(0));Recommendation:
We advise one to be set so to increase the legibility of the codebase and aid in validating the require check's condition.
Alleviation:
An error message was properly introduced for the referenced require check.
PFY-04C: Redundant Parenthesis Statements
| Type | Severity | Location |
|---|---|---|
| Code Style | ![]() | PoolFactory.sol:L98, L102 |
Description:
The referenced statements are wrapped in parenthesis (()) redundantly as they do not affect the order of operations.
Example:
97function getPool(address treasuryAddress) public view override returns (address) {98 return (treasuryToPool[treasuryAddress]);99}Recommendation:
We advise the parenthesis to be safely omitted, optimizing the legibility of the codebase.
Alleviation:
The redundant parenthesis have been removed from all referenced statements.
