claimSnowman mints one Snowman per Snow token by calling mintSnowman(receiver, amount), which loops amount times.
The loop is unbounded and proportional to the staked balance, so a sufficiently large balance makes the transaction exceed the block gas limit and always revert.
Likelihood:
Occurs for any recipient whose Snow balance is large enough that amount iterations exceed the block gas limit (each _safeMint writes storage + may call onERC721Received).
Gas cost grows linearly with the staked amount, so large legitimate holders are affected during normal claims.
Impact:
The claim transaction reverts, so the affected user can never receive their Snowman NFTs (denial of service).
The more eligible a user is (the more Snow they hold), the more likely their claim is bricked.
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.