The graduateAndUpgrade function allows system upgrades without verifying the school session has officially ended, directly contradicting protocol specifications. This violates the core requirement that:
"System upgrade cannot take place unless school's sessionEnd has reached"
"At the end of the school session (4 weeks), the system is upgraded to a new one"
1) Missing Temporal Validation:
No check that block.timestamp >= sessionEnd before upgrade
Allows premature system upgrades during active session
2) Protocol Specification Violations:
Contradicts documentation stating upgrades must wait for session completion
1) Financial Risks:
Premature fund distribution before session completion
2) Protocol Integrity:
Students could be upgraded without completing requirements
System state transitions occur outside designated timeframe
Manual Review
Add Temporal Validation:
`inSession` not updated after during upgrade
`inSession` not updated after during upgrade
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.