The system currently permits a contract upgrade from LevelOne
to LevelTwo
even if the sessionEnd
has not been reached, which violates the intended design rule that upgrades should only occur after the session is complete.
According to the system specification, upgrades should only be allowed after the session has ended. However, in the current implementation, there is no guard or check in place to prevent upgrades during an active session. This allows a principal to prematurely upgrade the system, potentially bypassing session-related constraints or logic.
Add a check in the graduateAndUpgrade
function
`graduateAndUpgrade()` can be called successfully even when the school session has not ended
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.