Potential loss of rewards if minting fails in claimPoints. To be honest not that likely to happen but submit this in case.
In claimPoints the amount of points a user can get is stored in the pendingPoints variable. The fucntion mints the pointsToClaim which is the pendingPoints.However it resets the pendingPoints here before minting
Although this was probably done to prevent reentrancy attacks, this might lead to a loss of rewards for users.
Loss of Points:
If _mint fails after userInfo.pendingPoints is set to zero, the user will lose their pending points without receiving the corresponding tokens.
This might lead to a loss of rewards for users.
Source code review
Making the order like this but maybe adding nonReentrant to protect from reentrancy
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.