Omniscia Native Audit
CallbackValidation Code Style Findings
CallbackValidation Code Style Findings
CVN-01C: Inefficient Named Return Variable
Type | Severity | Location |
---|---|---|
Gas Optimization | CallbackValidation.sol:L16, L18 |
Description:
The verifyCallback
function contains a named return argument labelled verifiedPool
that is assigned to at the end of the function.
Example:
13function verifyCallback(14 address factory,15 address pool16) internal view returns (IPool verifiedPool) {17 require (INativeFactory(factory).verifyPool(pool));18 verifiedPool = IPool(pool);19}
Recommendation:
This paradigm is ill-advised as the function will reserve an in-memory space for the verifiedPool
value which remains unused in the function. We advise it to be omitted and the IPool(pool)
statement to be yielded directly via a return
statement by the function.
Alleviation:
The verifierPool
named return argument has been omitted with the function yielding the IPool(pool)
value directly via a return
statement as advised.
CVN-02C: Inexistent Error Message
Type | Severity | Location |
---|---|---|
Code Style | CallbackValidation.sol:L17 |
Description:
The linked require
check has no error message explicitly defined.
Example:
17require (INativeFactory(factory).verifyPool(pool));
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 has been adequately introduced to the referenced require
check.