Omniscia GoGo Audit
StakingRewardsLP Manual Review Findings
StakingRewardsLP Manual Review Findings
SRL-01M: Improper Exit By Loss Implementation
Type | Severity | Location |
---|---|---|
Logical Fault | Minor | StakingRewardsLP.sol:L223 |
Description:
If a user invokes the exitByLoss
function with a non-zero boost, they will be unable to execute it successfully as the _balances[msg.sender]
argument will always cause an underflow in the balances
subtraction within withdraw
.
Example:
contracts/staking/StakingRewardsLP.sol
222function exitByLoss() external {223 withdraw(_balances[msg.sender]);224 getRewardByLoss();225}
Recommendation:
We advise the same argument as the exit
function to be passed in here to ensure it will successfully execute under all circumstances.
Alleviation:
The GoGo team considered this exhibit but opted not to apply a remediation for it in the current iteration of the codebase.