EthAdapter

The EthAdapter is responsible for accepting deposits and withdrawals in ETH, instead of accepting the staked ETH directly. It uses Curve as a trading venue under the hood.

src: https://github.com/pods-finance/yield-contracts/blob/main/contracts/proxy/ETHAdapter.sol

Public State Variables

pool

https://github.com/pods-finance/yield-contracts/blob/main/contracts/proxy/ETHAdapter.sol#L23

function pool() external view returns (address

Curve's pool for the ETH <> stETH token pair.

ETH_INDEX

https://github.com/pods-finance/yield-contracts/blob/main/contracts/proxy/ETHAdapter.sol#L28

function ETH_INDEX() external view returns (int128)

ETH token index in the Curve pool. It is constant 0.

STETH_INDEX

https://github.com/pods-finance/yield-contracts/blob/main/contracts/proxy/ETHAdapter.sol#L33

function ETH_INDEX() external view returns (int128)

StETH token index in the Curve pool. It is constant 1.

ETH_ADDRESS

https://github.com/pods-finance/yield-contracts/blob/main/contracts/proxy/ETHAdapter.sol#L38

function ETH_ADDRESS() external view returns (address)

ETH token address representation. It is constant 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE

STETH_ADDRESS

https://github.com/pods-finance/yield-contracts/blob/main/contracts/proxy/ETHAdapter.sol#L43

function STETH_ADDRESS() external view returns (address)

StETH token address representation. It is constant 0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84

View Methods

convertToSTETH

https://github.com/pods-finance/yield-contracts/blob/main/contracts/proxy/ETHAdapter.sol#L61

function convertToSTETH(uint256 ethAmount) external view returns (uint256)

Convert ethAmount ETH to stETH using Curve pool and returns the resulting amount of stETH.

Parameters

Returns

convertToETH

https://github.com/pods-finance/yield-contracts/blob/main/contracts/proxy/ETHAdapter.sol#L70

function convertToETH(uint256 stETHAmount) external view returns (uint256)

Convert stethAmount stETH to ETH using Curve pool and returns the resulting amount of ETH.

Parameters

Returns

Write Methods

deposit

https://github.com/pods-finance/yield-contracts/blob/main/contracts/proxy/ETHAdapter.sol#L81

function deposit(contract IVault vault, address receiver, uint256 minOutput) external payable returns (uint256)

Deposit msg.value of ETH, convert to stETH and deposit into vault

Parameters

Returns

redeem

https://github.com/pods-finance/yield-contracts/blob/main/contracts/proxy/ETHAdapter.sol#L100

function redeem(contract IVault vault, uint256 shares, address receiver, uint256 minOutput) external nonpayable returns (uint256)

Redeem shares shares, receive stETH, trade stETH for ETH and send to receiver

Parameters

Returns

redeemWithPermit

https://github.com/pods-finance/yield-contracts/blob/main/contracts/proxy/ETHAdapter.sol#L124

function redeemWithPermit(contract IVault vault, uint256 shares, address receiver, uint256 minOutput, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external nonpayable returns (uint256 assets)

redeemWithPermit shares shares, receive stETH, trade stETH for ETH and send to receiver

Do not need to approve the shares in advance. The vault tokenized shares supports Permit

Parameters

Returns

withdraw

https://github.com/pods-finance/yield-contracts/blob/main/contracts/proxy/ETHAdapter.sol#L148

function withdraw(contract IVault vault, uint256 assets, address receiver, uint256 minOutput) external nonpayable returns (uint256 shares)

Withdraw assets assets, receive stETH, trade stETH for ETH and send to receiver

Do not need to approve the shares in advance. The vault tokenized shares supports Permit

Parameters

Returns

withdrawWithPermit

https://github.com/pods-finance/yield-contracts/blob/main/contracts/proxy/ETHAdapter.sol#L171

function withdrawWithPermit(contract IVault vault, uint256 assets, address receiver, uint256 minOutput, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external nonpayable returns (uint256 shares)

withdrawWithPermit assets assets, receive stETH, trade stETH for ETH and send to receiver

Do not need to approve the shares in advance. Vault's tokenized shares supports Permit

Parameters

Returns

Last updated