> For the complete documentation index, see [llms.txt](https://docs.ionprotocol.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ionprotocol.io/devs/smart-contract-architecture/flash/lrt/rswethhandler.md).

# RswEthHandler

[Git Source](https://github.com/Ion-Protocol/ion-protocol/blob/88cc595825f1dc2eb738fb93e172a3e8ab7a5c43/src/flash/lrt/RswEthHandler.sol)

**Inherits:** UniswapFlashswapDirectMintHandler

Handler for the rswETH/wstETH market.

### [Functions](broken://pages/6v3A8oKFJVfXeTsMMflN) <a href="#functions" id="functions"></a>

#### [constructor](broken://pages/6v3A8oKFJVfXeTsMMflN) <a href="#constructor" id="constructor"></a>

Creates a new `RswEthHandler` instance.

```
constructor(
    uint8 _ilkIndex,
    IonPool _ionPool,
    GemJoin _gemJoin,
    Whitelist _whitelist,
    IUniswapV3Pool _wstEthUniswapPool
)
    IonHandlerBase(_ilkIndex, _ionPool, _gemJoin, _whitelist)
    UniswapFlashswapDirectMintHandler(_wstEthUniswapPool, WETH_ADDRESS);
```

**Parameters**

| Name                 | Type             | Description                                          |
| -------------------- | ---------------- | ---------------------------------------------------- |
| `_ilkIndex`          | `uint8`          | Ilk index of the pool.                               |
| `_ionPool`           | `IonPool`        | address.                                             |
| `_gemJoin`           | `GemJoin`        | address.                                             |
| `_whitelist`         | `Whitelist`      | address.                                             |
| `_wstEthUniswapPool` | `IUniswapV3Pool` | address of the wstETH/WETH Uniswap pool (0.01% fee). |

#### [\_mintCollateralAsset](broken://pages/6v3A8oKFJVfXeTsMMflN) <a href="#mintcollateralasset" id="mintcollateralasset"></a>

Deposits the mint asset into the provider's collateral-asset deposit contract.

```
function _mintCollateralAsset(uint256 amountWeth) internal override returns (uint256);
```

**Parameters**

| Name         | Type      | Description |
| ------------ | --------- | ----------- |
| `amountWeth` | `uint256` |             |

#### [\_getAmountInForCollateralAmountOut](broken://pages/6v3A8oKFJVfXeTsMMflN) <a href="#getamountinforcollateralamountout" id="getamountinforcollateralamountout"></a>

Calculates the amount of mint asset required to receive `amountLrt`.

*Calculates the amount of mint asset required to receive `amountLrt`.*

```
function _getAmountInForCollateralAmountOut(uint256 amountOut) internal view override returns (uint256);
```

**Parameters**

| Name        | Type      | Description |
| ----------- | --------- | ----------- |
| `amountOut` | `uint256` |             |

**Returns**

| Name     | Type      | Description                                           |
| -------- | --------- | ----------------------------------------------------- |
| `<none>` | `uint256` | Amount mint asset required for desired output. \[WAD] |

#### [getEthAmountInForLstAmountOut](broken://pages/6v3A8oKFJVfXeTsMMflN) <a href="#getethamountinforlstamountout" id="getethamountinforlstamountout"></a>

Returns the amount of ETH needed to mint the given amount of rswETH.

```
function getEthAmountInForLstAmountOut(uint256 lstAmount) external view returns (uint256);
```

**Parameters**

| Name        | Type      | Description                   |
| ----------- | --------- | ----------------------------- |
| `lstAmount` | `uint256` | Desired output amount. \[WAD] |

#### [getLstAmountOutForEthAmountIn](broken://pages/6v3A8oKFJVfXeTsMMflN) <a href="#getlstamountoutforethamountin" id="getlstamountoutforethamountin"></a>

Returns the amount of ETH needed to mint the given amount of rswETH.

```
function getLstAmountOutForEthAmountIn(uint256 ethAmount) external view returns (uint256);
```

**Parameters**

| Name        | Type      | Description                      |
| ----------- | --------- | -------------------------------- |
| `ethAmount` | `uint256` | Amount of ETH to deposit. \[WAD] |
