ERC-4626 Tokenizált értékmegőrzőre vonatkozó szabvány
Bevezetés
Az ERC-4626 szabvány a hozamtartó értékmegőrzők műszaki paramétereinek optimalizálására és egységesítésére szolgál. Egy szabványos API-t biztosít ezen tokenizált értékmegőrzőkhöz, amelyek egyetlen, alapul szolgáló ERC-20 token részvényeit képviselik. Az ERC-4626 egy opcionális kiterjesztést is körvonalaz az ERC-20-at használó tokenizált értékmegőrzők számára, amely alapvető funkciókat kínál a tokenek letétbe helyezéséhez, kivonásához és az egyenlegek leolvasásához.
Az ERC-4626 szerepe a hozamtartó értékmegőrzőkben
A hitelpiacok, az aggregátorok és a kamatozó tokenek segítenek a felhasználóknak különböző stratégiák végrehajtásával megtalálni a legjobb hozamot a kriptotokenjeikre. Ezek a stratégiák enyhe eltérésekkel kerülhetnek végrehajtásra, ami hibás lehet, vagy pazarolja a fejlesztési erőforrásokat.
Az ERC-4626 a hozamtartó értékmegőrzőkben csökkenti az integrációs erőfeszítéseket, és a konzisztensebb és robusztusabb végrehajtási minták létrehozásával a fejlesztők kis mértékű speciális erőfeszítései mellett lehetővé teszi a hozamhoz való hozzáférést a különböző alkalmazásokban.
Az ERC-4626 token teljes körű leírását az EIP-4626 tartalmazza.
Aszinkron értékmegőrző-bővítés (ERC-7540)
Az ERC-4626 az atomi befizetésekre és visszaváltásokra van optimalizálva egy bizonyos határértékig. Ha a limitet elérte, nem lehet új befizetéseket vagy visszaváltásokat benyújtani. Ez a korlátozás nem működik jól olyan okosszerződés-rendszerek esetében, amelyeknél az aszinkron műveletek vagy késleltetések előfeltételei az értékmegőrzővel való kapcsolódásnak (pl. valós világbeli eszközprotokollok, alulbiztosított hitelezési protokollok, láncközi hitelezési protokollok, likvid tétes tokenek vagy biztosítási biztonsági modulok).
Az ERC-7540 kiterjeszti az ERC-4626 értékmegőrzők hasznosságát aszinkron felhasználási esetekre. A meglévő értékmegőrző-interfészt (deposit
/withdraw
/mint
/redeem
) használják az aszinkron kérésekre.
Az ERC-7540 bővítésének teljes körű leírását az ERC-7540 tartalmazza.
Több eszközös értékmegőrző-bővítés (ERC-7575)
Az ERC-4626 által nem támogatott egyik felhasználási eset a több eszközzel vagy belépési ponttal rendelkező értékmegőrzők, például a likviditásszolgáltató (LP) tokenek. Ezek általában nehézkesek vagy nem megfelelők, mivel az ERC-4626 követelménye, hogy maga is ERC-20 legyen.
Az ERC-7575 támogatja a több eszközzel rendelkező értékmegőrzőket az ERC-20 token implementációjának az ERC-4626 implementációból történő kiszervezésével.
Az ERC-7575 bővítésének teljes körű leírását az ERC-7575 tartalmazza.
Előfeltételek
Az oldal könnyebben megértéséhez javasoljuk, hogy tekintse át a Tokenszabványok és az ERC-20 című cikkeket.
ERC-4626 funkciók és jellemzők:
Metódusok
asset
1function asset() public view returns (address assetTokenAddress)Másolás
Ez a függvény visszaadja az értékmegőrzőben a könyveléshez, befizetéshez és kivonáshoz használt token címét.
totalAssets
1function totalAssets() public view returns (uint256)Másolás
Ez a függvény az értékmegőrzőben lévő fedezeti eszközök teljes összegét adja vissza.
convertToShares
1function convertToShares(uint256 assets) public view returns (uint256 shares)Másolás
Ez a függvény visszaadja a részvények (shares
) mennyiségét, amelyet az értékmegőrző a megadott eszközök (assets
) mennyiségéért cserélne.
convertToAssets
1function convertToAssets(uint256 shares) public view returns (uint256 assets)Másolás
Ez a függvény visszaadja az eszközök (assets
) mennyiségét, amelyet az értékmegőrző a megadott részvények (shares
) mennyiségéért cserélne.
maxDeposit
1function maxDeposit(address receiver) public view returns (uint256 maxAssets)Másolás
Ez a függvény a receiver
által egyetlen deposit
hívással letétbe helyezhető fedezeti eszközök maximális összegét adja vissza.
previewDeposit
1function previewDeposit(uint256 assets) public view returns (uint256 shares)Másolás
Ez a függvény lehetővé teszi a felhasználók számára, hogy szimulálják a betétük hatásait az aktuális blokkban.
letét
1function deposit(uint256 assets, address receiver) public returns (uint256 shares)Másolás
Ez a függvény a mögöttes tokenek eszközeit (assets
) helyezi el az értékmegőrzőben, és a részvények (shares
) tulajdonjogát a fogadónak (receiver
) adja.
maxMint
1function maxMint(address receiver) public view returns (uint256 maxShares)Másolás
Ez a függvény visszaadja a receiver
által egyetlen mint
hívással kiadható részvények maximális mennyiségét.
previewMint
1function previewMint(uint256 shares) public view returns (uint256 assets)Másolás
Ez a függvény lehetővé teszi a felhasználók számára, hogy szimulálják a mintelés hatásait az aktuális blokkban.
mint (kibocsátás)
1function mint(uint256 shares, address receiver) public returns (uint256 assets)Másolás
Ez a függvény pontosan shares
értékmegőrzői részvényeket ad ki a fogadónak (receiver
) az alapul szolgáló tokenek eszközeinek (assets
) letétbe helyezésével.
maxWithdraw
1function maxWithdraw(address owner) public view returns (uint256 maxAssets)Másolás
Ez a függvény az owner
egyenlegéből egyetlen withdraw
hívással kivehető fedezeti eszközök maximális összegét adja vissza.
previewWithdraw
1function previewWithdraw(uint256 assets) public view returns (uint256 shares)Másolás
Ez a függvény lehetővé teszi a felhasználók számára, hogy szimulálják a kivonásuk hatásait az aktuális blokkban.
withdraw
1function withdraw(uint256 assets, address receiver, address owner) public returns (uint256 shares)Másolás
Ez a függvény részvény (shares
) elégetését végzi a tulajdonostól (owner
), és pontosan ennyi shares
tokent küld az értékmegőrzőből a fogadónak (receiver
).
maxRedeem
1function maxRedeem(address owner) public view returns (uint256 maxShares)Másolás
Ez a függvény visszaadja az owner
egyenlegéből redeem
hívással visszaváltható részvények maximális mennyiségét.
previewRedeem
1function previewRedeem(uint256 shares) public view returns (uint256 assets)Másolás
Ez a függvény lehetővé teszi a felhasználók számára, hogy szimulálják a beváltásuk hatásait az aktuális blokkban.
redeem
1function redeem(uint256 shares, address receiver, address owner) public returns (uint256 assets)Másolás
Ez a függvény meghatározott számú részvényt (shares
) vált be a tulajdonostól (owner
), és elküldi a mögöttes token eszközöket (assets
) az értékmegőrzőből a fogadónak (receiver
).
totalSupply
1function totalSupply() public view returns (uint256)Másolás
Visszaadja a forgalomban lévő, be nem váltott értékmegőrző-részvények teljes számát.
balanceOf
1function balanceOf(address owner) public view returns (uint256)Másolás
Visszaadja az owner
által jelenleg birtokolt értékmegőrző-részvények teljes mennyiségét.
Az interfész térképe
Események
Letétbe helyezési esemény
Akkor KELL kiadni, amikor tokeneket helyeznek el az értékmegőrzőben a mint
és a deposit
metódusokon keresztül.
1event Deposit(2 address indexed sender,3 address indexed owner,4 uint256 assets,5 uint256 shares6)Másolás
Ahol a küldő (sender
) az a felhasználó, aki eszközöket (assets
) cserélt részvényre (shares
), és átadta ezeket a részvényeket (shares
) a tulajdonosnak (owner
).
Kivonási esemény
Ki KELL adni, amikor a letétes a redeem
vagy withdraw
módon részvényeket vesz ki az értékmegőrzőből.
1event Withdraw(2 address indexed sender,3 address indexed receiver,4 address indexed owner,5 uint256 assets,6 uint256 shares7)Másolás
Ahol a küldő (sender
) az a felhasználó, aki a kivonást kezdeményezte és a tulajdonos (owner
) tulajdonában lévő részvényeket (shares
) eszközökre (assets
) cserélte. A receiver
az a felhasználó, aki a visszavont eszközöket (assets
) megkapta.