The SnowmanAirdrop
contract transfers SNOW tokens from users to itself during the claim process but provides no mechanism to recover or utilize these tokens. When users claim their Snowman NFTs, their SNOW tokens are transferred to the airdrop contract via safeTransferFrom(receiver, address(this), amount)
but remain permanently locked since the contract lacks any withdrawal, rescue, or administrative functions. This creates an unintended token sink that effectively removes tokens from circulation without proper burning.
Additionally, the protocol documentation states that "Snow.sol is an ERC20 token that allows holders to claim Snowman NFTs through a staking mechanism in the SnowmanAirdrop contract. By staking Snow tokens, users receive Snowman NFTs proportional to their Snow token holdings." However, the implementation does not provide any actual staking mechanism - tokens are simply transferred to the contract and locked permanently without any staking rewards, unstaking functionality, or yield generation that would be expected from a proper staking system.
User calls claimSnowman()
with valid merkle proof and signature
Contract validates the claim and transfers user's SNOW tokens to itself: i_snow.safeTransferFrom(receiver, address(this), amount)
Contract mints NFT to user and marks claim as complete
SNOW tokens remain permanently locked in the contract with no recovery method
All claimed SNOW tokens are permanently locked and cannot be recovered
Option 1: Real burning
Option 2: Add extraction functions
Option 3: Implement proper staking mechanism
The first option (actual burning) is recommended if the intent is to permanently remove tokens from circulation. The second option provides administrative control and emergency recovery capabilities while maintaining the current token transfer mechanism. The third option would implement the actual staking mechanism as described in the documentation.
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.