Skip to content

Latest commit

 

History

History
53 lines (28 loc) · 5.62 KB

smartcontractsTitulos.md

File metadata and controls

53 lines (28 loc) · 5.62 KB

Interação com os smart contracts Selic

Objetivo

Esta documentação tem como objetivo detalhar como será feita a interação com os smart contracts das operações que envolvem Títulos Públicos Federais tokenizados (TPFt), que estão disponíveis na rede do piloto do Real Digital Selic.

Por se tratar de um piloto em ambiente de testes, esta documentação está sujeita a constantes evoluções que serão aqui refletidas.

Serão fornecidos aos participantes do piloto a ABI de cada um dos contratos e seus respectivos endereços publicados na rede. Cada participante deve implementar, da forma que melhor entender, a sua interação com os contratos, fazendo uso de bibliotecas padrão Web3 como, por exemplo, o Web3JS, Web3J, ou frameworks como o Hardhat ou Truffle.

Smart Contracts

Os contratos das operações (liquidação de oferta pública e compra e venda) que envolvem TPFt foram desenvolvidos usando como base o padrão ERC1155, com a adição de funções específicas de controle de acesso. Somente participantes autorizados podem operar na rede do piloto, e é necessário realizar habilitações para efetuar as operações com TPFt.

Uma operação será identificada unicamente pelo operationId informado pelo participante. Este número será único na rede e sugere-se que seja utilizado o número da faixa do participante concatenado com a data vigente. Este formato não será validado e o operationId será utilizado para realizar a correspondência de uma operação de duplo comando.

Os valores de preço unitário, quantidade e valor financeiro serão tratados nos contratos assumindo os últimos algarismos como casas decimais de acordo com cada tipo de atributo. Caso o atributo seja um inteiro, deve ser preenchido o número de casas decimais com zero nos últimos algarismos.

Título Público Federal tokenizado - TPFt

O TPFt está definido no contrato chamado TPFt que implementa a interface ITPFt.

  • O TPFt é fungível e identificado pelo seu código, sigla e data vencimento.
  • A carteira da Secretaria do Tesouro Nacional (STN) é a gestora do token.
  • Somente carteiras autorizadas podem receber TPFt.
  • Os tokens disponibilizados seguirão as características dos Títulos Públicos Federais.

Liquidação de oferta pública - Operação 1002

A liquidação de oferta pública está definida no contrato chamado TPFtOperation1002 que implementa a interface ITPFtOperation1002. O contrato permite transferir quantidades inteiras de TPFt da carteira default da STN para a carteira default de um participante cadastrado por meio do método auctionPlacement. A liquidação da operação é realizada com a entrega contra pagamento (DvP) e somente o Bacen pode transmitir o comando cedente dessa operação. Tanto o Bacen/STN quanto o Participante, na posição de cedente e cessionário, podem cancelar operações pendentes, desde que o operationId exista, o status da operação seja "LAN" ou "CON", e apenas a parte que iniciou o processo de liquidação de oferta pública pode solicitar o cancelamento.

Compra e venda - Operação 1052

A operação de compra e venda entre participantes e/ou clientes está definida no contrato chamado TPFtOperation1052 que implementa a interface ITPFtOperation1052. O contrato permite transferir quantidades fracionárias de TPFt entre carteiras de participantes e/ou clientes cadastrados por meio do método trade. A liquidação da operação é executada com a entrega contra pagamento (DvP). As partes envolvidas, sejam participantes ou clientes, na posição de cedente e cessionário, podem cancelar operações pendentes, desde que o operationId exista, o status da operação seja "LAN" ou "CON", e apenas a parte que iniciou o processo de liquidação da operação de compra e venda possa solicitar o cancelamento.

Resgate - Operação 1012

A operação de resgate está definida no contrato de uso exclusivo do Banco Central chamado TPFtOperation1012. O contrato permite que o Tesouro Nacional realize o pagamento de resgate na data do vencimento do TPFt. A liquidação da operação é executada pagando Real Digital para o participante e emitindo Real Tokenizado para o cliente do participante. Não foi implementada a baixa de TPFt.

Importante

Habilitação de carteiras para TPFt

A habilitação das carteiras de participantes e clientes nas operações dos Títulos Públicos Federais tokenizados (TPFt) é diferente da habilitação das carteiras de participantes e clientes no Real Digital. Para a carteira do participante ou do cliente realizar operações no TPFt, é preciso que o participante solicite a habilitação junto ao BACEN.

Identificação de clientes para o TPFt

A identificação das carteiras de clientes e participantes nos contratos dos Títulos Públicos Federais tokenizados (TPFt) é feita da seguinte forma:

  1. Carteira de cliente é identificada no cadastro do Key Dictionary. Neste caso, o pagamento do resgate é feito em Real Tokenizado;

  2. Carteira do participante é identificada no cadastro do Real Digital e inexistente no Key Dictionary. Neste caso, o pagamento do resgate é feito em Real Digital.