It's possible to not select ram for the event which makes withdrawing funds from the Dussehra
contract impossible.
That's possible because
the ChoosingRam::increaseValuesOfParticipants
function does not set to true
the state variable ChoosingRam::isRamSelected
when Ram NFT is maxed.
The problem is that the Dussehra::killRavana
function check if the value of ChoosingRam::isRamSelected
is true. And if it remains false
when maxing NFT and organiser does not select random NFT (which he/she shouldn't if there is maxed NFT), then it's imposible to execute the logic in Dussehra::killRavana
which sends 50 % of the deposits to the organiser. It also makes it impossible for anyone to call Dussehra::withdraw
since there is no winner.
Even if the above problem was fixed, if noone maxes Ram NFT and the organiser does not call the method ChoosingRam::selectRamIfNotSelected
in the time range Oct 12 2024 00:00:00 - Oct 13 2024 00:00:00 as he/she is expected to, then the same impact is achieved.
Organiser cannot withdraw his funds, nor the selected ram the reward.
Manual Review
Add the following test case to Dussehra.t.sol
:
(Optionally) Also you could consider either removing the revert which triggers for data after 13th of October inDussehra::selectRamIfNotSelected
in case organiser forgets to call the method in the necessary time period or add some emergency function which could fix that case.
The organizer is trusted and he/she will call the `selectRamIfNotSelected`.
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.