feat(receive): implement C12 end-to-end receive payment flow - #36
Conversation
Two design decisions worth a reviewer's attentionBoth go slightly beyond the literal task spec, made to keep the implementation correct against this repo's architecture and CI gates. 1. Shared orchestrator via React Context (not a per-screen hook)The receive flow spans multiple Expo Router screens ( To fix this, 2. Derived
|
- CLI-061: ReceiveHomeView with amount input and asset selector - CLI-062: receiveAmountSchema with Zod and USDC precision guard - CLI-063: PaymentRequestBuilder wrapping createPaymentRequest - CLI-064: ReceiveListeningView with NFC broadcast and countdown - CLI-065: useReceivePayment FSM orchestrator hook - CLI-066: WaitingForPaymentView with 60s timeout - CLI-067: ReceiveSuccessView - CLI-068: ReceiveFailedView with error-specific messages - CLI-069: ReceiveSessionManager with safe timer coordination - CLI-070: TrustlineService USDC trustline check via Horizon - CLI-071: Receive analytics events added to AnalyticsEvents - CLI-072: docs/receive-flow.md with state diagram and references - Route files: /receive/listening, /waiting, /success, /failed - README linked to receive-flow.md Closes Ding-Payments#34
6c72848 to
5591fbd
Compare
Closes #34
Description
Implements the complete C12 receive payment flow across all 12 atomic tasks (CLI-061–CLI-072). Full receiver journey from amount entry through NFC broadcast, waiting, and success/failure outcomes, including USDC trustline gating, session timer coordination, analytics instrumentation, and architecture documentation.
Atomic Tasks Delivered
How Has This Been Tested?
Checklist