EIP-4626 Tokenize edilmiş Kasa Standardı
Son düzenleme: @bicebaris(opens in a new tab), 8 Mayıs 2024
Giriş
ERC-4626, verim sağlayan kasaların teknik parametrelerini optimize etmek ve birleştirmek için bir standarttır. Tek bir temel ERC-20 tokeninin paylarını temsil eden tokenleştirilmiş getiri taşıyan kasalar için standart bir API sağlar. ERC-4626 ayrıca, ERC-20'yi kullanan tokenize edilmiş kasalar için isteğe bağlı bir uzantının ana hatlarını verir ve token yatırmak, çekmek ve bakiyeleri okumak için temel işlevler sunar.
ERC-4626'nın verim sağlayan kasalardaki rolü
Borç veren piyasalar, toplayıcılar ve özünde faiz getiren tokenler, kullanıcıların farklı stratejiler uygulayarak kripto tokenlerinde en iyi verimi bulmalarına yardımcı olur. Bu stratejiler, hataya açık olabilecek veya geliştirme kaynaklarını boşa harcayabilecek küçük değişikliklerle yapılır.
Verim-taşıyan para kasalarındaki ERC-4626, daha tutarlı ve sağlam uygulama kalıpları oluşturarak geliştiricilerin çok az özel çabası ile entegrasyon çabasını azaltacak ve çeşitli uygulamalarda verime erişimin kilidini açacaktır.
ERC-4626 token'ı, EIP-4626(opens in a new tab)'te tam olarak açıklanmıştır.
Ön Koşullar
Bu sayfayı daha iyi anlamak için önce token standartları ve ERC-20 hakkında okumanızı öneririz.
ERC-4626 Fonksiyonları ve Özellikleri:
Yöntemler
asset
1function asset() public view returns (address assetTokenAddress)Kopyala
Bu fonksiyon; muhasebe, yatırma ve çekme kasası için kullanılan temel jetonun adresini döndürür.
totalAssets
1function totalAssets() public view returns (uint256)Kopyala
Bu fonksiyon, kasa tarafından tutulan temel varlıkların toplam miktarını döndürür.
convertToShares
1function convertToShares(uint256 assets) public view returns (uint256 shares)Kopyala
Bu fonksiyon, sağlanan assets
miktarı için olan kasa tarafından takas edilen shares
miktarını döndürür.
convertToAssets
1function convertToAssets(uint256 shares) public view returns (uint256 assets)Kopyala
Bu fonksiyon, sağlanan shares
miktarı için olan kasa tarafından takas edilen assets
miktarını döndürür.
maxDeposit
1function maxDeposit(address receiver) public view returns (uint256 maxAssets)Kopyala
Bu fonksiyon, receiver
tarafından yapılan tek bir deposit
çağrısında yatırılabilecek temel varlıkların maksimum miktarını döndürür.
previewDeposit
1function previewDeposit(uint256 assets) public view returns (uint256 shares)Kopyala
Bu fonksiyon, kullanıcıların güncel bloktaki yatırma etkilerini simüle etmelerini sağlar.
mevduat
1function deposit(uint256 assets, address receiver) public returns (uint256 shares)Kopyala
Bu fonksiyon, temel jetonların assets
'ini kasaya yatırır ve shares
mülkiyetini receiver
'a verir.
maxMint
1function maxMint(address receiver) public view returns (uint256 maxShares)Kopyala
Bu fonksiyon, receiver
tarafından yapılan tek bir mint
çağrısında basılabilecek payların maksimum miktarını döndürür.
previewMint
1function previewMint(uint256 shares) public view returns (uint256 assets)Kopyala
Bu fonksiyon, kullanıcıların güncel bloktaki basma etkilerini simüle etmelerini sağlar.
mint
1function mint(uint256 shares, address receiver) public returns (uint256 assets)Kopyala
Bu fonksiyon, temel jetonların assets
'ini yatırarak receiver
'a tam olarak shares
kasa payı basar.
maxWithdraw
1function maxWithdraw(address owner) public view returns (uint256 maxAssets)Kopyala
Bu fonksiyon, owner
bakiyesinden tek bir withdraw
çağrısıyla çekilebilecek maksimum temel varlık miktarını döndürür.
previewWithdraw
1function previewWithdraw(uint256 assets) public view returns (uint256 shares)Kopyala
Bu fonksiyon, kullanıcıların güncel bloktaki çekme etkilerini simüle etmelerini sağlar.
para çek
1function withdraw(uint256 assets, address receiver, address owner) public returns (uint256 shares)Kopyala
Bu fonksiyon, owner
'dan shares
yakar ve kasadan receiver
'a tam olarak assets
jeton gönderir.
maxRedeem
1function maxRedeem(address owner) public view returns (uint256 maxShares)Kopyala
Bu fonksiyon, redeem
çağrısı ile owner
bakiyesinden geri alınabilecek maksimum pay miktarını döndürür.
previewRedeem
1function previewRedeem(uint256 shares) public view returns (uint256 assets)Kopyala
Bu fonksiyon, kullanıcıların güncel bloktaki geri alma etkilerini simüle etmelerini sağlar.
redeem
1function redeem(uint256 shares, address receiver, address owner) public returns (uint256 assets)Kopyala
Bu fonksiyon, owner
'dan spesifik sayıda shares
'i geri alır ve kasadaki temel jetonun assets
'ini receiver
'a gönderir.
totalSupply
1function totalSupply() public view returns (uint256)Kopyala
Dolaşımdaki geri alınmamış kasa paylarının toplam sayısını verir.
balanceOf
1function balanceOf(address owner) public view returns (uint256)Kopyala
owner
'ın güncel olarak sahip olduğu toplam kasa payı miktarını döndürür.
Arayüzün haritası
Etkinlikler
Yatırma Olayları
Jetonlar kasaya mint
ve deposit
yöntemleri aracılığıyla yatırıldığında çıkarılmış olmak ZORUNDADIR
1event Deposit(2 address indexed sender,3 address indexed owner,4 uint256 assets,5 uint256 shares6)Kopyala
sender
'ın, shares
için assets
takası yapan ve söz konusu shares
'i owner
'a transfer eden kullanıcı olduğu durumlarda.
Çekim Olayı
Paylar kasadan redeem
veya withdraw
yöntemlerinde bir yatıran tarafından çekildiğinde çıkarılmış olmak ZORUNDADIR.
1event Withdraw(2 address indexed sender,3 address indexed receiver,4 address indexed owner,5 uint256 assets,6 uint256 shares7)Kopyala
sender
'ın çekimi tetikleyen ve assets
için owner
'ın sahip olduğu shares
'i takas eden kullanıcı olduğu durumlarda. receiver
, çekilmiş assets
'i alan kullanıcıdır.