The mintSnowman function has no upper limit on the amount parameter, allowing extremely large mint requests that exceed block gas limits and cause transaction failures.
The mintSnowman function should safely mint NFTs without risk of transaction failure due to gas limits. Large minting requests should be handled gracefully.
The function uses an unbounded loop that iterates amount times. If amount is very large, the transaction will exceed block gas limits and revert, potentially blocking legitimate large claims.
Likelihood:MEDIUM
Reason 1: Users with large Snow token holdings will trigger large mint amounts
Reason 2: Whales or accumulated holdings over time lead to large claims
Impact:MEDIUM
Impact 1:Users with significant holdings cannot claim their NFTs
Impact 2:Potential permanent lockout for high-value participants
This test shows that when a whale with 100,000 tokens attempts to claim their NFTs, the transaction runs out of gas due to the unbounded loop. The user is left unable to claim despite being a legitimate airdrop recipient with verified Merkle proof.
Add a maximum mint limit per transaction. Users with allocations exceeding this limit can claim in multiple transactions. This ensures all users can claim their NFTs regardless of allocation size.
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.