Snowman Merkle Airdrop

First Flight #42
Beginner FriendlyFoundrySolidityNFT
100 EXP
View results
Submission Details
Impact: low
Likelihood: medium
Invalid

ETH vs WETH Split Logic (Ambiguity and UX Risk)

Description: The logic in buySnow() automatically selects WETH payment if msg.value is not exact.

Impact: Users may unintentionally fail the transaction if they send an incorrect ETH amount and haven't approved WETH, leading to frustration.

Proof of Concept:

buySnow(5); // sends ETH, but slightly miscalculates -> falls to WETH transfer -> fails

Recommended Mitigation: Use separate functions:

buySnowWithETH(uint256 amount) payable { ... }
buySnowWithWETH(uint256 amount) { ... }
Updates

Lead Judging Commences

yeahchibyke Lead Judge 3 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

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