```\nfunction deposit(GMXTypes.DepositParams memory dp) external payable nonReentrant {\n        GMXDeposit.deposit(_store, dp, false);\n    }\n\nstruct DepositParams {\n    // Address of token depositing; can be tokenA, tokenB or lpToken\n    address token;\n    // Amount of token to deposit in token decimals\n    uint256 amt;\n    // Minimum amount of shares to receive in 1e18\n    uint256 minSharesAmt;\n    // Slippage tolerance for adding liquidity; e.g. 3 = 0.03%\n    uint256 slippage;\n    // Execution fee sent to GMX for adding liquidity\n    uint256 executionFee;\n  }\n```\n