Harvester.rewardTokens doesn't account for LDO tokens
As part of the vault's strategy, the reward tokens for participating in Curve's ETH-stETH pool and Convex staking are claimed and swapped for ETH. This is done by having the `ConvexPositionHandler` contract call the reward claims API from Convex via `baseRewardPool.getReward()`, which transfers the reward tokens to the handler's address. Then, the tokens are iterated through and sent to the harvester to be swapped from `ConvexPositionHandler` by getting their list from `harvester.rewardTokens()` and calling `harvester.harvest()`\\n```\\n// get list of tokens to transfer to harvester\\naddress[] memory rewardTokens = harvester.rewardTokens();\\n//transfer them\\nuint256 balance;\\nfor (uint256 i = 0; i < rewardTokens.length; i++) {\\n    balance = IERC20(rewardTokens[i]).balanceOf(address(this));\\n\\n    if (balance > 0) {\\n        IERC20(rewardTokens[i]).safeTransfer(\\n            address(harvester),\\n            balance\\n        );\\n    }\\n}\\n\\n// convert all rewards to WETH\\nharvester.harvest();\\n```\\n\\nHowever, `harvester.rewardTokens()` doesn't have the LDO token's address in its list, so they will not be transferred to the harvester to be swapped.\\n```\\nfunction rewardTokens() external pure override returns (address[] memory) {\\n    address[] memory rewards = new address[](2);\\n    rewards[0] = address(crv);\\n    rewards[1] = address(cvx);\\n    return rewards;\\n}\\n```\\n\\nAs a result, `harvester.harvest()` will not be able to execute its `_swapLidoForWETH()` function since its `ldoBalance` will be 0. This results in missed rewards and therefore yield for the vault as part of its normal flow.\\nThere is a possible mitigation in the current state of the contract that would require governance to call `sweep()` on the LDO balance from the `BaseTradeExecutor` contract (that `ConvexPositionHandler` inherits) and then transferring those LDO tokens to the harvester contract to perform the swap at a later rewards claim. This, however, requires transactions separate from the intended flow of the system as well as governance intervention.
Add the LDO token address to the `rewardTokens()` function by adding the following line `rewards[2] = address(ldo);`
```\\n// get list of tokens to transfer to harvester\\naddress[] memory rewardTokens = harvester.rewardTokens();\\n//transfer them\\nuint256 balance;\\nfor (uint256 i = 0; i < rewardTokens.length; i++) {\\n    balance = IERC20(rewardTokens[i]).balanceOf(address(this));\\n\\n    if (balance > 0) {\\n        IERC20(rewardTokens[i]).safeTransfer(\\n            address(harvester),\\n            balance\\n        );\\n    }\\n}\\n\\n// convert all rewards to WETH\\nharvester.harvest();\\n```\\n