Skip to content

[XLM-09] WalletSession y conexión perezosa #9

Description

@grantfox-oss

Contexto obligatorio: PLAN_STELLAR.md (decisión D6) y ISSUES_STELLAR.md.
Ola 1 — bloqueada por #4 y #5.
Define los contratos C2 y C3[XLM-10], [XLM-11], [XLM-13] y [XLM-19] dependen de ellos.

Problema

AuthFlowDialog devuelve xrpl_seed o xaman_client sueltos, y main_payment.py:45 exige uno de los dos. Con dos redes hace falta una credencial por red, y pedir ambas al iniciar sesión obligaría a conectar dos billeteras aunque solo se vaya a usar una.

Por qué importa

Es lo que hace tolerable la interfaz dual. Sin conexión perezosa, la fricción del login mata la propuesta.

Alcance

Nuevo core/wallet_session.py con WalletSession: contenedor de firmantes indexado por red.

Contrato C2

signer_for(network) devuelve el firmante de esa red y, si no existe, dispara el flujo de conexión y lo memoriza. Devuelve None si el operador cancela.

Contrato C3

Fijar en este issue la firma de constructor de PaymentFlowWidget y PaymentDashboard, porque [XLM-10] y [XLM-11] construyen contra ella en paralelo. Publicarla en un comentario de este issue antes de que ellos empiecen.

payment_app/ui_payment/auth_flow.py — el paso 3 conecta una billetera (la red elegida) y construye el WalletSession.

payment_app/main_payment.py — pasar el WalletSession al dashboard en lugar de xrpl_seed / xaman_client.

Al cerrar sesión se limpian todos los firmantes, igual que hoy se limpia el seed.

Fuera de alcance

  • El selector de red en el flujo de pago — es [XLM-10].
  • LOBSTR — es [XLM-19]. Aquí solo se deja el hueco.

Criterios de aceptación

  • Iniciar sesión conectando solo XRPL funciona igual que hoy.
  • La primera vez que se pide un firmante de Stellar se solicita la credencial; la segunda vez ya no.
  • Cancelar la conexión de la segunda red deja la sesión utilizable en la primera.
  • Ninguna credencial sobrevive al cierre de sesión ni al cierre de ventana.

Pruebas

Unitarias de WalletSession con firmantes falsos: memorización, cancelación, limpieza.

Dependencias

Metadata

Metadata

Assignees

No one assigned

    Labels

    GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial Campaign | FWC26Campaign: Official Campaign | FWC26complexity: highIntegracion sustancial o maquina de estadosfrontendPySide6: payment_app, admin_app, shared_uistellar-multichainWorkstream XRPL + Stellar (PLAN_STELLAR.md)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions