```\n    /// @inheritdoc ILMPVaultRouterBase\n    function deposit(\n        ILMPVault vault,\n        address to,\n        uint256 amount,\n        uint256 minSharesOut\n    ) public payable virtual override returns (uint256 sharesOut) {\n        // handle possible eth\n        _processEthIn(vault);\n\n        IERC20 vaultAsset = IERC20(vault.asset());\n        pullToken(vaultAsset, amount, address(this));\n\n        return _deposit(vault, to, amount, minSharesOut);\n    }\n```\n