In the implementation, the GivingThanks::donate
function doesn't follow CEI(Check - Effect - Interact) pattern, allowing reentrancy attacks. Although the second charity.call
will fail due to balance is not enough, it's still a good practice to follow CEI pattern.
Users are enable to donote 0 eth and mint multiple NFTs by an reentrancy attack.
Follow CEI pattern
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.