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).
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.