Omniscia Nevermined Audit
DIDFactory Code Style Findings
DIDFactory Code Style Findings
DID-01C: Redundant Variable
Type | Severity | Location |
---|---|---|
Gas Optimization | Informational | DIDFactory.sol:L480, L489 |
Description:
The _previousOwner
variable is redundantly kept as the require
check that precedes it guarantees that _sender
will hold an equivalent value.
Example:
contracts/registry/DIDFactory.sol
476function _transferDIDOwnership(address _sender, bytes32 _did, address _newOwner) internal477{478 require(isDIDOwner(_sender, _did), 'Only DID Owner allowed');479
480 address _previousOwner = didRegisterList.didRegisters[_did].owner;481 didRegisterList.updateDIDOwner(_did, _newOwner);482
483 _wasAssociatedWith(484 keccak256(abi.encodePacked(_did, _sender, 'transferDID', _newOwner, block.number)),485 _did, _newOwner, keccak256('transferDID'), 'transferDID');486 487 emit DIDOwnershipTransferred(488 _did,489 _previousOwner,490 _newOwner491 );492}
Recommendation:
We advise the _sender
variable to be utilized instead as it already exists in the function.
Alleviation:
The redundant variable was omitted and the codebase optimized according to our recommendation.