Skip to content

[XLM-17] SignDialog genérico y cierre de la Fase X5 #18

Description

@grantfox-oss

Contexto obligatorio: PLAN_STELLAR.md, PLAN_XAMAN.md (Fase X5 y decisión D6) y ISSUES_STELLAR.md.
Ola 4 — bloqueada por #17.
🔧 Salda deuda técnica previa: cierra la Fase X5 de PLAN_XAMAN.md, abierta desde junio.

Problema

Dos cosas que necesitan exactamente la misma solución:

  1. xaman_sign_dialog.py es casi genérico — el QR, el polling, el timeout y resolve_status() no saben nada de XRPL — pero está atado a XamanClient y a txjson.
  2. La Fase X5 de PLAN_XAMAN.md sigue abierta: escrow_view.py:98 deshabilita los botones cuando no hay seed, así que hoy no se puede gestionar un escrow con Xaman. El aviso "estará disponible en la próxima versión" lleva meses en pantalla.

Por qué importa

Las dos necesitan la misma generalización. Hacerlas por separado sería hacer el trabajo dos veces — y la segunda tendría que deshacer parte de la primera.

Alcance

Generalizar el diálogo

  • Mover a shared_ui/sign_dialog.py, parametrizando el cliente de firma y el texto.
  • resolve_status() se conserva como función pura y sus tests no cambian.
  • payment_app/ui_payment/xaman_sign_dialog.py queda como shim que reexporta, para no romper llamadas existentes.

Cerrar la Fase X5

  • Habilitar la gestión de escrow XRPL con Xaman en escrow_view.py.
  • EscrowFinish y EscrowCancel se construyen como txjson y se firman con el diálogo.
  • El offer_sequence se obtiene consultando la transacción ya validada, según la decisión D6 de PLAN_XAMAN.md.
  • Eliminar el aviso de escrow_view.py:99.

Fuera de alcance

  • LOBSTR — es [XLM-19]. El diálogo debe quedar listo para recibirlo, no cableado a él.

Criterios de aceptación

  • Un pago con Xaman se comporta exactamente igual que antes.
  • Un escrow XRPL completo, firmado con Xaman de punta a punta, en testnet — crear, aprobar y liberar. Esto cierra X5.
  • El aviso de "escrow con Xaman en próxima versión" desaparece.
  • Los tests de resolve_status pasan sin modificarse.

Pruebas

Los tests existentes del diálogo siguen verdes; prueba manual del ciclo de escrow con Xaman documentada en un comentario, con hashes.

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