According to the documentation of the _harvestAndReport
function, all applicable assets, including loose assets, should be accounted for and reported. However, the total amount of assets reported is incomplete as it is not taking into account all the possible applicable funds.
In all strategies, _harvestAndReport
function documentation states that
All applicable assets, including loose assets, should be accounted for in this function
Applicable assets can be understood as the total sum of locked and unlocked (loose) assets held by the strategy:
unlocked underlying - existent balance of underlying in the strategy contract
unlocked synthetic - existent balance of synthetic in the strategy contract + unexchanged amount in transmuter
locked synthetic/underlying - amount deposited in the transmuter and generating yield
so that
_totalAssets = unlocked underlying + unlocked synthetic + locked synthetic/underlying
However, _harvestAndReport
is only taking into account a partial amount of the applicable assets:
This omission may result in unexpected behavior from processes that depend on the returned data.
Impact: Medium
Likelihood: High
Manual Review
It is recommended to include the locked balance in the reported assets count for the Mainnet, Optimism and Arbitrum strategies.
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.