The graduateAndUpgrade() function lacks validation to ensure upgrades only occur after the session has officially ended (block.timestamp >= sessionEnd). This allows Premature upgrades before all students complete their 4-week review cycles.
Checks only for zero-address and authorization.
No temporal validation of sessionEnd.
Distribute payments and upgrade without waiting 4 weeks.
Students graduate with incomplete reviews (only 1 week of evaluations).
POC
System can be upgraded prematurely before session completion, breaking protocol rules.
foundry Tests
Add time validation before proceding with the 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.