Reentrancy can occur in the PuppyRaffle::refund function
External calling happens without following the Check Effect Interaction pattern.
In this way, a raffle participant can call the refund function, and then call it back in its fallbakc function until all funds are drained.
Contract funds can be completely drained
Foundry
The CEI pattern should always be followed when making external calls.
reentrancy in refund() function
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.