Usage notes

Full Deposit Process (Ethers.js)

import { ethers } from "ethers";
import brinkVaultAbi from "./BrinkVault.json";

const brinkVault = new ethers.Contract(brinkVaultAddress, brinkVaultAbi, signer);
const asset = new ethers.Contract(assetAddress, erc20Abi, signer);

const amount = ethers.parseUnits("100", 18);

// Step 1: Approve
await asset.approve(brinkVaultAddress, amount);

// Step 2: Deposit
const tx = await brinkVault.deposit(amount, await signer.getAddress());
await tx.wait();

// Step 3: Check balance
const shares = await brinkVault.balanceOf(await signer.getAddress());
console.log("Vault shares:", shares.toString());

Withdraw Tokens

View Vault State

Summary

The BrinkVault contract provides a user-friendly ERC-4626 vault interface for depositing, earning, and withdrawing ERC20 tokens. As an investor:

  • Approve → Deposit → Earn → Withdraw

  • Monitor your balance and vault performance using read-only functions. Administrative operations (e.g., rebalancing, whitelist management) are handled by vault managers and strategists.

Last updated