Users calling joinEvent multiple times.
Inaccurate participant counts and totalParticipantShares, though not directly affecting payouts since totalParticipantShares is unused.
src/briVault.sol
Normally, users should join the event only once to select their team, ensuring accurate statistics and preventing manipulation.
The issue allows users to join multiple times, incrementing participant counts and adding to totalParticipantShares each time, leading to inflated statistics. This can skew metrics and potentially allow gaming of the system.
In this test, user1 joins twice, doubling the participant count incorrectly.
Add a check to prevent multiple joins using a mapping.
totalWinnerShares Double Counted if User Joined Multiple Times
Users joining multiple times before winner is set.
Inflated totalWinnerShares, leading to reduced withdrawal amounts for all winners.
src/briVault.sol
Normally, each participant should be counted once in calculating winner shares to ensure fair proportional payouts.
The problem is that usersAddress can have duplicates if users join multiple times, causing shares to be summed multiple times in _getWinnerShares, inflating totalWinnerShares and reducing individual payouts.
User1 joins twice, leading to double-counting of shares when winner is set.
Ensure unique participants in usersAddress.
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.