FeeCollector.sol::claimRewards() ->
code snippet for FeeCollector.sol::_calculatePendingRewards -
for first call to claimRewards(); let's say totalDistributed = 100, userVotingPower = 100, totalVotingPower = 100.
share_1 = 100*100/100 = 100, userRewards[user] = 100.
for second call to claimRewards(); let's say totalDistributed = 200, userVotingPower = 150, totalVotingPower = 400.
share_2 = 200*150/400 = 75
since; share_2 (latest share) < share_1 (old share), the else condition will be executed which means user will get 0
reward. even though user is eligible to get his reward.
whenever someone will call claimRewards() -> _calculatePendingRewards(), the user will not be able to get the reward due to revertion (if above scenario arises).
Manual
Reconsider architecture
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.