Skip to content

Commit

Permalink
Adiciona exemplos e nova documentação do selic.
Browse files Browse the repository at this point in the history
  • Loading branch information
aldenio committed Aug 15, 2024
1 parent 848d8a3 commit b57f338
Show file tree
Hide file tree
Showing 12 changed files with 1,545 additions and 81 deletions.
32 changes: 32 additions & 0 deletions ITPFt.md
Original file line number Diff line number Diff line change
Expand Up @@ -277,3 +277,35 @@ Função externa que retorna o status de pausa para um determinado ID de TPFt.
| ---- | ---- | ----------- |
| [0] | bool | Retorna true se o TPFt está pausado para operações, false se não está. |

### burn

```solidity
function burn(address from, uint256 tpftId, uint256 tpftAmount) external
```

Função para realizar a baixa de um TPFt pelo seu ID.

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| from | address | Endereço da carteira que será realizada a baixa do TPFt. |
| tpftId | uint256 | ID do TPFt. |
| tpftAmount | uint256 | Quantidade de TPFt a ser realizada a baixa. |

### burn

```solidity
function burn(address from, struct ITPFt.TPFtData tpftData, uint256 tpftAmount) external
```

Função para realizar a baixa de um TPFt pelo TPFtData.

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| from | address | Endereço da carteira que será realizada a baixa do TPFt. |
| tpftData | struct ITPFt.TPFtData | Estrutura de dados do TPFt, que incluem as seguintes informações: <br />- `acronym`: A sigla do TPFt. <br />- `code`: O código único do TPFt. <br />- `maturityDate`: A data de vencimento do TPFt, representada como um valor numérico (timestamp Unix). |
| tpftAmount | uint256 | Quantidade de TPFt a ser realizada a baixa. |

117 changes: 117 additions & 0 deletions ITPFtOperation1012.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# Solidity API

## ITPFtOperation1012

Interface responsável por permitir o resgate de Título Público Federal tokenizado (TPFt).

### OperationRepaymentParticipant

```solidity
event OperationRepaymentParticipant(address sender, uint256 tpftId, struct ITPFt.TPFtData tpftData, uint256 tpftAmount, uint256 operationId, uint256 unitRepaymentPrice, uint256 financialRepaymentValue, string status, uint256 timestamp)
```

Evento emitido quando uma operação de resgate é realizada para a carteira de um participante.

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| sender | address | Endereço do cedente da operação. |
| tpftId | uint256 | Id do TPFt. |
| tpftData | struct ITPFt.TPFtData | Estrutura de dados do TPFt, que incluem as seguintes informações: <br />- `acronym`: A sigla do TPFt. <br />- `code`: O código único do TPFt. <br />- `maturityDate`: A data de vencimento do TPFt, representada como um valor numérico (timestamp Unix). |
| tpftAmount | uint256 | Quantidade de TPFt resgatada. |
| operationId | uint256 | Número de operação + data vigente no formato yyyyMMdd. |
| unitRepaymentPrice | uint256 | Preço unitário de cada TPFt ao momento do resgate. |
| financialRepaymentValue | uint256 | Valor financeiro em Real Digital a ser pago ao cedente (participante) pela STN. |
| status | string | Status da operação. |
| timestamp | uint256 | Valor numérico que indica um ponto específico no tempo fornecido em formato de timestamp Unix. |

### OperationRepaymentClient

```solidity
event OperationRepaymentClient(address sender, uint256 tpftId, contract RealTokenizado senderToken, struct ITPFt.TPFtData tpftData, uint256 operationId, uint256 tpftAmount, uint256 unitRepaymentPrice, uint256 financialRepaymentValue, string status, uint256 timestamp)
```

Evento emitido quando uma operação de resgate é realizada para a carteira de um cliente.

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| sender | address | Endereço do cedente da operação. |
| tpftId | uint256 | Id do TPFt. |
| senderToken | contract RealTokenizado | RealTokenizado do cedente da operação. |
| tpftData | struct ITPFt.TPFtData | Estrutura de dados do TPFt, que incluem as seguintes informações: <br />- `acronym`: A sigla do TPFt. <br />- `code`: O código único do TPFt. <br />- `maturityDate`: A data de vencimento do TPFt, representada como um valor numérico (timestamp Unix). |
| operationId | uint256 | Número de operação + data vigente no formato yyyyMMdd. |
| tpftAmount | uint256 | Quantidade de TPFt resgatada. |
| unitRepaymentPrice | uint256 | Preço unitário de cada TPFt ao momento do resgate. |
| financialRepaymentValue | uint256 | Valor financeiro em Real Tokenizado a ser pago ao cedente (cliente) pela STN. |
| status | string | Status da operação. |
| timestamp | uint256 | Valor numérico que indica um ponto específico no tempo fornecido em formato de timestamp Unix. |

### OperationRepaymentWithReserve

```solidity
event OperationRepaymentWithReserve(address sender, uint256 tpftId, contract RealTokenizado senderToken, struct ITPFt.TPFtData tpftData, uint256 operationId, uint256 tpftAmount, uint256 unitRepaymentPrice, uint256 financialRepaymentValue, string status, address reserveAccount, uint256 timestamp)
```

Evento emitido quando uma operação de resgate é realizada para a carteira do participante
associado ao cliente que não pode resgatar.

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| sender | address | Endereço do cedente da operação. |
| tpftId | uint256 | Id do TPFt. |
| senderToken | contract RealTokenizado | RealTokenizado do cedente da operação. |
| tpftData | struct ITPFt.TPFtData | Estrutura de dados do TPFt, que incluem as seguintes informações: <br />- `acronym`: A sigla do TPFt. <br />- `code`: O código único do TPFt. <br />- `maturityDate`: A data de vencimento do TPFt, representada como um valor numérico (timestamp Unix). |
| operationId | uint256 | Número de operação + data vigente no formato yyyyMMdd. |
| tpftAmount | uint256 | Quantidade de TPFt resgatada. |
| unitRepaymentPrice | uint256 | Preço unitário de cada TPFt ao momento do resgate. |
| financialRepaymentValue | uint256 | Valor financeiro em Real Tokenizado a ser pago ao cedente (cliente) pela STN. |
| status | string | Status da operação. |
| reserveAccount | address | Endereço da carteira de reserva do participante. |
| timestamp | uint256 | Valor numérico que indica um ponto específico no tempo fornecido em formato de timestamp Unix. |

### OperationRepaymentForContract

```solidity
event OperationRepaymentForContract(address sender, uint256 tpftId, struct ITPFt.TPFtData tpftData, uint256 operationId, uint256 tpftAmount, uint256 unitRepaymentPrice, uint256 financialRepaymentValue, address contractAddress, string status, string reason, uint256 timestamp)
```

Evento emitido quando uma operação de resgate para um participante ou cliente é realizada no contrato TPFtRepaymentReserve.

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| sender | address | Endereço do cedente da operação. |
| tpftId | uint256 | Id do TPFt. |
| tpftData | struct ITPFt.TPFtData | Estrutura de dados do TPFt, que incluem as seguintes informações: <br />- `acronym`: A sigla do TPFt. <br />- `code`: O código único do TPFt. <br />- `maturityDate`: A data de vencimento do TPFt, representada como um valor numérico (timestamp Unix). |
| operationId | uint256 | Número de operação + data vigente no formato yyyyMMdd. |
| tpftAmount | uint256 | Quantidade de TPFt resgatada. |
| unitRepaymentPrice | uint256 | Preço unitário de cada TPFt ao momento do resgate. |
| financialRepaymentValue | uint256 | Valor financeiro em Real Tokenizado a ser pago ao cedente (cliente) pela STN. |
| contractAddress | address | Endereço do contrato de resgate. |
| status | string | Status da operação. |
| reason | string | Motivo de pagamento no contrato de resgate. |
| timestamp | uint256 | Valor numérico que indica um ponto específico no tempo fornecido em formato de timestamp Unix. |

### repayment

```solidity
function repayment(address sender, uint256 operationId, struct ITPFt.TPFtData tpftData, uint256 unitRepaymentPrice) external
```

Função para o Tesouro Nacional realizar o pagamento de resgate na data de vencimento de um TPFt.

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| sender | address | Endereço da carteira do cedente da operação. |
| operationId | uint256 | Número de operação + data vigente no formato yyyyMMdd. |
| tpftData | struct ITPFt.TPFtData | Estrutura de dados do TPFt, que incluem as seguintes informações: <br />- `acronym`: A sigla do TPFt. <br />- `code`: O código único do TPFt. <br />- `maturityDate`: A data de vencimento do TPFt, representada como um valor numérico (timestamp Unix). |
| unitRepaymentPrice | uint256 | Preço unitário de cada TPFt no momento do resgate. |

142 changes: 142 additions & 0 deletions ITPFtRepaymentReserve.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
# Solidity API

## ITPFtRepaymentReserve

Interface responsável por armazenar e realizar o pagamento de saldos de TPFt que não puderam ser resgatados.

### WithdrawalForParticipant

```solidity
event WithdrawalForParticipant(address sender, uint256 tpftId, struct ITPFt.TPFtData tpftData, uint256 operationId, uint256 financialRepaymentValue, string status, uint256 timestamp)
```

Evento emitido quando é realizado o saque do valor financeiro armazenado no contrato para um participante.

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| sender | address | Endereço do cedente da operação. |
| tpftId | uint256 | Id do TPFt. |
| tpftData | struct ITPFt.TPFtData | Estrutura de dados do TPFt, que incluem as seguintes informações: <br />- `acronym`: A sigla do TPFt. <br />- `code`: O código único do TPFt. <br />- `maturityDate`: A data de vencimento do TPFt, representada como um valor numérico (timestamp Unix). |
| operationId | uint256 | Número de operação + data vigente no formato yyyyMMdd. |
| financialRepaymentValue | uint256 | Valor financeiro em Real Digital a ser pago ao cedente (participante) pela STN. |
| status | string | Status da operação. |
| timestamp | uint256 | Valor numérico que indica um ponto específico no tempo fornecido em formato de timestamp Unix. |

### WithdrawalForClient

```solidity
event WithdrawalForClient(address sender, uint256 tpftId, contract RealTokenizado senderToken, struct ITPFt.TPFtData tpftData, uint256 operationId, uint256 financialRepaymentValue, string status, uint256 timestamp)
```

Evento emitido quando é realizado o saque do valor financeiro armazenado no contrato para um cliente.

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| sender | address | Endereço do cedente da operação. |
| tpftId | uint256 | Id do TPFt. |
| senderToken | contract RealTokenizado | RealTokenizado do cedente da operação. |
| tpftData | struct ITPFt.TPFtData | Estrutura de dados do TPFt, que incluem as seguintes informações: <br />- `acronym`: A sigla do TPFt. <br />- `code`: O código único do TPFt. <br />- `maturityDate`: A data de vencimento do TPFt, representada como um valor numérico (timestamp Unix). |
| operationId | uint256 | Número de operação + data vigente no formato yyyyMMdd. |
| financialRepaymentValue | uint256 | Valor financeiro em Real Tokenizado a ser pago ao cedente (cliente) pela STN. |
| status | string | Status da operação. |
| timestamp | uint256 | Valor numérico que indica um ponto específico no tempo fornecido em formato de timestamp Unix. |

### WithdrawalForParticipantByAuthority

```solidity
event WithdrawalForParticipantByAuthority(address sender, uint256 tpftId, struct ITPFt.TPFtData tpftData, uint256 operationId, uint256 financialRepaymentValue, string status, address newWallet, uint256 timestamp)
```

Evento emitido quando é realizado o saque do valor financeiro armazenado no contrato para um participante por uma carteira de autoridade.

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| sender | address | Endereço do cedente da operação. |
| tpftId | uint256 | Id do TPFt. |
| tpftData | struct ITPFt.TPFtData | Estrutura de dados do TPFt, que incluem as seguintes informações: <br />- `acronym`: A sigla do TPFt. <br />- `code`: O código único do TPFt. <br />- `maturityDate`: A data de vencimento do TPFt, representada como um valor numérico (timestamp Unix). |
| operationId | uint256 | Número de operação + data vigente no formato yyyyMMdd. |
| financialRepaymentValue | uint256 | Valor financeiro em Real Tokenizado a ser pago ao cedente (cliente) pela STN. |
| status | string | Status da operação. |
| newWallet | address | Endereço da nova carteira que receberá o pagamento. |
| timestamp | uint256 | Valor numérico que indica um ponto específico no tempo fornecido em formato de timestamp Unix. |

### WithdrawalForClientByAuthority

```solidity
event WithdrawalForClientByAuthority(address sender, uint256 tpftId, contract RealTokenizado senderToken, struct ITPFt.TPFtData tpftData, uint256 operationId, uint256 financialRepaymentValue, string status, address newWallet, uint256 timestamp)
```

Evento emitido quando é realizado o saque do valor financeiro armazenado no contrato para um cliente por uma carteira de autoridade.

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| sender | address | Endereço do cedente da operação. |
| tpftId | uint256 | Id do TPFt. |
| senderToken | contract RealTokenizado | RealTokenizado do cedente da operação. |
| tpftData | struct ITPFt.TPFtData | Estrutura de dados do TPFt, que incluem as seguintes informações: <br />- `acronym`: A sigla do TPFt. <br />- `code`: O código único do TPFt. <br />- `maturityDate`: A data de vencimento do TPFt, representada como um valor numérico (timestamp Unix). |
| operationId | uint256 | Número de operação + data vigente no formato yyyyMMdd. |
| financialRepaymentValue | uint256 | Valor financeiro em Real Tokenizado a ser pago ao cedente (cliente) pela STN. |
| status | string | Status da operação. |
| newWallet | address | Endereço da nova carteira que receberá o pagamento. |
| timestamp | uint256 | Valor numérico que indica um ponto específico no tempo fornecido em formato de timestamp Unix. |

### withdraw

```solidity
function withdraw(uint256 tpftId) external
```

Função que permite o saque do valor financeiro armazenado no contrato para um participante ou cliente.

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| tpftId | uint256 | Id do TPFt associado à retirada. |

### withdrawFrom

```solidity
function withdrawFrom(uint256 tpftId, address from, address to) external
```

Função que permite que uma carteira de autoridade realize o saque do valor financeiro armazenado no contrato para um participante ou cliente.
A autoridade deve indicar uma nova carteira de destino para receber o valor financeiro.

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| tpftId | uint256 | Id do TPFt associado à retirada. |
| from | address | Endereço da carteira original com valor depositado. |
| to | address | Endereço da nova carteira que receberá o valor de resgate. |

### getBalance

```solidity
function getBalance(address to, uint256 tpftId) external view returns (uint256)
```

Função que permite a consulta de valor financeiro armazenado no contrato para um participante ou cliente.

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| to | address | Endereço da carteira de participante ou cliente que possui o saldo. |
| tpftId | uint256 | Id do TPFt associado ao saldo. |

#### Return Values

| Name | Type | Description |
| ---- | ---- | ----------- |
| [0] | uint256 | Saldo de Real Digital armazenado para a carteira especificada. |

Loading

0 comments on commit b57f338

Please sign in to comment.