Vault (V3)
Connecting to Vault
Using Wagmi
import { connectVault } from "yieldfi-sdk";
import { ethers } from "ethers";
import { useAccount, useWalletClient } from "wagmi";
import VaultABI from "yieldfi-sdk/abis/v3/Vault.json";
function VaultExample() {
const { address } = useAccount();
const { data: walletClient } = useWalletClient();
const connectVaultContract = async (vaultAddress: string) => {
if (!walletClient) {
throw new Error("Wallet not connected");
}
const provider = new ethers.BrowserProvider(walletClient);
const signer = await provider.getSigner();
// For read-only operations, use provider
const vaultReadOnly = connectVault(vaultAddress, VaultABI, provider);
// For write operations, use signer
const vault = connectVault(vaultAddress, VaultABI, signer);
return { vault, vaultReadOnly };
};
}Using Browser Provider
ERC-20 Operations
Get Balance
Transfer Shares
Approve Spending
Get Allowance
ERC-4626 Operations
Deposit Assets
Redeem Shares
Mint Shares
Withdraw Assets
Conversion Functions
Convert Shares to Assets
Convert Assets to Shares
Preview Functions
Preview Deposit
Preview Mint
Preview Redeem
Preview Withdraw
Vault-Specific Functions
Get Asset Address
Get Total Assets
Get Total Supply
Get Rate
Locked Shares
Lock Shares (Internal)
Unlock Shares (Internal)
Vault Information
Get Vault Details
Complete Example
Using Wagmi
Using Browser Provider
Type Safety
Using Wagmi
Using Browser Provider
Last updated