Vai al contenuto principale
Change page

Standard della cassaforte tokenizzata ERC-4626

Ultima modifica: @Herbie_23(opens in a new tab), Invalid DateTime

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?