The _owner
address, which controls critical functionality (mint
and burn
), is immutable after deployment. This rigidity can cause operational issues if the _owner
:
Loses access to their private key.
Wishes to delegate control to another entity.
Needs to accommodate organizational changes or upgrades.
The contract functionality itself remains secure and functional, however, operational flexibility is hindered, making this a bug under best practices for contract governace.
Manual Review
Implement a transferOwnership
function as explained earlier:
function transferOwnership(address newOwner) external onlyOwner { require(newOwner != address(0), "WToken: new owner cannot be the zero address"); _owner = newOwner; }
This issue introduces operational risks due to the rigidity of ownership management.
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.