Passer au contenu principal
Change page

Norme de coffre-fort avec les jetons ERC-4626

Dernière modification: @J4yD3v(opens in a new tab), 8 mai 2024

Introduction

ERC-4626 est une norme pour optimiser et standardiser les paramètres techniques des coffres à rendement. Elle fournit une API standard pour les coffres à rendement tokenisé qui représentent les actions d'un seul jeton ERC-20 sous-jacent. L'ERC-4626 soulignent également une extension facultative pour les coffres à jetons utilisant l'ERC-20, offrant ainsi des fonctionnalités de base pour les dépôts, les retraits de jetons et la lecture des soldes.

Le rôle de l’ERC-4626 dans les coffres à rendement

Les marchés de prêts, les agrégateurs et les jetons intrinsèquement porteurs d'intérêts aident les utilisateurs à trouver le meilleur rendement pour leurs jetons de cryptomonnaie en exécutant différentes stratégies. Ces stratégies s'opèrent avec de légères variations, qui pourraient être source d'erreurs ou de perte de ressources de développement.

Les coffres de rendement ERC-4626 réduiront l'effort d'intégration et ouvriront l'accès au rendement de diverses applications avec peu d'efforts spécialisés de la part des développeurs, en créant des modèles d'implémentation plus cohérents et plus robustes.

Le jeton ERC-4626 est décrit dans les détails dans EIP-4626(opens in a new tab).

Pré-requis

Pour mieux comprendre cette page, nous vous recommandons de commencer par lire celles concernant les normes des jetons et ERC-20.

Fonctions et fonctionnalités ERC-4626 :

Méthodes

asset

1function asset() public view returns (address assetTokenAddress)
Copier

Cette fonction retourne l'adresse du jeton sous-jacent utilisé pour le coffre pour la comptabilité, le dépôt, le retrait.

totalAssets

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

Cette fonction retourne le montant total des actifs sous-jacents détenus dans le coffre.

convertToShares

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

Cette fonction retourne le montant de shares qui seraient échangées par le coffre pour le montant d'assets fourni.

convertToAssets

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

Cette fonction retourne le montant d'assets qui seraient échangés par le coffre pour le montant de shares fourni.

maxDeposit

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

Cette fonction retourne le montant maximal des actifs sous-jacents qui peuvent être déposés en un seul appel de deposit par le receiver.

previewDeposit

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

Cette fonction permet aux utilisateurs de simuler les effets de leur dépôt sur le bloc actuel.

dépôt

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

Cette fonction dépose les assets de jetons sous-jacents dans le coffre et accorde la propriété de shares au receiver.

maxMint

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

Cette fonction retourne le nombre maximum d'actions qui peuvent être produites en un seul appel mint par le receiver.

previewMint

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

Cette fonction permet aux utilisateurs de simuler les effets de leur frappe sur le bloc actuel.

frapper

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

Cette fonction produit exactement shares actions du coffre au receiver en déposant des assets de jetons sous-jacents.

maxWithdraw

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

Cette fonction retourne le montant maximal des actifs sous-jacents qui peuvent être retirés du solde de l'owner en un seul appel à la fonction withdraw.

previewWithdraw

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

Cette fonction permet aux utilisateurs de simuler les effets de leur retrait sur le bloc actuel.

retrait

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

Cette fonction détruit shares de l'owner et envoie exactement assets jeton depuis le coffre au receiver.

maxRedeem

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

Cette fonction retourne le montant maximum d'actions qui peuvent être rachetées du solde de l'orner par un appel à la fonction redeem.

previewRedeem

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

Cette fonction permet aux utilisateurs de simuler les effets de leur rachat sur le bloc actuel.

redeem

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

Cette fonction rachète un nombre spécifique de shares de l'owner et envoie des assets de jeton sous-jacent du coffre au receiver.

totalSupply

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

Renvoie le nombre total d'actions non rachetées en circulation.

balanceOf

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

Renvoie le nombre total d'actions détenues par l'owner.

Plan de l'interface

Plan de l'interface ERC-4626

Évènements

Événement de dépôt

DOIT être déclenché lorsque des jetons sont déposés dans le coffre via les méthodes mint et deposit

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

sender est l'utilisateur qui a échangé assets contre shares, et a transféré ces shares à l'owner.

Évènement de retrait

DOIT être déclenché lorsque les actions sont retirées du coffre par un déposant via les méthodes redeem ou withdraw.

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

sender est l'utilisateur qui a déclenché le retrait et échangé shares, détenues par owner, contre assets. receiver est l'utilisateur qui a reçu les assets retirés.

Complément d'information

Cet article vous a été utile ?