Deposit
Deposits ERC-20 asset into token vault on behalf of receiver who receives the
gTokens minted.
/**
* @dev Function to handle a deposit of an underlying asset to the vault.
* Deploys the deposited assets to the yield strategy and mints new gTokens.
* @param _amount amount of underlying asset to deposit
* @param _receiver address to receive gTokens
*/
function deposit(
uint256 _amount,
address _receiver
) external
Make sure you approve the vault contract to spend this amount before calling
deposit.
Withdraw
Withdraws ERC-20 asset from token vault into the receiver address. gTokens are
burned from the owner address.
/**
* @dev Function to withdraw underlying asset from vault. This usually involves
* converting the yield asset to the underlying asset first.
* @param _amount amount of underlying asset to withdraw
* @param _recevier address receiving asset withdraw from vault
* @param _owner address to burn gTokens from
*/
function withdraw(
uint256 _amount,
address _receiver,
address _owner
) external
Utility Methods
Returns the amount of yield attributable to a gToken address holder. Denominated
in asset.
/**
* @dev Function returning the yield associated with a user on the vault
* @param _owner address owning the gTokens
*/
function getYield(
address _owner
) external view returns (uint256)
Returns the amount of yield attributable to a gToken address holder. Denominated
in asset.
/**
* @dev Function returning the APY associated with the vault's
* underlying yield strategy, 18 decimals.
*/
function getAPY() external view returns (uint256)
Converts an amount of the asset to its equivalent in the yield asset (ex: 1 ETH
-> 0.8 rETH).
/**
* @dev Function converting amount of asset to yield asset
* @param _amount amount of asset
*/
function convertToYieldAsset(
address _amount
) external view returns (uint256)
Converts an amount of the yield asset to its equivalent in the asset (ex: 0.8
rETH -> 1 ETH).
/**
* @dev Function converting amount of yield assetΒ to asset
* @param _amount amount of yield asset
*/
function convertToAsset(
address _amount
) external view returns (uint256)
-
All ERC-20 methods (transfer
, transferFrom
, balanceOf
, etc.)
-
If underlying asset is a native token (ex: ETH), then there is also another
method available with the following signature:
/**
* @dev Function to handle a deposit of a native token to the vault
* @param _receiver address to receive gTokens
*/
function depositETH(
address _receiver
) external payable