Skip to content

Feat: Mostrar valor fiat "Entonces" y "Ahora" en el historial. #117

Description

@Delgado74

Mostrar valor fiat "Entonces" y "Ahora" en el historial

Severidad: Baja
Prioridad: Media
Componente: Pantalla de historial (7history_screen.dart)

Descripción

Actualmente la pantalla de historial muestra información de valor fiat en las transacciones, pero
no está claro qué valor corresponde al momento del pago y cuál al valor actual. Sería deseable
mostrar ambos valores etiquetados como "Entonces" y "Ahora" (similar a Phoenix Wallet), en la
misma moneda fiat que se usó al crear la factura.

Comportamiento actual

El modelo TransactionInfo ya almacena:

  • originalFiatAmount / originalFiatCurrency → valor fiat al momento del pago
    (ej: 25.00 ZAR, 100.00 CUP)
  • fiatAmount / fiatCurrency → valor en la moneda default de la wallet
    al momento del pago (NO es tiempo real)

La pantalla de historial ya muestra ambos (list view: 7history_screen.dart:715-732,
detail sheet: 808-826), pero:

  1. No están etiquetados como "Entonces" / "Ahora"
  2. El valor "ahora" no es realmente el valor actual — es la conversión a la moneda default
    de la wallet en el momento del pago
  3. Si la factura se creó en sats, por defecto muestra valores en CUP sin contexto claro

Comportamiento deseado

  • "Entonces": valor fiat original al momento del pago (ej: 25.00 ZAR)
  • "Ahora": el mismo monto en sats convertido al valor actual usando la tasa de cambio
    actual en la misma moneda (ej: ZAR), obtenida de YadioService o CurrencyRatesService
  • Mostrar etiquetas claras tipo "Entonces (25 ZAR)" y "Ahora (42 ZAR)" o similar

Archivos a modificar

  • lib/screens/7history_screen.dart — UI del historial (listado y detalle)
  • lib/models/transaction_info.dart — posible extensión del modelo
  • lib/services/yadio_service.dart — para obtener tasa actual
  • lib/providers/currency_settings_provider.dart — si se necesita moneda específica

Pasos para implementar

  1. En el detail sheet del historial, obtener la tasa de cambio actual para
    originalFiatCurrency
  2. Calcular el valor actual en esa moneda usando el monto en sats
  3. Mostrar ambos valores con etiquetas "Entonces" y "Ahora"
  4. Actualizar también el list view si es viable (para vista rápida)

Beneficio para comercios

Esta funcionalidad tiene un valor directo para comercios que operan con criptomonedas
y llevan su contabilidad en moneda fiat. Poder ver el valor "Entonces" (al momento de la
transacción) y "Ahora" (valor actual) en la misma moneda fiat original simplifica varias
tareas:

  • Conciliación de estados de cuenta: el comerciante puede cotejar cada transacción
    contra el valor fiat que acordó con el cliente al momento del pago, sin tener que
    calcular retrospectivamente tasas de cambio históricas.
  • Seguimiento de ganancias/pérdidas no realizadas: al ver la diferencia entre el valor
    "Entonces" y "Ahora", el comerciante identifica de un vistazo si el BTC recibido ha
    ganado o perdido valor frente a su moneda local desde la transacción.
  • Declaraciones fiscales: muchas jurisdicciones exigen reportar el valor fiat de cada
    transacción al momento en que ocurrió. Tener "Entonces" visible elimina la necesidad
    de consultar APIs externas de tasa histórica para cada operación.
  • Transparencia con el cliente: si el comercio muestra el detalle de la transacción,
    el cliente ve el mismo valor fiat que acordó en el momento del pago, generando
    confianza.
  • Soporte multimoneda: como el valor se muestra en la moneda fiat que el comerciante
    seleccionó al crear la factura (CUP, USD, ZAR, etc.), cada transacción queda
    registrada en la moneda que corresponde a esa operación en particular, no en una
    moneda default única para toda la wallet.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions