One of the roles of the protocol is the owner of KittyConnect, this role is given the power to assign a new owner of the contract but this task is impossible to accomplish for two reasons:
KittyConnect::i_kittyConnectOwner is declared as an immutable state variable. immutable state variables are initialized during deployment and cannot be changed after
Lack of logic to transfer the ownership of KittyConnect. The contract does not provide any method to assign ownership to a new account
Ownership of the contract cannot be transferred.
Manual review
Consider the following mitigations:
Do not declare the owner of KittyConnect as an immutable state variable
Consider implementing the Ownable library from OpenZeppelin to manage ownership of the contract
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.