Vai al contenuto principale
Change page

Standard della cassaforte tokenizzata ERC-4626

Ultima modifica: @Herbie_23(opens in a new tab), 30 gennaio 2024

Introduzione

ERC-4626 è uno standard per ottimizzare e unificare i parametri tecnici delle cassaforti di resa. Fornisce un'API standard per le cassaforti di resa tokenizzate che rappresenta le quote di un singolo token ERC-20 sottostante. ERC-4626 delinea anche un'estensione facoltativa per le cassaforti tokenizzate usando ERC-20, offrendo le funzionalità di base per depositare e prelevare token e leggere i saldi.

Il ruolo dell'ERC-4626 nelle cassaforti di resa

I mercati di prestito, gli aggregatori e i token intrinsecamente fruttiferi di interessi aiutano gli utenti a trovare la miglior resa sui propri cripto-token eseguendo strategie differenti. Queste strategie sono create con lievi variazioni, che potrebbero essere incline a errore o potrebbero sprecare risorse di sviluppo.

L'ERC-4626 nelle cassaforti di resa ridurrà lo sforzo di integrazione e sbloccherà l'accesso alla resa in varie applicazioni con piccoli sforzi specializzati dagli sviluppatori, creando schemi d'implementazione coerenti e robusti.

Il token ERC-4626 è descritto nella sua interezza in EIP-4626(opens in a new tab).

Prerequisiti

Per comprendere meglio questa pagina, consigliamo innanzitutto di leggere standard per i token e ERC-20.

ERC-4626 Funzioni e caratteristiche:

Metodi

asset

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

Questa funzione restituisce l'indirizzo del token sottostante, utilizzato per la cassaforte per la contabilità, i depositi e i prelievi.

totalAssets

1function totalAssets() public view returns (uint256)
Copia

Questa funzione restituisce l'importo totale di risorse sottostanti detenute dalla cassaforte.

convertToShares

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

Questa funzione restituisce la quantità di shares che sarebbe scambiata dalla cassaforte per la quantità fornita di assets.

convertToAssets

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

Questa funzione restituisce la quantità di assets che sarebbe scambiata dalla cassaforte per la quantità di shares fornita.

maxDeposit

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

Questa funzione restituisce la quantità massima di risorse sottostanti depositabili in una singola chiamata a deposit dal receiver.

previewDeposit

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

Questa funzione consente agli utenti di simulare gli effetti del loro deposito al blocco corrente.

deposit

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

Questa funzione deposita assets di token sottostanti nella cassaforte e concede la proprietà delle shares al receiver.

maxMint

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

Questa funzione restituisce la quantità massima di quote coniabili in una sola chiamata a mint dal receiver.

previewMint

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

Questa funzione consente agli utenti di simulare gli effetti del loro conio al blocco corrente.

mint

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

Questa funzione conia esattamente quote della cassaforte shares al receiver, depositando assets di token sottostanti.

maxWithdraw

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

Questa funzione restituisce la quantità massima di risorse sottostanti prelevabili dal saldo dell'owner con una singola chiamata a withdraw.

previewWithdraw

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

Questa funzione consente agli utenti di simulare gli effetti del loro prelievo al blocco corrente.

withdraw

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

Questa funzione brucia shares da owner e invia esattamente token assets dalla cassaforte al receiver.

maxRedeem

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

Questa funzione restituisce la quantità massima di quote che possono essere riscattate dal saldo dell'owner tramite una chiamata a redeem.

previewRedeem

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

Questa funzione consente agli utenti di simulare gli effetti del loro riscatto al blocco corrente.

redeem

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

Questa funzione riscatta un numero specifico di shares dall'owner e invia assets del token sottostante dalla cassaforte al receiver.

totalSupply

1function totalSupply() public view returns (uint256)
Copia

Restituisce il numero totale di quote della cassaforte non riscattate in circolazione.

balanceOf

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

Restituisce la quantità totale di quote della cassaforte che l'owner possiede attualmente.

Eventi

Evento di Deposito

DEVE essere emesso quando i token sono depositati nella cassaforte tramite i metodi mint e deposit

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

Dove sender è l'utente che ha scambiato assets per shares e ha trasferito tali shares all'owner.

Evento di Prelievo (Withdraw)

DEVE essere emesso quando le quote sono prelevate dalla cassaforte da un depositante con i metodi redeem o withdraw.

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

Dove sender è l'utente che ha innescato il prelievo e scambiato shares, possedute dall'owner, per assets. receiver è l'utente che ha ricevuto le assets prelevate.

Letture consigliate

Questo articolo è stato utile?