Snowman Merkle Airdrop

AI First Flight #10
Beginner FriendlyFoundrySolidityNFT
EXP
View results
Submission Details
Impact: medium
Likelihood: high
Invalid

earnSnow Mints 1 Wei Instead of 1 Full Token

Root + Impact

Description

earnSnow is intended to reward users with 1 full Snow token per successful claim. Since Snow is an ERC20, a full token corresponds to 1 * 10^decimals() (i.e. 1e18).

The function mints a raw value of 1, which represents 1 wei of the token, not 1 full token. This results in rewards that are effectively negligible and not aligned with the intended token economics.

function earnSnow() external canFarmSnow {
...
_mint(msg.sender, 1); // @> mints 1 wei, not 1 token
s_earnTimer = block.timestamp;
}

Risk

Likelihood:

  • Occurs on every successful call to earnSnow

Independent of user behavior or timing

Impact:

  • Users receive near-zero rewards instead of meaningful incentives

Farming mechanism becomes economically ineffective

Proof of Concept

Recommended Mitigation

Mint rewards using the token’s decimal precision (which is 18 decimal).

function earnSnow() external canFarmSnow {
...
- _mint(msg.sender, 1);
+ _mint(msg.sender, 1 * PRECISION);
}
Updates

Lead Judging Commences

ai-first-flight-judge Lead Judge about 13 hours ago
Submission Judgement Published
Invalidated
Reason: Incorrect statement

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.

Give us feedback!