txRowStatusLabel function

String txRowStatusLabel(
  1. WalletLocalizations l10n,
  2. TxSummary tx
)

The status word REFINED by the wallet's delivery reading for a transaction it created (stage S8 obligation, row 10) โ€” the list row and the detail sheet both use this, so the two surfaces cannot disagree. An unmined wallet-created transaction reads "Retrying" while the wallet still owes its broadcast and "Saved" while it is kept without a retry promise; every other reading (accepted โ€” an endpoint has it, so Pending's "sent to the network" is true โ€” confirmed, the forward-compat unknown, or no reading at all) falls through to txStatusLabel. Matched EXPLICITLY, no _, for the same reason as txStatusLabel's Unknown arm.

Unmined INCOMING money reads "Arriving", never "Pending": "Pending" is only for the user's own sends in flight (the maintainer's ruling, S13 ยง2). The forward-compat Unknown status reads Pending, so incoming Unknown is Arriving by the same rule.

Implementation

String txRowStatusLabel(WalletLocalizations l10n, TxSummary tx) =>
    switch (tx.delivery) {
      DeliveryState.retryPending => l10n.walletActivityRetrying,
      DeliveryState.persisted => l10n.walletActivitySaved,
      DeliveryState.accepted ||
      DeliveryState.confirmed ||
      DeliveryState.unknown ||
      null =>
        (tx.status is TxStatus_Pending || tx.status is TxStatus_Unknown) &&
                tx.netAmountZat > 0
            ? l10n.walletArrivingLabel
            : txStatusLabel(l10n, tx.status),
    };