Description: It does not validate if the token transfer was successful, it would not notice if the token transfer failed and the contract could be deployed without USDC balance that will be used to pay the airdrop to the users.
Impact: Users would consume gas to receive the airdrop.
Proof of Concept:
This test was added in MerkleAirdrop.t.test
And use this mock token for the test, and is added in MerkleAirdrop.t.test
Recommended Mitigation: It's necessary to validate the transfer of tokens to prevent a contract deployment without a balance. Either by validating the transfer, which would be the correct approach, or by checking the contract once deployed and if its balance is zero, transferring the tokens manually.
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.