The claimSnowman() function requires pre-approved token transfers without offering alternative authorization methods, creating potential UX failures.
Users cannot claim Snowman NFTs on behalf of others unless the Snow tokens were pre-approved
The transaction will always revert if the claimant forgot to call approve() first
No fallback mechanism exists (like EIP-2612 permit())
Likelihood: HIGH
When someone else tries to claim a Snowman for a user, it will always revert if the proper approval wasn't given before.
Impact:
Will require the user to sign on-chain TX anyway to enable claiming.
Contracts or helpers cannot claim for users without pre-set approvals
Implement EIP-2612 permit() support alongside the existing flow, allowing seamless claims.
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.