Pular para o conteúdo principal
Change page

Padrão de Token Pagável ERC-1363

Introdução

O que é o ERC-1363?

O ERC-1363 é uma interface de extensão para tokens ERC-20 que suporta a execução de lógica personalizada em um contrato receptor após transferências, ou em um contrato gastador após aprovações, tudo dentro de uma única transação.

Diferenças em relação ao ERC-20

Operações padrão do ERC-20, como transfer, transferFrom e approve, não permitem a execução de código no contrato receptor ou gastador sem uma transação separada. Isso introduz complexidade no desenvolvimento de interfaces de usuário (UI) e atrito na adoção, porque os usuários devem esperar que a primeira transação seja executada para então enviar a segunda. Eles também devem pagar gás duas vezes.

O ERC-1363 torna os tokens fungíveis capazes de realizar ações mais facilmente e funcionar sem o uso de qualquer ouvinte offchain. Ele permite fazer um callback em um contrato receptor ou gastador, após uma transferência ou uma aprovação, em uma única transação.

Pré-requisitos

Para entender melhor esta página, recomendamos que você leia primeiro sobre:

Corpo

O ERC-1363 introduz uma API padrão para tokens ERC-20 interagirem com contratos inteligentes após transfer, transferFrom ou approve.

Este padrão fornece funcionalidade básica para transferir tokens, bem como permitir que tokens sejam aprovados para que possam ser gastos por outro terceiro onchain, e então fazer um callback no contrato receptor ou gastador.

Existem muitos usos propostos de contratos inteligentes que podem aceitar callbacks ERC-20.

Exemplos podem ser:

  • Crowdsales: tokens enviados acionam a alocação instantânea de recompensa.
  • Serviços: o pagamento ativa o acesso ao serviço em uma única etapa.
  • Faturas: tokens liquidam faturas automaticamente.
  • Assinaturas: aprovar a taxa anual ativa a assinatura no pagamento do primeiro mês.

Por essas razões, foi originalmente chamado de "Token Pagável" ("Payable Token").

O comportamento de callback expande ainda mais sua utilidade, permitindo interações contínuas como:

  • Staking: tokens transferidos acionam o bloqueio automático em um contrato de staking.
  • Votação: tokens recebidos registram votos em um sistema de governança.
  • Troca: aprovações de token ativam a lógica de troca em uma única etapa.

Tokens ERC-1363 podem ser usados para utilidades específicas em todos os casos que exigem que um callback seja executado após uma transferência ou uma aprovação recebida. O ERC-1363 também é útil para evitar a perda de tokens ou o bloqueio de tokens em contratos inteligentes, verificando a capacidade do receptor de lidar com tokens.

Diferente de outras propostas de extensão do ERC-20, o ERC-1363 não substitui os métodos transfer e transferFrom do ERC-20 e define os IDs de interfaces a serem implementados mantendo a compatibilidade com versões anteriores do ERC-20.

Do EIP-1363 (opens in a new tab):

Métodos

Contratos inteligentes que implementam o padrão ERC-1363 DEVEM implementar todas as funções na interface ERC1363, bem como as interfaces ERC20 e ERC165.

Um contrato inteligente que deseja aceitar tokens ERC-1363 via transferAndCall ou transferFromAndCall DEVE implementar a interface ERC1363Receiver:

Um contrato inteligente que deseja aceitar tokens ERC-1363 via approveAndCall DEVE implementar a interface ERC1363Spender:

Leitura adicional

Última atualização da página: 4 de abril de 2025