Flujo de Ejecución

Este apartado describe el flujo de ejecución de los contratos inteligentes del ecosistema Prosper, detallando cómo los contratos YielDistributor, Token USDCp y LockingContract interactúan para gestionar el staking, la emisión de tokens y los retiros en la mainnet de Stellar.

Contenido

  • 1. Configuración inicial de YielDistributor

  • 2. Configuración inicial de LockingContract

  • 3. Inicio del staking

  • 4. Consulta de estrategias

  • 5. Emisión de tokens USDCp

  • 6. Consulta de rendimientos

  • 7. Verificación diaria de estrategias

  • 8. Finalización del staking

  • 9. Retiros

  • 10. Estado del despliegue

1. Configuración inicial de YielDistributor

El contrato YielDistributor se inicializa con los siguientes parámetros:

Parámetro
Valor

Admin

GDGHSEYRDQ3KCWEKSSWTIB4CHPXAXDQGEEO3LNVKNUVTUMRCNAWAE3N5

Dirección USDCp

CD2NVPKBQK3J42JABNAN3WRQITQMBH4TH2MNIEVAIMJEQ2HRJBVMVVWY

APY Anual

17% (1700)

Estos parámetros establecen las reglas para las estrategias de staking y la distribución de rendimientos.

Invocaciones:

  • Inicialización del contrato:

  • Configuración del porcentaje (APY):

  • Configuración del token USDCp:

Estos parámetros establecen las reglas para las estrategias de staking y la distribución de rendimientos.

2. Configuración inicial de LockingContract

El contrato LockingContract se configura con:

  • Admin: Dirección autorizada para gestionar el contrato.

  • Dirección del contrato USDCp: Enlaza con el contrato del token USDCp.

  • Dirección del contrato YielDistributor: Permite la interacción con las estrategias de staking.

Estos parámetros aseguran que el contrato pueda regular los retiros y coordinar con YielDistributor.

Invocaciones:

  • Inicialización del contrato:

  • Configuración del contrato USDC:

  • Configuración del contrato YieldDistributor:

Estos parámetros aseguran que el contrato pueda regular los retiros y coordinar con YielDistributor.

3. Inicio del staking

Cuando un usuario realiza un depósito a través de la aplicación Prosper e inicia el staking, el método set_strategy del contrato YielDistributor registra:

  • Fecha de inicio.

  • Monto del depósito en USDC.

  • APY mensual (calculado a partir del APY anual).

  • Estado de la estrategia: active, indicando que el staking está activo.

Invocación:

4. Consulta de estrategias

Los usuarios pueden consultar su estrategia de staking mediante el método get_strategy, que devuelve:

  • Monto inicial del staking.

  • Fecha de inicio.

  • Fecha de expiración (30 días desde el inicio).

  • APY anual.

  • Token anclado (USDCp).

  • Dirección de la wallet.

5. Emisión de tokens USDCp

El contrato YielDistributor emite tokens USDCp proporcionales al monto en USDC depositado. Por ejemplo:

  • Wallet: GAFXXMR34MUBPLVZYD7JXH2ME7RJ3BORCDZQUXDJ2CLKIZN5E7DOQJFB.

  • Verificación: La wallet tiene 100 USDCp, equivalente al monto en USDC depositado (Stellar Expert).

Invocación

6. Consulta de rendimientos

El método get_apy permite consultar los rendimientos acumulados según el APY configurado en la estrategia de staking.

Invocación:

7. Verificación diaria de estrategias

El sistema verifica diariamente las estrategias de staking para determinar si están vigentes o han expirado, comparando la fecha de expiración con la fecha actual.

8. Finalización del staking

El método end_stkg gestiona la finalización de una estrategia:

  • Si la fecha de expiración es posterior a la fecha actual, la estrategia permanece activa, y el método devuelve el error N 8, indicando que la estrategia sigue en curso.

  • Si la fecha de expiración ha pasado, la estrategia cambia su estado a completed, y se emiten tokens USDCp adicionales en función de los rendimientos calculados según el APY.

Invocación:

9. Retiros

El contrato LockingContract regula los retiros mediante el método withdraw:

  • Si el estado de la estrategia es completed, el usuario puede retirar los USDC, y los tokens USDCp asociados son quemados (burned) instantáneamente.

  • Si el estado de la estrategia es active, los retiros no están permitidos, garantizando el cumplimiento de las políticas de staking.

10. Estado del despliegue

Los contratos están desplegados en la mainnet de Stellar con los siguientes identificadores:

Contrato
Contract ID

YieldDistributor

CCRC6MAK5G2F4YDULVXMW37HOA2MDGY3DHR6CCUCYTSUYSMPUKK6HO33

LockingContract

CD3KSGOKRENQFZCHFQUHEPLTWHX6KCM5Z87T5WYYCOV7DEHLANRTQA3

Last updated