claim() enforces msg.value != FEE as a strict equality. A claimant who attaches even slightly more than FEE (e.g. due to UI rounding or a higher-value attempt) is reverted, and no refund path exists for excess ETH.
(src/MerkleAirdrop.sol:30-33)
Likelihood: Low
It only affects claimants who do not send exactly FEE. With a known constant fee a correct integration sends the exact amount, so this mostly hits hand-crafted or imprecise transactions.
Impact: Low
An overpaying claimant's transaction reverts (wasting gas) and they cannot claim until they retry with the exact value. There is no fund loss beyond gas, but it is a usability/availability papercut, and combined with eventual rejection it can block legitimate users who round up.
Sending FEE + 1 wei reverts instead of accepting the claim and refunding the surplus.
Accept at least FEE and refund the remainder, or clearly document that an exact fee is required.
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.