Passer au contenu principal
Change page

Norme de jeton payable ERC-1363

Introduction

Qu'est-ce que l'ERC-1363 ?

L'ERC-1363 est une interface d'extension pour les jetons ERC-20 qui prend en charge l'exécution d'une logique personnalisée sur un contrat destinataire après des transferts, ou sur un contrat dépensier après des approbations, le tout en une seule transaction.

Différences par rapport à l'ERC-20

Les opérations ERC-20 standard telles que transfer, transferFrom et approve ne permettent pas l'exécution de code sur le contrat destinataire ou dépensier sans une transaction distincte. Cela introduit de la complexité dans le développement de l'interface utilisateur et des frictions dans l'adoption, car les utilisateurs doivent attendre que la première transaction soit exécutée avant de soumettre la seconde. Ils doivent également payer le gaz deux fois.

L'ERC-1363 permet aux jetons fongibles d'effectuer des actions plus facilement et de fonctionner sans l'utilisation d'un écouteur hors chaîne. Il permet d'effectuer un rappel (callback) sur un contrat récepteur ou dépensier, après un transfert ou une approbation, en une seule transaction.

Prérequis

Pour mieux comprendre cette page, nous vous recommandons de lire d'abord ce qui suit :

Corps

L'ERC-1363 introduit une API standard pour les jetons ERC-20 afin d'interagir avec les contrats intelligents après transfer, transferFrom ou approve.

Cette norme fournit des fonctionnalités de base pour transférer des jetons, ainsi que pour permettre l'approbation des jetons afin qu'ils puissent être dépensés par un autre tiers onchain, puis effectuer un rappel sur le contrat récepteur ou dépensier.

Il existe de nombreuses propositions d'utilisation de contrats intelligents pouvant accepter les rappels ERC-20.

Voici quelques exemples :

  • Ventes participatives (Crowdsales) : les jetons envoyés déclenchent l'attribution instantanée d'une récompense.
  • Services : le paiement active l'accès au service en une seule étape.
  • Factures : les jetons règlent les factures automatiquement.
  • Abonnements : l'approbation du tarif annuel active l'abonnement dès le paiement du premier mois.

Pour ces raisons, il a été initialement nommé « Jeton payable » (Payable Token).

Le comportement de rappel étend encore son utilité, permettant des interactions fluides telles que :

  • Staking : les jetons transférés déclenchent un verrouillage automatique dans un contrat de staking.
  • Vote : les jetons reçus enregistrent des votes dans un système de gouvernance.
  • Échange (Swapping) : les approbations de jetons activent la logique d'échange en une seule étape.

Les jetons ERC-1363 peuvent être utilisés pour des utilités spécifiques dans tous les cas nécessitant l'exécution d'un rappel après un transfert ou une approbation reçue. L'ERC-1363 est également utile pour éviter la perte ou le verrouillage de jetons dans les contrats intelligents en vérifiant la capacité du destinataire à gérer les jetons.

Contrairement à d'autres propositions d'extension ERC-20, l'ERC-1363 ne remplace pas les méthodes transfer et transferFrom de l'ERC-20 et définit les identifiants d'interfaces à implémenter tout en maintenant la rétrocompatibilité avec l'ERC-20.

D'après l'EIP-1363 (opens in a new tab) :

Méthodes

Les contrats intelligents implémentant la norme ERC-1363 DOIVENT implémenter toutes les fonctions de l'interface ERC1363, ainsi que les interfaces ERC20 et ERC165.

Un contrat intelligent qui souhaite accepter des jetons ERC-1363 via transferAndCall ou transferFromAndCall DOIT implémenter l'interface ERC1363Receiver :

Un contrat intelligent qui souhaite accepter des jetons ERC-1363 via approveAndCall DOIT implémenter l'interface ERC1363Spender :

Complément d'information

Dernière mise à jour de la page : 4 avril 2025