Aplicações de Staking
Pré-requisitos de acesso
- Permissão (módulo):
manageToken - Licença/Feature:
STAKING_TOKENS - Contêiner do menu: GERAL → grupo Investimentos / Distribuições Financeiras
O que é / quando usar
O staking é um investimento de renda passiva: o cliente bloqueia uma quantidade de tokens por um período pré-definido e recebe rendimento sobre o valor aplicado, desde que cumpra o mínimo de dias do contrato. Esta tela é o painel administrativo de todas as aplicações de staking — ativas e finalizadas — dos usuários da plataforma.
Use-a para acompanhar as aplicações em andamento, editar um contrato em curso (nova porcentagem, nova data de término ou reaporte), cancelar uma aplicação devolvendo o valor aplicado e vincular comissão de agente a uma aplicação. A configuração dos produtos de staking (planos, taxas, prazos) é feita em outra tela — esta opera sobre as aplicações já feitas pelos clientes.
Pré-condições
- Permissão:
manageTokencadastrado para a role do operador. A permissão é dupla — enum CPM no backend (decorator) + módulo dinâmico no DB (controla a exibição no menu). Ambos precisam existir. - Licença/Feature:
STAKING_TOKENShabilitada na licença do tenant (Vault). Se desabilitada, o item nem aparece no menu. - Dependências: já devem existir aplicações feitas pelos usuários. A vinculação de comissão exige que o agente exista (o backend retorna
agent not foundcaso contrário).
Passo a passo
- Acesse o menu Investimentos → Aplicações de Staking (rota
/manage-applications). - Use a busca (por identificador do usuário) e o filtro de Status para localizar as aplicações.
- Em cada linha, use os ícones de ação para vincular comissão de agente, editar, cancelar ou ver detalhes do usuário.
Filtros e colunas
| Filtro / Coluna | O que mostra | Origem do dado |
|---|---|---|
| Busca (texto) | Filtra pelo customerId / identificador do usuário | Parâmetro customerId enviado a getAllStakesForAdmin |
| Status | Todos, Cancelado, Rendendo (income), Iniciado (started) | Parâmetro status (enum StakingStatuses) |
| Nome | externalSourceId do usuário ou e-mail | Cruzamento da aplicação com a lista de usuários |
| Início / Fim | Data de início e término previsto do contrato | startDate / endDate da aplicação |
| Valor aplicado | Montante bloqueado pelo cliente | amountStaked (BigNumber, exibido com até 8 casas) |
| Recebe | Valor que a aplicação está configurada para render | amountToApply (BigNumber) |
| Status (coluna) | Finalizado quando applied ou earlyLeave são verdadeiros; senão Ativo | Flags applied/earlyLeave da aplicação |
Ações e modais
Cada linha oferece quatro ícones:
- Comissão de agente (
manage_accounts): abre o modal de comissão de agente, que lista os agentes já vinculados àquela aplicação e permite adicionar ou remover vínculos — ver Adicionar ou excluir comissão. - Editar (
edit): abre o diálogo Atualizar staking — ver Atualizar staking. - Cancelar (
delete): só aparece quando a aplicação ainda está ativa (!applied && !earlyLeave). Abre uma confirmação (bottom-sheet) e, ao confirmar, chamacancelUserStakeAdmin— ver Cancelar aplicação. - Detalhes do usuário (
visibility): navega para a tela de detalhes do usuário titular da aplicação.
Regras de negócio / cuidados
Atenção
- O cancelamento só fica disponível enquanto a aplicação está ativa. Depois de finalizada (
applied) ou de saída antecipada (earlyLeave), o ícone de cancelar desaparece. - A comissão de agente exige que o agente exista; o sistema diferencia as falhas
agent not foundestake not found. - O status exibido na coluna (
Ativo/Finalizado) é derivado das flags da aplicação, não do filtro de status do topo — eles podem divergir.
- Valores financeiros:
amountStakedeamountToApplysão tratados como BigNumber, sem arredondamento. Confira as casas decimais do token (até 8 na exibição). - Status APPROVED: operações financeiras sobre o titular pressupõem usuário aprovado; o cancelamento devolve o valor para a carteira do cliente.
Exemplos
Cenário 1 — Vincular um agente a uma aplicação existente
Um cliente investiu por indicação de um parceiro comercial. Localize a aplicação pela busca, clique no ícone Comissão de agente, vá para a aba de adicionar, informe o ID do agente e o percentual (ex.: 5 para 5%) e confirme. O vínculo passa a aparecer na lista do modal e o agente entra no fluxo de comissões daquela aplicação.
Cenário 2 — Estender o prazo e reajustar a taxa de um contrato em curso
O cliente pediu para manter o valor rendendo por mais tempo a uma nova taxa. Clique em Editar, informe a nova porcentagem e a nova data final (e, se houver reaporte, o total aplicado) e salve. Basta um dos três campos para habilitar o botão. Detalhes em Atualizar staking.
Cenário 3 — Cancelar uma aplicação ativa e devolver o capital
O cliente quer encerrar antes do fim do contrato. Confirme que a aplicação ainda está Ativa (o ícone de cancelar está visível), clique em Cancelar e confirme no bottom-sheet. O backend executa cancelUserStakeAdmin, devolvendo o valor aplicado (com ou sem multa, conforme o contrato). Após o cancelamento, a aplicação passa a Finalizado e o ícone some. Detalhes em Cancelar aplicação.