Function LevelOne::graduateAndUpgrade does not check the requirements mentioned in the contract invariants.
The contract invarialts say:
System upgrade cannot take place unless school's
sessionEndhas reachedSystem upgrade should not occur if any student has not gotten 4 reviews (one for each week)
However, these requirements are not checked on the contract upgrade in function LevelOne::graduateAndUpgrade.
Contract invariants are broken.
Manual review
Check the requirements from the contract invariants.
All students are graduated when the graduation function is called as the cut-off criteria is not applied.
`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.