The graduateAndUpgrade function in the LevelOne contract fails to update the bursary value after making payments to teachers and the principal. According to the protocol's invariant, "remaining 60% should reflect in the bursary after upgrade," but the current implementation does not reduce the bursary amount after payments are made.
The bursary value remains unchanged after payments, violating the protocol's invariant
After upgrade to LevelTwo, the bursary value will be incorrectly high, showing 100% of funds instead of the expected 60%
This creates an accounting discrepancy between the actual token balance and the recorded bursary value
Update the graduateAndUpgrade function to properly adjust the bursary
The bursary is not updated after wages have been paid in `graduateAndUpgrade()` function
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.