# SwEthReserveOracle

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

**Inherits:** ReserveOracle

Reserve oracle for swETH.

### [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 swETH.                                                     |
| `_feeds`        | `address[]` | List of alternative data sources for the swETH 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 swETH.

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

**Returns**

| Name                   | Type      | Description                          |
| ---------------------- | --------- | ------------------------------------ |
| `protocolExchangeRate` | `uint256` | Exchange rate between ETH and swETH. |
