In the StrategyMainnet
, StrategyArb
, StrategyOp
contract, the balanceDeployed
and _harvestAndReport
functions calculate total balances by summing unexchanged
, asset.balanceOf(address(this))
, and underlyingBalance
. However, this accounting is unnecessary and potentially misleading because:
The strategy does not maintain any idle underlying Ether (WETH), as all claimed WETH is immediately swapped to alETH and deposited into the Transmuter.
The strategy never holds a balance of uninvested WETH, so accounting for underlyingBalance
is redundant.
This results in unnecessary complexity and an inaccurate representation of the strategy's actual deployed assets.
balanceDeployed
:
Returns the sum of unexchanged
, asset.balanceOf(address(this))
, and underlyingBalance
:
This unnecessarily includes underlyingBalance
, which is always zero because WETH is immediately swapped to alETH and deposited.
_harvestAndReport
:
Similarly calculates total assets without considering that idle WETH never exists in the contract:
This creates redundant and incorrect reporting for total assets.
The contract logic ensures that claimed WETH is always swapped and deposited, so there is no need to account for idle WETH.
Both functions unnecessarily include underlyingBalance
in their calculations.
Redundant Accounting:
The inclusion of underlyingBalance
and asset.balanceOf(address(this))
results in redundant calculations.
Misleading Reporting:
The reported total assets suggest the possibility of idle WETH, which is not the case in this strategy.
Unnecessary Complexity:
The accounting logic complicates function implementations without adding value.
Simplify balanceDeployed
Function:
Remove the unnecessary inclusion of underlyingBalance
and directly return the unexchanged
alETH balance from the Transmuter and the current alETH balance.
Refactor _harvestAndReport
:
Modify _harvestAndReport
to remove redundant calculations and directly report the sum of unexchanged alETH and the alETH balance held in the contract.
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.