In StakingPool::_updateStrategyRewards():L522 function, the total amount staked is updated with the totalRewards variable (which represents the deposit changes across all the strategies). In instances, where totalRewards is negative, the totalStaked state variable is decremented to show an overall loss of staked tokens in the staking pool. In this scenario of loss of staked tokens, the current implementation of the system still mint shares to the strategy fee recipients due to lack of check for a positive net deposit change across the strategies prior to minting the shares, which seems to dilute the shares of the stakers already in the system.
Before updating the total staked tokens in the system with the totalRewards, it first calculates the fee amounts to be sent to the strategies contracts. That is, the fee for the strategy receivers has already been calculated prior to updating the total staked tokens with the total Rewards variable. #See Below
After updating the total Staked with the net deposit change across all strategies (total Rewards), it goes on to calculate the list of fees on rewards for the Fees array if there was a positive net change across all the strategies. This means that for a negative net deposits change across strategies, the below if code block will not execute. #See below:
However, because prior to updating totalStaked with the net deposit change across strategies (totalRewards), the totalFeeAmounts to be sent to the strategy receivers has already been initialized and is non-zero. And because, there is no check for whether totalRewards was negative or not in the below if block, the strategy receivers gets minted new shares depsite an overall system loss of staked tokens. #See below:
This minting of new shares to the strategy receivers causes dilution which unfairly penalizes stakers by reducing their proportional ownership of the system while rewarding strategy receivers despite negative overall system loss of staked tokens across the strategies.
Dilution of Stakers: The minting of new shares increases the total share supply, reducing the proportional ownership of existing stakers. In a loss scenario, this means stakers hold a smaller piece of a shrinking pie.
Misaligned Incentives: Strategy receivers are rewarded irrespective of the overall system’s health. This creates a situation where strategy receivers can profit even if their strategies result in losses for the system, fostering risk-taking behavior that may harm the system long-term.
Manual Review
Add an additional check prior to minting the shares to the strategy receivers to this line of code:
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.