A reentrancy attack could drain the contract's asset.
Function claimAllRewards() and claimSingleReward() do not follow Check-Effect-Interaction (CEI) pattern and do not guard against reentrancy attack.
A reentrancy attack may occur by providing a fallback function that re-executes the function call continuously until the contract runs out of assets. The reentrancy attack will be triggered by a low-level call on line 86 and 97.
The contract loses native assets (Ether).
Manual review.
Consider adding a reentrancy attack mitigation strategy such as OpenZeppelin's reentrancyGuard.
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.