The _harvestAndReport
function in all contracts fails to account for the claimable
balance retrieved from the transmuter when calculating the total assets. This omission results in an underestimation of the strategy's total assets and may lead to inaccurate reporting of the strategy's financial state.
In _harvestAndReport
, the claimable balance is retrieved from the transmuter:
However in both StrategyOp
and StrategyArb
this claimable
amount is not included in the _totalAssets
calculation:
In StrategyMainnet
we have
claimable
still not reported as per the docs in _harvestAndReport
This issue causes the strategy's total assets are underreported, which could mislead management and stakeholders about the strategy's financial health.
This likelihood of the issue is high as it's everytime this function is called, the assets are underreported, also this function is called before shutting down a strategy as per the comments in L320 a miscalculation can leave funds stuck.
I believe all these points are strong arguments for a medium severity
Manual Review
A possible mitigation for StrategyMainnet
Harvest rewards from the transmuter
so that the balance is included in asset.balanceOf(address(this))
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.