Lompat ke konten utama
Change page

Standar Vault yang Ditokenisasi ERC-4626

Pembaruan terakhir halaman: 21 Oktober 2025

Pengantar

ERC-4626 adalah sebuah standar untuk mengoptimalkan dan menyatukan parameter teknis dari vault penghasil imbal hasil (yield-bearing vaults). Standar ini menyediakan API standar untuk vault penghasil imbal hasil yang ditokenisasi yang mewakili saham (shares) dari satu token ERC-20 yang mendasarinya. ERC-4626 juga menguraikan ekstensi opsional untuk vault yang ditokenisasi yang menggunakan ERC-20, menawarkan fungsionalitas dasar untuk menyetor, menarik token, dan membaca saldo.

Peran ERC-4626 dalam vault penghasil imbal hasil

Pasar pinjaman, agregator, dan token yang secara intrinsik menghasilkan bunga membantu pengguna menemukan imbal hasil terbaik pada token kripto mereka dengan mengeksekusi berbagai strategi. Strategi-strategi ini dilakukan dengan sedikit variasi, yang mungkin rentan terhadap kesalahan atau membuang-buang sumber daya pengembangan.

ERC-4626 dalam vault penghasil imbal hasil akan menurunkan upaya integrasi dan membuka akses ke imbal hasil di berbagai aplikasi dengan sedikit upaya khusus dari pengembang dengan menciptakan pola implementasi yang lebih konsisten dan kuat.

Token ERC-4626 dijelaskan sepenuhnya dalam EIP-4626 (opens in a new tab).

Ekstensi vault asinkron (ERC-7540)

ERC-4626 dioptimalkan untuk setoran dan penebusan atomik hingga batas tertentu. Jika batas tersebut tercapai, tidak ada setoran atau penebusan baru yang dapat diajukan. Keterbatasan ini tidak berfungsi dengan baik untuk sistem kontrak pintar apa pun dengan tindakan asinkron atau penundaan sebagai prasyarat untuk berinteraksi dengan Vault (misalnya, protokol aset dunia nyata, protokol pinjaman dengan agunan kurang, protokol pinjaman lintas rantai, token staking likuid, atau modul keamanan asuransi).

ERC-7540 memperluas utilitas Vault ERC-4626 untuk kasus penggunaan asinkron. Antarmuka Vault yang ada (deposit/withdraw/mint/redeem) sepenuhnya dimanfaatkan untuk mengklaim Permintaan asinkron.

Ekstensi ERC-7540 dijelaskan sepenuhnya dalam ERC-7540 (opens in a new tab).

Ekstensi vault multi-aset (ERC-7575)

Satu kasus penggunaan yang hilang yang tidak didukung oleh ERC-4626 adalah Vault yang memiliki banyak aset atau titik masuk seperti Token penyedia likuiditas (LP). Ini umumnya sulit dikelola atau tidak patuh karena persyaratan ERC-4626 untuk menjadi ERC-20 itu sendiri.

ERC-7575 menambahkan dukungan untuk Vault dengan banyak aset dengan mengeksternalisasi implementasi token ERC-20 dari implementasi ERC-4626.

Ekstensi ERC-7575 dijelaskan sepenuhnya dalam ERC-7575 (opens in a new tab).

Prasyarat

Untuk lebih memahami halaman ini, kami sarankan Anda membaca terlebih dahulu tentang standar token dan ERC-20.

Fungsi dan Fitur ERC-4626:

Metode

asset

1function asset() public view returns (address assetTokenAddress)

Fungsi ini mengembalikan alamat dari token mendasar yang digunakan untuk vault untuk akuntansi, penyetoran, penarikan.

totalAssets

1function totalAssets() public view returns (uint256)

Fungsi ini mengembalikan jumlah total aset mendasar yang dipegang oleh vault.

convertToShares

1function convertToShares(uint256 assets) public view returns (uint256 shares)

Fungsi ini mengembalikan jumlah shares (saham) yang akan ditukarkan oleh vault untuk jumlah assets (aset) yang diberikan.

convertToAssets

1function convertToAssets(uint256 shares) public view returns (uint256 assets)

Fungsi ini mengembalikan jumlah assets yang akan ditukarkan oleh vault untuk jumlah shares yang diberikan.

maxDeposit

1function maxDeposit(address receiver) public view returns (uint256 maxAssets)

Fungsi ini mengembalikan jumlah maksimum aset mendasar yang dapat disetorkan dalam satu panggilan deposit, dengan saham yang di-mint untuk receiver.

previewDeposit

1function previewDeposit(uint256 assets) public view returns (uint256 shares)

Fungsi ini memungkinkan pengguna untuk mensimulasikan efek dari setoran mereka pada blok saat ini.

deposit

1function deposit(uint256 assets, address receiver) public returns (uint256 shares)

Fungsi ini menyetorkan assets dari token mendasar ke dalam vault dan memberikan kepemilikan shares kepada receiver.

maxMint

1function maxMint(address receiver) public view returns (uint256 maxShares)

Fungsi ini mengembalikan jumlah maksimum saham yang dapat di-mint dalam satu panggilan mint, dengan saham yang di-mint untuk receiver.

previewMint

1function previewMint(uint256 shares) public view returns (uint256 assets)

Fungsi ini memungkinkan pengguna untuk mensimulasikan efek dari mint mereka pada blok saat ini.

mint

1function mint(uint256 shares, address receiver) public returns (uint256 assets)

Fungsi ini me-mint tepat sejumlah shares saham vault kepada receiver dengan menyetorkan assets dari token mendasar.

maxWithdraw

1function maxWithdraw(address owner) public view returns (uint256 maxAssets)

Fungsi ini mengembalikan jumlah maksimum aset mendasar yang dapat ditarik dari saldo owner dengan satu panggilan withdraw.

previewWithdraw

1function previewWithdraw(uint256 assets) public view returns (uint256 shares)

Fungsi ini memungkinkan pengguna untuk mensimulasikan efek dari penarikan mereka pada blok saat ini.

withdraw

1function withdraw(uint256 assets, address receiver, address owner) public returns (uint256 shares)

Fungsi ini membakar shares dari owner dan mengirimkan tepat sejumlah assets token dari vault kepada receiver.

maxRedeem

1function maxRedeem(address owner) public view returns (uint256 maxShares)

Fungsi ini mengembalikan jumlah maksimum saham yang dapat ditebus dari saldo owner melalui panggilan redeem.

previewRedeem

1function previewRedeem(uint256 shares) public view returns (uint256 assets)

Fungsi ini memungkinkan pengguna untuk mensimulasikan efek dari penebusan mereka pada blok saat ini.

redeem

1function redeem(uint256 shares, address receiver, address owner) public returns (uint256 assets)

Fungsi ini menebus sejumlah shares tertentu dari owner dan mengirimkan assets dari token mendasar dari vault kepada receiver.

totalSupply

1function totalSupply() public view returns (uint256)

Mengembalikan jumlah total saham vault yang belum ditebus yang beredar.

balanceOf

1function balanceOf(address owner) public view returns (uint256)

Mengembalikan jumlah total saham vault yang saat ini dimiliki oleh owner.

Peta antarmuka

Peta antarmuka ERC-4626

Event

Event Deposit

HARUS dipancarkan ketika token disetorkan ke dalam vault melalui metode mint dan deposit.

1event Deposit(
2 address indexed sender,
3 address indexed owner,
4 uint256 assets,
5 uint256 shares
6)

Di mana sender adalah pengguna yang menukarkan assets dengan shares, dan mentransfer shares tersebut kepada owner.

Event Withdraw

HARUS dipancarkan ketika saham ditarik dari vault oleh penyetor dalam metode redeem atau withdraw.

1event Withdraw(
2 address indexed sender,
3 address indexed receiver,
4 address indexed owner,
5 uint256 assets,
6 uint256 shares
7)

Di mana sender adalah pengguna yang memicu penarikan dan menukarkan shares, yang dimiliki oleh owner, dengan assets. receiver adalah pengguna yang menerima assets yang ditarik.

Bacaan lebih lanjut

Apakah artikel ini membantu?