In the requirements we have a specific invariants that the protocol must complies. However we don't have any checks related with these requirements which can lead to upgrade the protocole with wrong state.
The protocol can be updated even if the requirements to be upgradeable are not satisfied.
Manual Review
Add check for every single point of the requirements
Students must have gotten all reviews before system upgrade. System upgrade should not occur if any student has not gotten 4 reviews (one for each week)
Any student who doesn't meet the cutOffScore should not be upgraded
System upgrade cannot take place unless school's sessionEnd has reached
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.