The contract contains a critical typographical error in the EIP-712 struct definition used for signature verification, causing all claim attempts to fail.
The MESSAGE_TYPEHASH
constant contains a typo where "address" is misspelled as "addres". This hash is fundamental to EIP-712 signature verification. When users sign messages off-chain, they would use the correct spelling, but the contract uses the incorrect one. This mismatch in hashes means all signature verifications will fail, rendering the airdrop system completely non-functional.
EIP-712 signature verification requires that the type hash used for generating the signature off-chain exactly matches the one used for verification on-chain. The typographical error results in different hashes, causing the _isValidSignature()
function to always fail.
A user obtains a correctly formatted signature off-chain with proper spelling: "SnowmanClaim(address receiver, uint256 amount)"
The user submits this signature to the claimSnowman()
function
The contract attempts to verify this signature using its incorrectly spelled type hash: "SnowmanClaim(addres receiver, uint256 amount)"
The verification fails because the hashes do not match, even with a legitimately signed message
The transaction reverts with SA__InvalidSignature()
error
No user can successfully claim their Snowman NFTs
Impact: High - The contract is entirely non-functional; no legitimate claims can be processed
Likelihood: High - This issue will affect 100% of claim attempts
src/SnowmanAirdrop.sol
Correct the typographical error in the MESSAGE_TYPEHASH
constant:
This correction ensures that the hash used for verification on-chain matches the one used for signature generation off-chain, allowing legitimate claim attempts to succeed.
A typo in the `MESSAGE_TYPEHASH` variable of the `SnowmanAirdrop` contract will prevent signature verification claims. Used `addres` instead of `address`
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.