'refund' function can be used to perform a reentrancy attack
In the 'refund' function we try to send ether to the msg.sender using 'sendValue' function from OZ (which uses the 'call' method to send ether and is also a recommended method but only if it's used with a reentrancy guard/modifier.
Somebody can drain the ETH balance of the smart contract
Manual review
Move the 'players[playerIndex] = address(0);' line above the 'payable(msg.sender).sendValue(entranceFee);' or use Reentrancy Guard by OZ
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.