features/wallet/tx_detail_sheet library

Classes

TxDetailSheet
The sheet body (public for widget tests — pump it directly in a ProviderScope, the shield-sheet idiom).

Functions

showTxDetailSheet(BuildContext context, TxSummary tx) → Future<void>
Open the transaction-detail sheet for one history row (#320; maintainer: "I can't tap on any activity to see the details that usually user needs"). Shows everything TxSummary carries — amount, status with a plain-language explanation, fee, date, mined height, memo presence, and the full txid with a copy affordance. Memo CONTENT and the recipient address are not on the summary DTO (net-new FFI plumbing) — an explicit follow-up, not shown here. Freely dismissible: purely informational, it owns no in-flight operation.
txIsCancelled(TxSummary tx) → bool
Whether this status means the transaction DID NOT move funds (expired ⇒ cancelled unmined, funds returned to spendable — state.rs; failed ⇒ endpoint-rejected, never accepted). Drives the struck-through amount and the "no funds left your wallet" reassurance (the maintainer's "what does expired mean" ask).
txRowStatusExplanation(WalletLocalizations l10n, TxSummary tx) → String
The explanation REFINED by the delivery reading, the sibling of txRowStatusLabel: the Pending sentence affirms "sent to the Zcash network", which is FALSE for a transaction the wallet is still retrying (no endpoint has taken it yet) and for one it is holding — those two get their own honest sentences; everything else falls through. An EXPIRED attempt the wallet will send again (S7 C1) says so, and says not to.
txRowStatusLabel(WalletLocalizations l10n, TxSummary tx) → String
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.
txStatusExplanation(WalletLocalizations l10n, TxStatus s) → String
Plain-language explanation of the status for the detail sheet.
txStatusLabel(WalletLocalizations l10n, TxStatus s) → String
Status word for a history row / the detail sheet — ONE mapping for both surfaces (the list row imports this; they must never disagree).