Omniscia Nevermined Audit

DIDFactory Code Style Findings

DIDFactory Code Style Findings

DID-01C: Redundant Variable

TypeSeverityLocation
Gas OptimizationInformationalDIDFactory.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) internal
477{
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 _newOwner
491 );
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.