AuraSpell#closePositionFarm requires users to swap all reward tokens through same router
AuraSpell#closePositionFarm requires users to swap all reward tokens through same router. This is problematic as it is very unlikely that a UniswapV2 router will have good liquidity sources for all tokens and will result in users experiencing forced losses to their reward token.\\nAuraSpell.sol#L193-L203\\n```\\n    for (uint256 i = 0; i < rewardTokens.length; i++) {\\n        uint256 rewards = _doCutRewardsFee(rewardTokens[i]);\\n        _ensureApprove(rewardTokens[i], address(swapRouter), rewards);\\n        swapRouter.swapExactTokensForTokens(\\n            rewards,\\n            0,\\n            swapPath[i],\\n            address(this),\\n            type(uint256).max\\n        );\\n    }\\n```\\n\\nAll tokens are forcibly swapped through a single router.
Issue AuraSpell#closePositionFarm requires users to swap all reward tokens through same router\\nAllow users to use an aggregator like paraswap or multiple routers instead of only one single UniswapV2 router.
Users will be forced to swap through a router even if it doesn't have good liquidity for all tokens
```\\n    for (uint256 i = 0; i < rewardTokens.length; i++) {\\n        uint256 rewards = _doCutRewardsFee(rewardTokens[i]);\\n        _ensureApprove(rewardTokens[i], address(swapRouter), rewards);\\n        swapRouter.swapExactTokensForTokens(\\n            rewards,\\n            0,\\n            swapPath[i],\\n            address(this),\\n            type(uint256).max\\n        );\\n    }\\n```\\n