Contexto obligatorio: PLAN_STELLAR.md y ISSUES_STELLAR.md.
Ola 2 — bloqueada por #6 y #9.
🌱 Buena primera contribución: un solo archivo, patrón ya existente en el código.
Problema
El encabezado muestra un solo saldo de XRP y un solo indicador de conexión.
Por qué importa
El operador necesita ver de un vistazo si tiene fondos en la red en la que va a pagar. Sin esto, se entera del saldo insuficiente a mitad del cobro, frente al productor.
Alcance
En payment_app/ui_payment/dashboard.py:
- Dos saldos en el encabezado, cada uno en su propio
FunctionWorker — el patrón ya existe en refresh_balance().
- Indicador de conexión independiente por red: si una está caída, la otra sigue mostrándose.
Construir contra la firma de constructor fijada en #9 (contrato C3) para no chocar con [XLM-10], que corre en paralelo sobre payment_flow.py.
Fuera de alcance
- El flujo de pago — es
[XLM-10].
- El nombre de producto en el título de la ventana — lo limpia
[XLM-20]. No tocarlo aquí.
Criterios de aceptación
Pruebas
Unitarias con clientes falsos: éxito en ambas, fallo en una, fallo en las dos.
Dependencias
Problema
El encabezado muestra un solo saldo de XRP y un solo indicador de conexión.
Por qué importa
El operador necesita ver de un vistazo si tiene fondos en la red en la que va a pagar. Sin esto, se entera del saldo insuficiente a mitad del cobro, frente al productor.
Alcance
En
payment_app/ui_payment/dashboard.py:FunctionWorker— el patrón ya existe enrefresh_balance().Construir contra la firma de constructor fijada en #9 (contrato C3) para no chocar con
[XLM-10], que corre en paralelo sobrepayment_flow.py.Fuera de alcance
[XLM-10].[XLM-20]. No tocarlo aquí.Criterios de aceptación
Pruebas
Unitarias con clientes falsos: éxito en ambas, fallo en una, fallo en las dos.
Dependencias
StellarClient), [XLM-09] WalletSession y conexión perezosa #9 (WalletSession, contrato C3).