Ana içeriğe atla
Change page

ERC-4626 Tokenleştirilmiş Kasa Standardı

Giriş

ERC-4626, getiri sağlayan kasaların teknik parametrelerini optimize etmek ve birleştirmek için bir standarttır. Tek bir dayanak ERC-20 tokeninin paylarını temsil eden tokenleştirilmiş getiri sağlayan kasalar için standart bir API sağlar. ERC-4626 ayrıca, ERC-20 kullanan tokenleştirilmiş kasalar için isteğe bağlı bir uzantının ana hatlarını çizerek token yatırma, çekim yapma ve bakiyeleri okuma gibi temel işlevler sunar.

Getiri sağlayan kasalarda ERC-4626'nın rolü

Borç verme piyasaları, toplayıcılar ve doğası gereği faiz getiren tokenler, farklı stratejiler yürüterek kullanıcıların kripto tokenlerinde en iyi getiriyi bulmalarına yardımcı olur. Bu stratejiler, hataya açık olabilen veya geliştirme kaynaklarını boşa harcayabilen küçük farklılıklarla yapılır.

Getiri sağlayan kasalardaki ERC-4626, daha tutarlı ve sağlam uygulama kalıpları oluşturarak entegrasyon çabasını azaltacak ve geliştiricilerin çok az özel çabasıyla çeşitli uygulamalarda getiriye erişimin kilidini açacaktır.

ERC-4626 tokeni, EIP-4626 (opens in a new tab) içinde tam olarak açıklanmıştır.

Asenkron kasa uzantısı (ERC-7540)

ERC-4626, belirli bir sınıra kadar atomik para yatırma ve itfa işlemleri için optimize edilmiştir. Sınıra ulaşılırsa, yeni para yatırma veya itfa işlemleri gönderilemez. Bu sınırlama, Kasa ile arayüz oluşturmak için bir ön koşul olarak asenkron eylemlere veya gecikmelere sahip herhangi bir akıllı sözleşme sistemi için iyi çalışmaz (örneğin, gerçek dünya varlık protokolleri, eksik teminatlandırılmış borç verme protokolleri, zincirler arası borç verme protokolleri, likit staking tokenleri veya sigorta güvenlik modülleri).

ERC-7540, asenkron kullanım durumları için ERC-4626 Kasalarının faydasını genişletir. Mevcut Kasa arayüzü (deposit/withdraw/mint/redeem), asenkron İstekleri talep etmek için tam olarak kullanılır.

ERC-7540 uzantısı, ERC-7540 (opens in a new tab) içinde tam olarak açıklanmıştır.

Çoklu varlık kasa uzantısı (ERC-7575)

ERC-4626 tarafından desteklenmeyen eksik bir kullanım durumu, likidite sağlayıcı (LP) Tokenleri gibi birden fazla varlığa veya giriş noktasına sahip Kasalardır. Bunlar, ERC-4626'nın kendisinin bir ERC-20 olması gerekliliği nedeniyle genellikle kullanışsızdır veya uyumlu değildir.

ERC-7575, ERC-20 token uygulamasını ERC-4626 uygulamasından dışsallaştırarak birden fazla varlığa sahip Kasalar için destek ekler.

ERC-7575 uzantısı, ERC-7575 (opens in a new tab) içinde tam olarak açıklanmıştır.

Ön Koşullar

Bu sayfayı daha iyi anlamak için öncelikle token standartları ve ERC-20 hakkında okumanızı öneririz.

ERC-4626 İşlevleri ve Özellikleri:

Yöntemler

asset

function asset() public view returns (address assetTokenAddress)

Bu işlev, muhasebe, para yatırma ve çekim işlemleri için kasa için kullanılan dayanak tokenin adresini döndürür.

totalAssets

function totalAssets() public view returns (uint256)

Bu işlev, kasa tarafından tutulan dayanak varlıkların toplam miktarını döndürür.

convertToShares

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

Bu işlev, sağlanan assets miktarı karşılığında kasa tarafından takas edilecek shares miktarını döndürür.

convertToAssets

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

Bu işlev, sağlanan shares miktarı karşılığında kasa tarafından takas edilecek assets miktarını döndürür.

maxDeposit

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

Bu işlev, receiver için basılan paylarla birlikte tek bir deposit çağrısında yatırılabilecek maksimum dayanak varlık miktarını döndürür.

previewDeposit

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

Bu işlev, kullanıcıların mevcut blokta para yatırma işlemlerinin etkilerini simüle etmelerine olanak tanır.

deposit

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

Bu işlev, kasaya assets miktarında dayanak token yatırır ve shares mülkiyetini receiver adresine verir.

maxMint

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

Bu işlev, receiver için basılan paylarla birlikte tek bir mint çağrısında basılabilecek maksimum pay miktarını döndürür.

previewMint

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

Bu işlev, kullanıcıların mevcut blokta basım işlemlerinin etkilerini simüle etmelerine olanak tanır.

mint

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

Bu işlev, assets miktarında dayanak token yatırarak receiver adresine tam olarak shares kasa payı basar.

maxWithdraw

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

Bu işlev, tek bir withdraw çağrısı ile owner bakiyesinden çekilebilecek maksimum dayanak varlık miktarını döndürür.

previewWithdraw

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

Bu işlev, kullanıcıların mevcut blokta çekim işlemlerinin etkilerini simüle etmelerine olanak tanır.

withdraw

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

Bu işlev, owner adresinden shares yakar ve kasadan receiver adresine tam olarak assets token gönderir.

maxRedeem

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

Bu işlev, bir redeem çağrısı aracılığıyla owner bakiyesinden itfa edilebilecek maksimum pay miktarını döndürür.

previewRedeem

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

Bu işlev, kullanıcıların mevcut blokta itfa işlemlerinin etkilerini simüle etmelerine olanak tanır.

redeem

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

Bu işlev, owner adresinden belirli bir sayıda shares itfa eder ve kasadan receiver adresine assets miktarında dayanak token gönderir.

totalSupply

function totalSupply() public view returns (uint256)

Dolaşımdaki itfa edilmemiş toplam kasa payı sayısını döndürür.

balanceOf

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

owner adresinin şu anda sahip olduğu toplam kasa payı miktarını döndürür.

Arayüz haritası

Map of the ERC-4626 interface

Olaylar

Deposit Olayı

Tokenler mint ve deposit yöntemleri aracılığıyla kasaya yatırıldığında YAYINLANMALIDIR.

event Deposit(
    address indexed sender,
    address indexed owner,
    uint256 assets,
    uint256 shares
)

Burada sender, assets miktarını shares ile takas eden ve bu shares miktarını owner adresine transfer eden kullanıcıdır.

Withdraw Olayı

Paylar, bir yatırıcı tarafından redeem veya withdraw yöntemlerinde kasadan çekildiğinde YAYINLANMALIDIR.

event Withdraw(
    address indexed sender,
    address indexed receiver,
    address indexed owner,
    uint256 assets,
    uint256 shares
)

Burada sender, çekim işlemini tetikleyen ve owner adresine ait olan shares miktarını assets ile takas eden kullanıcıdır. receiver, çekilen assets miktarını alan kullanıcıdır.

Daha fazla bilgi