Description: makeMerkle.js is not in scope for the audit, but it's how we are generating the s_merkleRoot in our Deploy.s.sol and Deploy.s.sol is in the scope. Inputs in makeMerkle.js are not correct because usdc has 6 decimals not 18.
Proof of Concept:
Due to misconfiguration in makeMerkle.js file , the MerkleAirdrop:claim function will revert as for casting leaf we provide amount equal to 25 * 1e6 but in makeMerkle.js it is 25 * 1e18.
And merkleProof, i_merkleRootwe made to expect amount to be 25 * 1e18.
Proof of Code:
The user will not be able to claim his airdrop and deposited 100 usdc will be stuck in contract
forever.
Manual review.
I propose to refactor const amount = (25 * 1e18).toString() to const amount = (25 * 1e6).toString() in makeMerkle.js.
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.