Hashing msg.sender
, block.timestamp
and block.prevrandao
together creates a pedictable find number. A prdicatable number is not good random number. Malicious users can manipulate these values or know them ahead of time to choose the winner of the RapBattle
This means user could wait for when the number processed favours them to call goOnStageOrBattle()
Validators can know the variables used to there advantage,
Users can mine/manipulate their msg.sender
value to result in their address being used to generate the winner
Users can revert their goOnStageOrBattle
transaction if the number doesn't favor them.
Any user can know the random number ahead of time.
consider using a cryptographically provable random number generator such as Chainlink VRF
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.