Aplicaciones de Staking
Requisitos previos de acceso
- Permiso (módulo):
manageToken - Licencia/Feature:
STAKING_TOKENS - Contenedor del menú: GENERAL → grupo Inversiones / Distribuciones Financieras
Qué es / cuándo usar
El staking es una inversión de renta pasiva: el cliente bloquea una cantidad de tokens durante un período predefinido y recibe rendimiento sobre el valor aportado, siempre que cumpla el mínimo de días del contrato. Esta pantalla es el panel administrativo de todas las aplicaciones de staking — activas y finalizadas — de los usuarios de la plataforma.
Úsala para hacer seguimiento de las aplicaciones en curso, editar un contrato activo (nuevo porcentaje, nueva fecha de término o nuevo aporte), cancelar una aplicación devolviendo el valor aportado y vincular comisión de agente a una aplicación. La configuración de los productos de staking (planes, tasas, plazos) se realiza en otra pantalla — esta opera sobre las aplicaciones ya realizadas por los clientes.
Requisitos previos
- Permiso:
manageTokenregistrado para el rol del operador. El permiso es doble — enum CPM en el backend (decorator) + módulo dinámico en la BD (controla la visibilidad en el menú). Ambos deben existir. - Licencia/Feature:
STAKING_TOKENShabilitada en la licencia del tenant (Vault). Si está deshabilitada, el ítem ni siquiera aparece en el menú. - Dependencias: ya deben existir aplicaciones realizadas por los usuarios. La vinculación de comisión exige que el agente exista (el backend devuelve
agent not founden caso contrario).
Paso a paso
- Accede al menú Inversiones → Aplicaciones de Staking (ruta
/manage-applications). - Usa la búsqueda (por identificador del usuario) y el filtro de Estado para localizar las aplicaciones.
- En cada fila, usa los íconos de acción para vincular comisión de agente, editar, cancelar o ver detalles del usuario.
Filtros y columnas
| Filtro / Columna | Qué muestra | Origen del dato |
|---|---|---|
| Búsqueda (texto) | Filtra por customerId / identificador del usuario | Parámetro customerId enviado a getAllStakesForAdmin |
| Estado | Todos, Cancelado, Rindiendo (income), Iniciado (started) | Parámetro status (enum StakingStatuses) |
| Nombre | externalSourceId del usuario o e-mail | Cruce de la aplicación con la lista de usuarios |
| Inicio / Fin | Fecha de inicio y término previsto del contrato | startDate / endDate de la aplicación |
| Valor aportado | Monto bloqueado por el cliente | amountStaked (BigNumber, mostrado con hasta 8 decimales) |
| Recibe | Valor que la aplicación está configurada para rendir | amountToApply (BigNumber) |
| Estado (columna) | Finalizado cuando applied o earlyLeave son verdaderos; de lo contrario Activo | Flags applied/earlyLeave de la aplicación |
Acciones y modales
Cada fila ofrece cuatro íconos:
- Comisión de agente (
manage_accounts): abre el modal de comisión de agente, que lista los agentes ya vinculados a esa aplicación y permite agregar o eliminar vínculos — ver Agregar o eliminar comisión. - Editar (
edit): abre el diálogo Actualizar staking — ver Actualizar staking. - Cancelar (
delete): solo aparece cuando la aplicación aún está activa (!applied && !earlyLeave). Abre una confirmación (bottom-sheet) y, al confirmar, llama acancelUserStakeAdmin— ver Cancelar aplicación. - Detalles del usuario (
visibility): navega a la pantalla de detalles del usuario titular de la aplicación.
Reglas de negocio / consideraciones
Atención
- La cancelación solo está disponible mientras la aplicación está activa. Una vez finalizada (
applied) o con salida anticipada (earlyLeave), el ícono de cancelar desaparece. - La comisión de agente exige que el agente exista; el sistema diferencia los errores
agent not foundystake not found. - El estado mostrado en la columna (
Activo/Finalizado) se deriva de los flags de la aplicación, no del filtro de estado superior — pueden divergir.
- Valores financieros:
amountStakedyamountToApplyse tratan como BigNumber, sin redondeo. Verifica los decimales del token (hasta 8 en la visualización). - Status APPROVED: las operaciones financieras sobre el tenedor presuponen un usuario aprobado; la cancelación devuelve el valor a la billetera del cliente.
Ejemplos
Escenario 1 — Vincular un agente a una aplicación existente
Un cliente invirtió por referencia de un socio comercial. Localiza la aplicación mediante la búsqueda, haz clic en el ícono Comisión de agente, ve a la pestaña de agregar, ingresa el ID del agente y el porcentaje (p. ej., 5 para 5%) y confirma. El vínculo aparecerá en la lista del modal y el agente entra en el flujo de comisiones de esa aplicación.
Escenario 2 — Extender el plazo y reajustar la tasa de un contrato en curso
El cliente solicitó mantener el valor rindiendo por más tiempo a una nueva tasa. Haz clic en Editar, ingresa el nuevo porcentaje y la nueva fecha final (y, si hay un aporte adicional, el total aportado) y guarda. Basta uno de los tres campos para habilitar el botón. Detalles en Actualizar staking.
Escenario 3 — Cancelar una aplicación activa y devolver el capital
El cliente quiere salir antes del fin del contrato. Confirma que la aplicación aún está Activa (el ícono de cancelar está visible), haz clic en Cancelar y confirma en el bottom-sheet. El backend ejecuta cancelUserStakeAdmin, devolviendo el valor aportado (con o sin multa, según el contrato). Tras la cancelación, la aplicación pasa a Finalizado y el ícono desaparece. Detalles en Cancelar aplicación.