When you have entered as a person who likes Ram, it is possible to call the increaseValuesOfParticipants
function on the ChoosingRAM
contract with yourself as the challenger. This means that whatever the outcome, you are the NFT who levels up. An NFT owner therefore can break the protocol by ensuring that they are the selected Ram at any point they want.
The protocol is in effect ruined at this point because once an NFT holder has increased themselves to isSatyavaakyah
status, they need to do a single call to ensure that they are the selected Ram and win. This could be done by front-running the selectRamIfNotSelected function when called by the organiser and ensuring that when the competition ends, the NFT holder will be the selected Ram.
foundry + manual review.
The organiser could use a hidden mempool provider like Flashbots to ensure that NFT holders couldn't see the transaction in the mempool, and also put in a check in the increaseValuesOfParticipants
function in the ChoosingRam
contract to make sure that you can't compete against yourself.
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.