Skip to content

[XLM-12] Escrow de Stellar en StellarClient #15

Description

@grantfox-oss

Contexto obligatorio: PLAN_STELLAR.md (decisión D4, invariante I3) y ISSUES_STELLAR.md.
Ola 2 — bloqueada por #2, #5 y #6.
Consume el contrato C4 (esquema de chain_data, definido en #5).

Problema

El escrow contra calidad solo existe en XRPL. Es la funcionalidad más distintiva de la plataforma y no tiene equivalente en Stellar.

Por qué importa

Sin escrow, Stellar es un riel de segunda dentro de la propia plataforma. El invariante I3 exige además que sea igual de restrictivo que el de XRPL: los fondos solo pueden terminar en el productor o de vuelta en el operador tras el vencimiento.

Alcance

Llevar a core/ledger/stellar.py el diseño ya validado en #2, con la misma firma que los métodos de XRPLClient:

  • create_escrow(...)CreateAccount + TX_SETUP, devolviendo en el diccionario los datos de chain_data (contrato C4): escrow_account, release_xdr, refund_xdr, sequence.
  • finish_escrow(...) → enviar TX_LIBERAR.
  • cancel_escrow(...) → enviar TX_REEMBOLSO.
  • Extender el Protocol de [XLM-04] Protocolo LedgerClient y shim de XRPLClient #4 con los tres métodos de escrow.
  • La comisión de las transacciones preautorizadas se fija holgada (10 000 stroops) porque el hash la incluye; documentar el fee-bump como salida de emergencia.

Fuera de alcance

  • Cualquier UI — es [XLM-13].
  • Firma remota — es [XLM-19].

Criterios de aceptación

  • Las pruebas negativas de [XLM-02] Spike: escrow con transacciones preautorizadas #2 se reproducen como tests automatizados donde sea posible.
  • chain_data se serializa exactamente según el contrato C4.
  • El ciclo completo corre en testnet por ambos desenlaces (liberación y reembolso).
  • Los métodos de escrow de XRPL siguen intactos.

Pruebas

Unitarias con Horizon mockeado para la construcción de las transacciones y la asignación de secuencias; prueba manual en testnet de ambos ciclos, 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 | FWC26backendcore/, backend/, modelo de datos, ledgercomplexity: highIntegracion sustancial o maquina de estadosstellar-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