The _harvestAndReport()
function is documented and expected to handle "harvesting, rewards selling, accrual, redepositing etc." However, the current implementation only calculates balances without executing any of the core harvesting functionality. Specifically:
While it retrieves the claimable balance, it never claims it from the transmuter
The underlying token swapping logic is commented out
No redeployment of funds occurs
This means the strategy is not automatically compounding rewards or redeploying idle funds during harvest calls as would be expected based on the documentation and typical yield strategy patterns as documented in the yearn v3 strategy docs.
https://github.com/Cyfrin/2024-12-alchemix/blob/82798f4891e41959eef866bd1d4cb44fc1e26439/src/StrategyMainnet.sol#L178-L198
This is the specs from the official docs:
https://docs.yearn.fi/developers/v3/strategy_writing_guide#_harvestandreport
Purpose:
Called during every report. This should harvest and sell any rewards, reinvest any proceeds, perform any position maintenance and return a full accounting of a trusted amount denominated in the underlying asset the strategy holds.
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.