Uniproxy.depositSwap - _router should not be determined by the caller
`Uniproxy.depositSwap` uses `_router` that is determined by the caller, which in turn might inject a “fake” contract, and thus may steal funds stuck in the `UniProxy` contract.\\nThe `UniProxy` contract has certain trust assumptions regarding the router. The router is supposed to return not less than deposit1(or deposit0) amount of tokens but that fact is never checked.\\n```\\nfunction depositSwap(\\n  int256 swapAmount, // (-) token1, (+) token0 for token1; amount to swap\\n  uint256 deposit0,\\n  uint256 deposit1,\\n  address to,\\n  address from,\\n  bytes memory path,\\n  address pos,\\n  address \\_router\\n) external returns (uint256 shares) {\\n```\\n
Consider removing the `_router` parameter from the function, and instead, use a storage variable that will be initialized in the constructor.
```\\nfunction depositSwap(\\n  int256 swapAmount, // (-) token1, (+) token0 for token1; amount to swap\\n  uint256 deposit0,\\n  uint256 deposit1,\\n  address to,\\n  address from,\\n  bytes memory path,\\n  address pos,\\n  address \\_router\\n) external returns (uint256 shares) {\\n```\\n