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.