features/wallet/send/wallet_send_request library

Classes

WalletMachineMemo
FR-28 — OPAQUE machine-memo bytes a host attaches to a payment, together with the human-readable purpose it must state for them.
WalletSendRequest
FR-25 — the prefilled-send entry seam's typed request (ZIP-321-first).

Enums

WalletSendRequestFault
Why a ZIP-321 URI was rejected at the WalletSendRequest.fromUri seam. No payload (§5.4 — never echoes URI bytes); the host maps it to honest copy.

Functions

sameSendRequest(WalletSendRequest a, WalletSendRequest b) → bool
Whether two requests are THE SAME request to the send flow — the identity a final "no transaction" attaches to (stage S8 deadline, R05): after the entry's grace revoked a request, a host re-navigation onto the send path with the same request is refused, and one with a different request is a new host act that pays.
walletSendRequestFaultFromApiError(Object error) → WalletSendRequestException
Map a parsePaymentUri bridge failure to the seam's typed fault. Reads the typed WalletApiError.kind ONLY (never a payload — §5.4); a cross-network URI is WalletSendRequestFault.wrongNetwork (distinct, renderable), and anything else — malformed, oversized, a bad leg — collapses to WalletSendRequestFault.malformed. Pure + total.
walletSendRequestFromParsedLegs(List<ParsedPayment> legs) → WalletSendRequest
Map the audited parser's per-leg ParsedPayment result to a prefill request, enforcing the seam's single-leg + text-memo policy. PURE — no bridge, no network — so it is unit-tested at its boundary against fixture legs. The adapter (WalletSession.parseSendRequest) calls this after the (audited, network-checked) parsePaymentUri bridge crossing; malformed/wrong-network are already typed by then and mapped from the bridge's WalletApiError.

Exceptions / Errors

WalletSendRequestException
A typed, payload-free rejection of a ZIP-321 prefill URI at the entry seam (WalletSendRequest.fromUri) — surfaced to the host BEFORE any navigation, so it shows an honest error rather than opening a half-filled send form.