The graduateAndUpgrade
function lacks logic to prevent students with low scores from being upgraded, breaking the contract's intended invariant:
"Any student who doesn't meet the
cutOffScore
should not be upgraded."
The current implementation does not check if a student’s score meets the cutOffScore
before allowing graduation. This means students with low or even zero scores can still graduate, violating performance-based progression rules.
Students with insufficient scores can graduate, which is unfair and undermines the scoring system.
Manual review
Add a check to ensure each student meets the minimum required score before proceeding:
All students are graduated when the graduation function is called as the cut-off criteria is not applied.
All students are graduated when the graduation function is called as the cut-off criteria is not applied.
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.