Deposit
Last updated
Last updated
Depositing to a Yelay V3 Vault
To deposit assets into a Yelay V3 vault using the vault’s native asset currency, follow these steps:
Where:
vaultAddress
– One of the vaults set up by Yelay. Fetch vault addresses using sdk.vaults.getVaults()
. (See the chapter.)
poolId
– One of the pools set up by the client within the vault.
Once the deposit is complete, the corresponding amount of ERC-1155 NFT shares is minted in the user’s wallet.
For example:
Depositing 2 USDC results in 2,000,000 ERC-1155 tokens, and so on.
Depositing any ERC-20 Token
To deposit any ERC-20 token and swap it on the way, use the sdk.vaults.swapAndDeposit
method:
Where:
vault
– Address of the vault.
pool
– Pool set up by the client within the vault.
amount
– Deposit amount.
swapCallData
– Swap arguments from 1inch.
swapTarget
– Should match the asset of the vault.
tokenToSwap
– ERC-20 token to be swapped before depositing.
⚠ Note:
This method requires obtaining a 1inch API key and retrieving swapCallData
from it.
Users will incur swap costs when using this method.
Wrap ETH when depositing to WETH vault
To deposit ETH into a WETH vault (i.e., to wrap ETH instead of swapping it and avoid swap fees), use the depositEth
method:
Where:
vault
– Address of the Yelay V3 WETH vault on the given chain.
poolId
– ID of the pool where the user deposits.
amount
– Amount of ETH to deposit.
This method leverages the VaultWrapper contract to handle ETH wrapping and depositing in a single transaction.
with Pool ID = 1
results in 1,000,000 ERC-1155 tokens being minted.