OwnableUpgradeable
and Ownable
expose a function renounceOwnership()
which can be used to surrender control of contracts with owners.
This may result in the removal of ownership for LiquidationPoolManager
and SmartVaultManagerV5
; ultimately breaking the protocol.
The LiquidationPoolManager
and SmartVaultManagerV5
contracts inherit from Ownable
and OwnableUpgradeable
respectively, and hence inherit the renounceOwnership()
function.
The owner of these contracts can accidentally (or intentionally) call renounceOwnership()
which will transfer the ownership to address(0)
. This will break all functionality of the protocol that uitlises the onlyOwner()
modifier; below is a list of those functions:
LiquidationPoolManager::setPoolFeePercentage()
SmartVaultManagerV5::setMintFeeRate
SmartVaultManagerV5::setBurnFeeRate
SmartVaultManagerV5::setSwapFeeRate
SmartVaultManagerV5::setWethAddress
SmartVaultManagerV5::setSwapRouter2
SmartVaultManagerV5::setNFTMetadataGenerator
SmartVaultManagerV5::setSmartVaultDeployer
SmartVaultManagerV5::setProtocolAddress
SmartVaultManagerV5::setLiquidatorAddress
Manual Review
Disable renounceOwnership()
if this feature is not required
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.