In ChoosingRam contract, the increaseValuesOfParticipants function allows users to increase their values(or characteristics) and become Ram for the event and never update the values again after 12th October 2024.
Follow the code, when a ramNFT have all 5 last characteristics is set to true, its owner address will become Ram and can kill Ravana then can withdraw reward. However, although the selectedRam value is set in this function, the value of isRamSelected isn't set to true.
When time come, user can not call killRavana function in Dussehra contract because the RamIsSelected modifier will revert. User will lost his/her reward. Plus the RamIsNotSelected modifier in ChoosingRam contract still allow the organiser to call selectRamIfNotSelected to select another Ram.
Manual review
Foundry
Place this test in Dussehra.t.sol
Test pass. The selected Ram can not kill Ranvana and the organiser select another Ram.
Add isRamSelected = true; under selectedRam setting.
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.