# Mint Option

[Contract Git Source](https://github.com/dopex-io/dopex-v2-clamm/blob/c47ed162e778d188e077b6b1874a8b5873e15c1d/src/DopexV2OptionMarketV2.sol)

Mints an option for the given strike and expiry.

```solidity
function mintOption(OptionParams calldata _params) external nonReentrant;
```

**Parameters**

| Name      | Type           | Description            |
| --------- | -------------- | ---------------------- |
| `_params` | `OptionParams` | The option parameters. |

### OptionParams Struct

This struct defines the parameters for creating an option.

| Field            | Type           | Description                                        |
| ---------------- | -------------- | -------------------------------------------------- |
| optionTicks      | OptionTicks\[] | Array of OptionTicks structs                       |
| tickLower        | int24          | Lower tick of the option                           |
| tickUpper        | int24          | Upper tick of the option                           |
| ttl              | uint256        | Time to live for the option                        |
| isCall           | bool           | Whether the option is a call (true) or put (false) |
| maxCostAllowance | uint256        | Maximum cost allowance for the option              |

### OptionTicks Struct

This struct represents the parameters for option ticks in a Uniswap V3 pool.

| Field          | Type           | Description                |
| -------------- | -------------- | -------------------------- |
| \_handler      | IHandler       | Interface for the handler  |
| pool           | IUniswapV3Pool | Uniswap V3 pool interface  |
| hook           | address        | Address of the hook        |
| tickLower      | int24          | Lower tick of the position |
| tickUpper      | int24          | Upper tick of the position |
| liquidityToUse | uint256        | Amount of liquidity to use |
