In uint256 randomValue = uint256(keccak256(abi.encodePacked(block.timestamp, msg.sender))) % 100; looks like this protocol use timestamp & msg.sender to keccak a hash, then make it a range between 0 to 99.
It actually not really random, miner can calculate the outcome, then decide to mine the block or not.
They will mine the block until the rarity reach the biggest reward, so that they can easily make profit.
slither
Do not use on-chain data as random number, use protocol such as chainLink.
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.