The rewardThreshold
in the LSTRewardsSplitterController
contract is intended to prevent frequent or minimal reward splitting. However, if not correctly enforced, it can lead to unintended behaviors or exploitations.
In LSTRewardsSplitterController.sol
, the checkUpkeep
function determines if performUpkeep
should be called based on reward thresholds:
The actual enforcement of rewardThreshold
occurs within each splitter:
Insufficient threshold enforcement can lead to frequent, minimal distributions, increasing gas costs and user inconvenience. Attackers might manipulate or exploit thresholds to gain disproportionate rewards or disrupt the intended reward distribution schedule.
Manual Code Review
Consider enforcing rewardThreshold
at the controller level to ensure consistent application across all splitters. Validate _performData
validation of the encoded data in performUpkeep to prevent manipulation or unintended function executions.
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.