Passer au contenu principal
Change page

Norme de coffre-fort avec les jetons ERC-4626

Dernière mise à jour de la page : 21 octobre 2025

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 entièrement décrit dans l'EIP-4626opens in a new tab.

Extension de coffre-fort asynchrone (ERC-7540)

L'ERC-4626 est optimisé pour les dépôts et les rachats atomiques jusqu'à une certaine limite. Si la limite est atteinte, aucun nouveau dépôt ni rachat ne peut être soumis. Cette limitation ne fonctionne pas correctement pour les systèmes de contrats intelligents dont les actions asynchrones ou les retards sont une condition préalable à l'interface avec le coffre-fort (par exemple, les protocoles d'actifs du monde réel, les protocoles de prêts sous-collatéralisés, les protocoles de prêts entre chaînes, les jetons de mise en jeu liquides, ou les modules de sécurité d'assurance).

L'ERC-7540 étend l'utilité des coffre-forts ERC-4626 pour les cas d'utilisation asynchrones. L'interface de coffre-fort existante (deposit/withdraw/mint/redeem) est pleinement utilisée pour réclamer les demandes asynchrones.

L'extension ERC-7540 est entièrement décrite dans l'ERC-7540opens in a new tab.

Extension du coffre-fort multi-actifs (ERC-7575)

Parmi les cas d'utilisation qui ne sont pas pris en charge par l'ERC-4626, on trouve les coffres-forts qui possèdent plusieurs actifs ou points d'entrée, tels que les jetons de fournisseurs de liquidités (LP). Ces derniers sont généralement difficiles à manipuler ou non conformes en raison de l'exigence de l'ERC-4626 d'être lui-même un ERC-20.

L'ERC-7575 ajoute la prise en charge des coffre-forts comportant plusieurs actifs en externalisant l'implémentation du jeton ERC-20 à partir de l'implémentation de l'ERC-4626.

L'extension ERC-7575 est entièrement décrite dans l'ERC-7575opens in a new tab.

Prérequis

Pour mieux comprendre cette page, nous vous recommandons de commencer par vous informer sur les normes de jetons et l'ERC-20.

Fonctions et fonctionnalités ERC-4626 :

Méthodes

actif

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

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)

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)

Cette fonction renvoie le montant de parts qui seraient échangées par le coffre-fort contre le montant d' actifs fournis.

convertToAssets

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

Cette fonction renvoie le montant d' actifs qui seraient échangés par le coffre-fort contre le montant de parts fournies.

maxDeposit

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

Cette fonction renvoie le montant maximal d'actifs sous-jacents qui peuvent être déposés en un seul appel deposit, les parts étant frappées pour le receiver.

previewDeposit

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

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

deposit

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

Cette fonction dépose des actifs de jetons sous-jacents dans le coffre-fort et accorde la propriété de parts au destinataire.

maxMint

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

Cette fonction renvoie le montant maximal de parts qui peuvent être frappées en un seul appel mint, les parts étant frappées pour le receiver.

previewMint

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

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

mint

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

Cette fonction frappe exactement un nombre de parts du coffre-fort pour le destinataire en déposant des actifs de jetons sous-jacents.

maxWithdraw

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

Cette fonction renvoie le montant maximal d'actifs sous-jacents qui peuvent être retirés du solde du propriétaire avec un seul appel withdraw.

previewWithdraw

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

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

withdraw

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

Cette fonction brûle les parts du propriétaire et envoie exactement les actifs de jetons du coffre-fort au destinataire.

maxRedeem

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

Cette fonction renvoie le montant maximal de parts qui peuvent être rachetées sur le solde du propriétaire par le biais d'un appel redeem.

previewRedeem

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

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)

Cette fonction rachète un nombre spécifique de parts auprès du propriétaire et envoie des actifs du jeton sous-jacent du coffre-fort au destinataire.

totalSupply

1function totalSupply() public view returns (uint256)

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

balanceOf

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

Renvoie le montant total de parts de coffre-fort que le propriétaire détient actuellement.

Carte de l'interface

Carte de l'interface ERC-4626

Événements

Événement de dépôt

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

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

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

Évènement de retrait

DOIT être émis lorsque des parts sont retirées du coffre-fort par un déposant dans les méthodes redeem ou withdraw.

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

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

En savoir plus

Cet article vous a été utile ?