LevelOne has graduateAndUpgrade(address _levelTwo, bytes memory). This function is missing in LevelTwo
LevelTwo has graduate() This function is missing in LevelOne
LevelOne has graduateAndUpgrade(address _levelTwo, bytes memory)
LevelTwo has graduate()
if those are supposedly interchangeable, this leads to:
Different function signatures
Different initialization patterns
if those are not supposedly interchangeable:
LevelOne has a function that is missing in LevelTwo
LevelTwo has a function that is missing in LevelOne
Upgrade process breaks
State transition fails
Contract becomes stuck
Potential for unauthorized upgrades
Function signature analysis
Align function signatures
Implement consistent upgrade logic
Add proper access controls
Add validation for upgrade process
Add comprehensive tests for upgrade process
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.