hasClaimedSnowman
is set in claimSnowman
but is never being used
Users can call claimSnowman
multiple times, as long as they have a SNOW balance. Consider if it is intended to have multiple claims or not. Having the balance as part of the Merkle Tree suggests that a user should only claim once.
Likelihood:
When a user claims snowmen for a second time, while still having snow tokens, result in a succesful mint (as long as the proof succeeds which is another issue)
Reason 2
Impact:
Users can claim multiple times
The claims can be considered fair
as the user still needs to have SNOW that is burned
See below the steps on how to claim snowmen multiple time. If this is intended behaviour (as opposed to how most airdrops work), then see suggestion at the bottom of the submission.
A mitigation is as simple as adding an extra check if you want to user to only claim once. Otherwise consider the suggestion at the bottom to track the balance of the claimed tokens.
Alternatively, consider keeping a map of claimed tokens per address:
The claim function of the Snowman Airdrop contract doesn't check that a recipient has already claimed a Snowman. This poses no significant risk as is as farming period must have been long concluded before snapshot, creation of merkle script, and finally claiming.
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.