The distributePoints()
function is called indirectly through the checkDistribution
modifier on various functions, including setPointsPerEpoch
and claimPoints
. This function updates the pointsPerToken
and totalPoints
based on the amount of time that has passed since the last distribution.
Manipulation of pointsPerToken
: The pointsPerToken
variable is updated based on the duration since the last distribution and the total staked tokens. If a malicious actor could manipulate this function's behavior, they could potentially issue excessive points to themselves or others, leading to unauthorized rewards.
Control Over Point Distribution: Since distributePoints()
can be triggered by other functions and updates global state, an attacker might exploit this function if they can manipulate the timing or call it inappropriately.
If an attacker can manipulate the point distribution
OR
Change the visibility of the distributePoints()
function from public
to internal
or use another access control mechanism to ensure it can only be called under appropriate conditions, such as through an authorized function or by specific roles.
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.