# EthXReserveOracle

[Git Source](https://github.com/Ion-Protocol/ion-protocol/blob/88cc595825f1dc2eb738fb93e172a3e8ab7a5c43/src/oracles/reserve/lst/EthXReserveOracle.sol)

**Inherits:** ReserveOracle

Reserve oracle for ETHx.

### [State Variables](https://docs.ionprotocol.io/devs/smart-contract-architecture/oracles/reserve/lst/broken-reference) <a href="#state-variables" id="state-variables"></a>

#### [PROTOCOL\_FEED](https://docs.ionprotocol.io/devs/smart-contract-architecture/oracles/reserve/lst/broken-reference) <a href="#protocol_feed" id="protocol_feed"></a>

```
address public immutable PROTOCOL_FEED;
```

### [Functions](https://docs.ionprotocol.io/devs/smart-contract-architecture/oracles/reserve/lst/broken-reference) <a href="#functions" id="functions"></a>

#### [constructor](https://docs.ionprotocol.io/devs/smart-contract-architecture/oracles/reserve/lst/broken-reference) <a href="#constructor" id="constructor"></a>

Creates a new `EthXReserveOracle` instance.

```
constructor(
    address _protocolFeed,
    uint8 _ilkIndex,
    address[] memory _feeds,
    uint8 _quorum,
    uint256 _maxChange
)
    ReserveOracle(_ilkIndex, _feeds, _quorum, _maxChange);
```

**Parameters**

| Name            | Type        | Description                                                  |
| --------------- | ----------- | ------------------------------------------------------------ |
| `_protocolFeed` | `address`   | Data source for the LST provider exchange rate.              |
| `_ilkIndex`     | `uint8`     | of ETHx.                                                     |
| `_feeds`        | `address[]` | List of alternative data sources for the ETHx exchange rate. |
| `_quorum`       | `uint8`     | The amount of alternative data sources to aggregate.         |
| `_maxChange`    | `uint256`   | Maximum percent change between exchange rate updates. \[RAY] |

#### [\_getProtocolExchangeRate](https://docs.ionprotocol.io/devs/smart-contract-architecture/oracles/reserve/lst/broken-reference) <a href="#getprotocolexchangerate" id="getprotocolexchangerate"></a>

Returns the exchange rate between ETH and ETHx.

```
function _getProtocolExchangeRate() internal view override returns (uint256);
```

**Returns**

| Name     | Type      | Description                         |
| -------- | --------- | ----------------------------------- |
| `<none>` | `uint256` | Exchange rate between ETH and ETHx. |
