Claimed event should be announced after the airdrop transfer has succeeded.
It is good practice to emit the claimed event after the transfer succeeded:
Bad practice:
function claim(address account, uint256 amount, bytes32[] calldata merkleProof) external payable {
//..
emit Claimed(account, amount);
i_airdropToken.safeTransfer(account, amount);
}
Nothing really
Manual Review
Use the Good Practice of emitting events after it actually happened.
function claim(address account, uint256 amount, bytes32[] calldata merkleProof) external payable {
//..
i_airdropToken.safeTransfer(account, amount);
emit Claimed(account, amount);
}
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.