Challenger can become the ram for the event by guessing the random number used in Choosing::increaseValuesOfParticipants
function
Using block.number and block.timestamp as a source of randomness is a bad practice, as the outcome can be manipulated by calling contracts. In this case the Choosing::increaseValuesOfParticipants
function can be called by a challenger who has precomputed the random number to know if he wins or not before calling the function and thereby ensures he becomes Ram for the event
A challenger can unfairly become the ram for the event
Manual Review
it is recommended that the protocol uses an external sources of randomness via oracles like Chainlink VRF. This would make it more difficult for an attacker to guess the value and precompute multiple block.number.
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.