Dussehra:enterPeopleWhoLikeRam()
applies proper access control by reverting if an address tries to enter the competition multiple times.
This is crucial because participants are pushed into the array peopleLikeRam
whose length is later used to compute the total amount of collected fees:
After validating the caller, enterPeopleWhoLikeRam()
will proceed to mint a RamNFT for him by calling RamNFT:mintRamNFT()
.
However, RamNFT:mintRamNFT()
is callable by anyone and allows to specify an arbitrary to
address which will receive the NFT:
Users can participate without having to pay the entrance fee and with multiple NFTs, giving them more change to win and claim the 50% fee pot.
Add the following test to test/Dussehra.t.sol
:
Only allow the Dussehra
contract to call RamNFT:mintRam()
, for example the contract can be modified like this::
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.