Omniscia Mean Finance Audit
NFTPermissions Static Analysis Findings
NFTPermissions Static Analysis Findings
NFT-01S: Redundant Memory Declaration
| Type | Severity | Location |
|---|---|---|
| Gas Optimization | ![]() | NFTPermissions.sol:L89-L91 |
Description:
The NFTPermissions::permissionPermit function will inefficiently declare a local bool variable where the signature's validity is stored as it will be "consumed" in the if conditional that follows it.
Example:
src/NFTPermissions.sol
89bool _isSignatureValid =90 SignatureChecker.isValidSignatureNow(_owner, _hashTypedDataV4(PermissionHash.hash(_permissions, nextNonce[_owner]++, _deadline)), _signature);91if (!_isSignatureValid) revert InvalidSignature();Recommendation:
We advise the SignatureChecker::isValidSignatureNow function result to be directly utilized in the ensuing if statement, rendering the _isSignatureValid variable unnecessary and thus optimizing the code's gas cost.
Alleviation:
The redundant _isSignatureValid local declaration has been safely omitted, optimizing the gas cost of the function.
