Description:
The MESSAGE_TYPEHASH constant at line 49 contains a typo: "addres" instead of "address". This causes the computed EIP-712 hash to differ from what any standard wallet or frontend would generate.
Impact:
Standard EIP-712 wallet implementations will generate different hashes
Signatures created by legitimate wallets will fail verification
The protocol may be completely unusable without a matching frontend bugfix
Users cannot claim their airdrops using standard signing tools
Likelihood:
Affects 100% of signature verification attempts
Any standard EIP-712 implementation will produce wrong hash
Guaranteed mismatch between frontend and contract
Impact:
All legitimate claim attempts using standard tools will fail
Protocol is effectively unusable without custom frontend
Users lose trust in the protocol
Steps to reproduce:
Hash the correct EIP-712 type string with "address"
Hash the buggy type string with "addres" (missing 's')
Compare the two hashes - they are different
Any signature created with correct string fails verification
Run command: forge test --match-test testM01_TypeHashTypo -vvv
Mitigation explanation:
Fix the typo: change "addres" to "address"
This is a single character fix ('s' was missing)
After fix, contract typehash will match standard EIP-712 implementations
Signatures from MetaMask, Ledger, and other wallets will work correctly
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.