Ordens da Exchange
Pré-requisitos de acesso
- Permissão (módulo):
viewExchangeOrdersJournal(para ver a listagem). O cancelamento de ordem exige o módulootcAdmin. - Licença/Feature:
EXCHANGE - Contêiner do menu: GERAL → grupo Operações
O que é / quando usar
Livro administrativo de ordens da exchange (order book) — todas as ordens de compra e venda lançadas pelos usuários no book P2P/OTC. O operador consulta o estado das ordens (criada, executada, cancelada), inspeciona os matches (itens casados) de cada ordem e, com perfil otcAdmin, cancela ordens ainda abertas (created).
Pré-condições
- Permissão:
viewExchangeOrdersJournalpara ver;otcAdminpara cancelar (permissão dupla — enum CPM + módulo dinâmico no DB). - Licença/Feature:
EXCHANGEhabilitada (sem ela o item nem aparece no menu). - Dependências de outras telas: as ordens são geradas pelos usuários no app/trade.
Passo a passo
- Acesse o menu Operações → Ordens da Exchange.
- Filtre por status (Todos, Criada, Executada, Cancelada) e tipo (Todos, Compra, Venda). A busca tem debounce (~1s).
- Clique no ícone recibo para ver os itens/matches da ordem (quando houver).
- Para uma ordem em Criada, com
otcAdmin, clique em block para cancelar.
Filtros e colunas
| Filtro/Coluna | O que mostra | Origem do dado |
|---|---|---|
| Busca | Filtro do book (debounce ~1s) | searchInput → getAllOrdersBookAdmin |
| Status | Criada / Executada / Cancelada / Todos | selectedStatus (OrderBookStatus) |
| Tipo | Compra / Venda / Todos | selectedType (OrderBookType) |
| ID | Identificador da ordem | id |
| Data | Data/hora da ordem | when |
| Usuário | Quem lançou a ordem | userName |
| Tipo | Compra/Venda | type |
| Preço | Preço-limite da ordem | price (6 casas) |
| Moeda | Unidade negociada | unitOfMoney |
| Status | Estado da ordem | status |
Ações e modais
- Cancelar (block): só aparece para ordens em
CREATEDe com permissãootcAdmin. Abre bottom-sheet de confirmação →cancelOrderBookAdmin(id). Cancela a ordem no OrderBookControlService e devolve a reserva. - Ver itens (receipt): abre o modal de matches da ordem (
items), mostrando quais contrapartes casaram e a que preços.
Regras de negócio / cuidados
Atenção
- Cancelamento só é possível em ordens abertas (
created); ordens já executadas são imutáveis. - O preço exibido é o preço-limite da ordem, não necessariamente o preço de execução de cada match.
Receita da casa (spread limite × execução)
- No settlement, o valor pago ao vendedor usa o preço-limite (
order.price), nunca o preço de execução (executionPrice). Quando há diferença entre o limite e a execução, a casa captura o delta como receita. Ao auditar os números, não estranhe a diferença: o vendedor recebe pelo limite, e o spread é apropriado pela plataforma.
- Valores financeiros: tratados como BigNumber — sem arredondamento; o preço é exibido com 6 casas.
- Idempotência: o settlement das ordens é idempotente por
externalIdno FinLib;E00021"already processed" indica liquidação já efetuada — sucesso.