The s_merkleRoot
value is incorrect due to the wrong decimal value passed in makeMerkle.js
helper, resulting in users being unable to claim their rewards.
The calculation in makeMerkle.js
incorrectly uses the decimal value for USDC as 18 instead of the correct value of 6. Consequently, an incorrect merkle root is produced and used in the Airdrop process.
The proof-of-concept is provided below:
With the incorrect merkle root value, and the corresponding incorrect proof generated by makeMerkle.js
, all users will be unable to claim rewards through MerkleAirdrop::claim
, since the verification of merkle tree will not pass.
Manual Review
Update the merkle root to correct value and replace the s_merkleRoot
value.
Update the USDC decimal value to 6.
Re-generate the merkle root to 0x3b2e22da63ae414086bec9c9da6b685f790c6fab200c7918f2879f08793d77bd
Update the s_merkleRoot
to correct value
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.