Smart Contract responsável por permitir que participantes cadastrados no Real Digital realizem a operação de recompra/revenda envolvendo Título Público Federal tokenizado (TPFt).
constructor(contract AddressDiscovery addressDiscovery_, contract ITPFt tpftContract_, contract TPFtOperationId tpftOperationId_, contract ITPFtDvP tpftDvP_, contract TPFtRepoStorage tpftRepoStorage_, contract DateTimeOracle dateTimeOracle_) publicInicializa o contrato TPFtTwoStepReverseRepoOperation, facilitando operações relacionadas a TPFts em duplo comando.
| Name | Type | Description |
|---|---|---|
| addressDiscovery_ | contract AddressDiscovery | Endereço do contrato que facilita a descoberta dos demais endereços de contratos. |
| tpftContract_ | contract ITPFt | Contrato TPFt. |
| tpftOperationId_ | contract TPFtOperationId | Contrato TPFtOperationId para utilidades relacionadas a TPFts. |
| tpftDvP_ | contract ITPFtDvP | Contrato TPFtDvP para operações de DvP. |
| tpftRepoStorage_ | contract TPFtRepoStorage | Contrato TPFtRepoStorage. |
| dateTimeOracle_ | contract DateTimeOracle | Contrato de Oráculo de Data. |
function tradeReverseRepo(uint256 originalOperationId, uint256 returnOperationId) externalFunção para a execução da operação de recompra/revenda.
| Name | Type | Description |
|---|---|---|
| originalOperationId | uint256 | Número de operação de compra/venda compromissada + data vigente no formato yyyyMMdd, já executada. |
| returnOperationId | uint256 | Número de operação de recompra/revenda + data vigente no formato yyyyMMdd. |
function tradeReverseRepoOpenReturnPrice(uint256 originalOperationId, uint256 returnOperationId, uint256 returnUnitPrice) externalFunção para a execução da operação de recompra/revenda com o preço unitário de retorno aberto.
| Name | Type | Description |
|---|---|---|
| originalOperationId | uint256 | Número de operação de compra/venda compromissada + data vigente no formato yyyyMMdd, já executada. |
| returnOperationId | uint256 | Número de operação de recompra/revenda + data vigente no formato yyyyMMdd. |
| returnUnitPrice | uint256 | Preço unitário de retorno do TPFt. Incluindo as 8 casas decimais. |
function cancel(uint256 returnOperationId, string reason) externalFunção para cancelar uma operação de recompra/revenda envolvendo TPFt.
| Name | Type | Description |
|---|---|---|
| returnOperationId | uint256 | Número de operação de recompra/revenda + data vigente no formato yyyyMMdd. |
| reason | string | Motivo do cancelamento |
function pause() externalFunção externa utilizada pela carteira que é detentor da ROLE DEFAULT_ADMIN_ROLE para colocar o contrato em pausa. Apenas o detentor desse papel pode executar essa função, verificado pelo modificador "onlyRole(DEFAULT_ADMIN_ROLE)". O contrato em pausa bloqueará a execução de funções, garantindo que o contrato possa ser temporariamente interrompido.
function unpause() externalFunção externa utilizada pela carteira que é detentor da ROLE DEFAULT_ADMIN_ROLE para retirar o contrato de pausa. Apenas o detentor desse papel pode executar essa função, verificado pelo modificador "onlyRole(DEFAULT_ADMIN_ROLE)". O contrato retirado de pausa permite a execução normal de todas as funções novamente após ter sido previamente pausado.
function updateTPFtRepoStorage(contract TPFtRepoStorage newTPFtRepoStorage) externalFunção que atualiza o endereço do contrato TPFtRepoStorage.
| Name | Type | Description |
|---|---|---|
| newTPFtRepoStorage | contract TPFtRepoStorage | Novo endereço do contrato TPFtRepoStorage. |
function updateAddressDiscovery(contract AddressDiscovery newAddressDiscovery) externalFunção que atualiza o endereço do contrato AddressDiscovery.
| Name | Type | Description |
|---|---|---|
| newAddressDiscovery | contract AddressDiscovery | Novo endereço do contrato AddressDiscovery. |
function updateTPFt(address newTPFt) externalFunção que atualiza o endereço do contrato TPFt.
| Name | Type | Description |
|---|---|---|
| newTPFt | address | Novo endereço do contrato TPFt. |
function updateTPFtDvP(contract ITPFtDvP newTPFtDvP) externalFunção que atualiza o endereço do contrato TPFtDvP.
| Name | Type | Description |
|---|---|---|
| newTPFtDvP | contract ITPFtDvP | Novo endereço do contrato TPFtDvP. |
function updateTPFtOperationId(contract TPFtOperationId newTPFtOperationId) externalFunção que atualiza o endereço do contrato TPFtOperationId.
| Name | Type | Description |
|---|---|---|
| newTPFtOperationId | contract TPFtOperationId | Novo endereço do contrato TPFtOperationId. |
function updateDateTimeOracle(contract DateTimeOracle newDateTimeOracle) externalFunção que atualiza o endereço do contrato DateTimeOracle.
| Name | Type | Description |
|---|---|---|
| newDateTimeOracle | contract DateTimeOracle | Novo endereço do contrato DateTimeOracle. |
function getTPFtRepoStorage() public view returns (contract TPFtRepoStorage)Função que retorna o endereço do contrato TPFtRepoStorage.
function getAddressDiscovery() public view returns (contract AddressDiscovery)Função que retorna o endereço do contrato AddressDiscovery.
function getTPFt() public view returns (address)Função que retorna o endereço do contrato TPFt.
function getTPFtDvP() public view returns (contract ITPFtDvP)Função que retorna o endereço do contrato TPFtDvP.
function getTPFtOperationId() public view returns (contract TPFtOperationId)Função que retorna o endereço do contrato TPFtOperationId.
function getDateTimeOracle() external view returns (contract DateTimeOracle)Função que retorna o endereço do contrato DateTimeOracle.