the affected code with the root cause indication
from an incorrect assumption about asset accounting after transmuter deposits. When deployFunds() executes transmuter.deposit(), the same assets are counted twice:
First count: through transmuter.getUnexchangedBalance()
Second count: through asset.balanceOf()
the code fails to account for how the deposit operation changes the asset's location while maintaining the same economic value. The assets don't exist in both places simultaneously, but the accounting function treats them as if they do.
affected code path StrategyMainnet.sol#_deployFunds, balanceDeployed()
The bug s from incorrect state transition tracking in the deployment process. When alETH is deposited into the transmuter via _deployFunds(), the assets undergo a state change but the balanceDeployed() function fails to properly account for this transition.
Impact Across Chains:
Ethereum (StrategyMainnet.sol)
Affects Curve-based swaps between WETH/alETH
Incorrect PPS (Price Per Share) calculations due to inflated TVL
Optimism (StrategyOp.sol)
Impacts Velodrome-based trading pairs
Double counting affects keeper arbitrage opportunities
Arbitrum (StrategyArb.sol)
Affects Ramses-based trading
Compromises premium calculations in claimAndSwap operations
The bug creates a systemic issue across all implementations where:
Total Value Locked (TVL) is artificially inflated
Share price calculations become inaccurate
Arbitrage calculations based on balances become unreliable
This affects core Alchemix mechanics where these strategies handle WETH/alETH conversions and yield generation across all three supported networks.
State Transition Error #_deployFunds
Double Counting in Balance Tracking #balanceDeployed
The core issue lies in the mishandling of asset state transitions:
When assets are deposited into the transmuter, they move from the strategy's direct control to the transmuter's control
However, balanceDeployed() counts these assets both in the transmuter's balance AND in the strategy's direct balance
This creates an artificial inflation of the total assets under management
The accounting error affects:
Share price calculations
TVL reporting
Arbitrage calculations for keepers
Overall strategy performance metrics
In this way we:
Fix the double-counting issue by properly tracking asset locations
Add verification mechanisms to ensure balance consistency
Improve transparency through event emissions
Implement safety checks in critical functions
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.