Ownership of the contract can easily be lost when making a mistake when transferring ownership.
The contract at path src/utils/Ownable.sol does not implement a 2-Step-Process for transferring ownership. So ownership of the contract can easily be lost when making a mistake when transferring ownership.
Since the privileged roles have critical function roles assigned to them. Assigning the ownership to a wrong user can be disastrous. So Consider using the Ownable2Step
contract from OZ (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable2Step.sol) instead.
The way it works is there is a transferOwnership
to transfer the ownership and acceptOwnership
to accept the ownership. Refer the above Ownable2Step.sol
for more details.
Ownership can be lost
Manual
Implement 2-Step-Process for transferring ownership.
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.