Omniscia Tangible Audit
RentManagerDeployer Code Style Findings
RentManagerDeployer Code Style Findings
RMD-01C: Redundant Interface Member Instantiation
Type | Severity | Location |
---|---|---|
Gas Optimization | RentManagerDeployer.sol:L56 |
Description:
The RentManagerDeployer::deployRentManager
function will redundantly cast the address(0)
value to a RentManager
variable before accessing its RentManager::initialize
selector.
Example:
contracts/RentManagerDeployer.sol
56abi.encodeWithSelector(RentManager(address(0)).initialize.selector, tnft, factory())
Recommendation:
We advise the code to instead access the RentManager::initialize
selector **directly from the contract declaration like so: RentManager.initialize.selector
.
Alleviation (2ad448279d9e8e4b6edd94bcd2eb22129b6f7357):
The initialize
selector as derived directly from the RentManager
implementation is correctly utilized in place of the previous statement in the referenced code block, optimizing its execution cost.