The current implementation in main.js only handles the staking event and increases user points. It fails to account for unstaking events, which should result in a reduction of user points.
The main.js file only listens for and processes the STAKED
event. There is no mechanism to handle unstaking events and reduce the user's points accordingly.
This leads to an inaccurate representation of user stakes in the points system. User can stake and unstake multiple time. As unstaking don't reduce points, so user points gonna increase everytime he stakes.
User stakes 1 ETH, receives 1000 points.
User unstakes 0.5 ETH.
User's points remain at 1000 instead of decreasing to 500.
Inaccurate Point Representation: Users who unstake will have inflated point totals that don't reflect their current stake.
Unfair Advantage: Users could unstake their ETH while retaining the points, potentially gaining much more tokens in airdrop than legit users
Project Integrity: The discrepancy between actual stakes and point totals compromises the integrity of the entire staking reward system and project.
Manual Review
Implement event listner on unstaking event which will reduce the amount
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.