Contracts
v3 Contracts
Available V3 Contracts
V3 Contract ABIs
import ManagerV3ABI from "yieldfi-sdk/abis/v3/Manager.json";
import VaultABI from "yieldfi-sdk/abis/v3/Vault.json";Quick Start
Using Wagmi
import {
connectManagerV3,
connectVault,
getContractAddresses,
Chain,
} from "yieldfi-sdk";
import { ethers } from "ethers";
import { useAccount, useWalletClient } from "wagmi";
import ManagerV3ABI from "yieldfi-sdk/abis/v3/Manager.json";
import VaultABI from "yieldfi-sdk/abis/v3/Vault.json";
function ContractExample() {
const { address } = useAccount();
const { data: walletClient } = useWalletClient();
const connectContracts = async () => {
if (!walletClient || !address) {
throw new Error("Wallet not connected");
}
// Setup provider and signer from wagmi
const provider = new ethers.BrowserProvider(walletClient);
const signer = await provider.getSigner();
// Get contract addresses
const contracts = getContractAddresses(Chain.ETHEREUM);
// Connect to Manager V3
const managerV3 = connectManagerV3(
contracts.manager,
ManagerV3ABI,
signer
);
// Connect to a specific Vault (get address from Vault API)
const vaultAddress = "0x5bE91d34FeFbB7554497a74e25dC6df96bFef5DB";
const vault = connectVault(vaultAddress, VaultABI, provider);
return { managerV3, vault };
};
}Using Browser Provider
V3 Contract Architecture
Manager V3
Vault Contract (ERC-4626)
Next Steps
Last updated