A lack of a check could make it possible for the principal to graduateAndUpgrade student before the required 4 Week Period ends.
Part of the contract's key functionality is that students can only be upgraded after 4 weeks by the principal. However, there are no checks to ensure this, meaning upgrading of students is still possible before the lapse of the 4 weeks.
This breaks the functionality of the protocol and the principle of fairness as a malicious or compromised principle could upgrade some students before the 4-week period.
Manual Review / Foundry
Add the following checks to ensure the session has ended:
POC
`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.