> For the complete documentation index, see [llms.txt](https://dev.bondprotocol.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dev.bondprotocol.finance/smart-contracts/option-system/options-liquidity-mining-olm/manual-strike-olm.md).

# Manual Strike OLM

[Git Source](https://github.com/Bond-Protocol/option-contracts/blob/master/src/fixed-strike/liquidity-mining/OLM.sol)

**Inherits:** [OLM](/smart-contracts/option-system/options-liquidity-mining-olm.md)

*The Manual Strike OLM contract allows the owner to manually set the strike price that new option tokens are created with on epoch transition.*

### State Variables

#### strikePrice

Strike price to be used for new option tokens

```solidity
uint256 public strikePrice;
```

### Functions

#### \_initialize

Internal function, not callable directly. Called within `initialize` to implement Manual Strike OLM specific initialization logic.

```solidity
function _initialize(bytes calldata params_) internal override;
```

**Parameters**

| Name          | Type      | Description                                                                            |
| ------------- | --------- | -------------------------------------------------------------------------------------- |
| strikePrice\_ | `uint256` | The initial strike price for the  Manual Strike OLM, in quote tokens per payout token. |

**The parameters for this function are ABI-encoded into a** `bytes` **object and passed as the** `other_`**variable into the top-level OLM** `initialize` **function. For example:**

```solidity
bytes memory other = abi.encode(strikePrice);
```

#### nextStrikePrice

Returns the strike price that would be used if a new epoch started right now

```solidity
function nextStrikePrice() public view override returns (uint256);
```

#### setStrikePrice

Set the strike price to be used for future option tokens

Only owner

```solidity
function setStrikePrice(uint256 strikePrice_) external onlyOwner requireInitialized;
```

**Parameters**

| Name           | Type      | Description                                                                                          |
| -------------- | --------- | ---------------------------------------------------------------------------------------------------- |
| `strikePrice_` | `uint256` | Strike price for the option tokens formatted as the number of quote tokens required per payout token |
