Skip to content

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: manageToken registrado 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_TOKENS habilitada 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 found en caso contrario).

Paso a paso

  1. Accede al menú Inversiones → Aplicaciones de Staking (ruta /manage-applications).
  2. Usa la búsqueda (por identificador del usuario) y el filtro de Estado para localizar las aplicaciones.
  3. 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 / ColumnaQué muestraOrigen del dato
Búsqueda (texto)Filtra por customerId / identificador del usuarioParámetro customerId enviado a getAllStakesForAdmin
EstadoTodos, Cancelado, Rindiendo (income), Iniciado (started)Parámetro status (enum StakingStatuses)
NombreexternalSourceId del usuario o e-mailCruce de la aplicación con la lista de usuarios
Inicio / FinFecha de inicio y término previsto del contratostartDate / endDate de la aplicación
Valor aportadoMonto bloqueado por el clienteamountStaked (BigNumber, mostrado con hasta 8 decimales)
RecibeValor que la aplicación está configurada para rendiramountToApply (BigNumber)
Estado (columna)Finalizado cuando applied o earlyLeave son verdaderos; de lo contrario ActivoFlags 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 a cancelUserStakeAdmin — 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 found y stake 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: amountStaked y amountToApply se 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.

Pantallas relacionadas