If the owner calls Ownable.transferOwnership() function to transfer the ownership to the new address directly, there is a risk that the ownership is transferred to an invalid address, thus causing the contract to be without an owner.
It’s possible that the onlyOwner role mistakenly transfers ownership to the wrong address, resulting in a loss of the onlyOwner role.
Once the ownership of the contract is lost it cannot be recovered.
None
Consider overriding the default transferOwnership() function to first nominate an address as the pendingOwner and implementing an acceptOwnership() function which is called by the pendingOwner to confirm the transfer.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.