Potentially malfunction of all onlyOwner functions if the ProxyFactory.sol
contract is upgrade
If there is a need to upgrade the protocol,specifically the contract ProxyFactory.sol
, this implementation will not be correct due to the use of the library "openzeppelin/access/Ownable.sol"
instead of the upgradeable version: openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol
.
A regular, non-upgradeable Ownbale library will make the deployer the default owner in the constructor in the ProxyFactory.sol
contract. In proxy-based upgradeability conteacts, no constructors can be used.
Therefore, if the team want to upgrade the protocol and consequently the ProxyFactory.sol
contract, there will be no owner when the contract is deployed as a proxy contract.
Only owner modifiers would be inaccessible
Manual Review
If there is a need to upgrade the protocol, use @openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol
instead of "openzeppelin/access/Ownable.sol"
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.