mirror of
https://code.gri.mw/GUI/grim.git
synced 2026-07-18 20:59:23 +00:00
093c5014ef
When a scanned QR is recognized as a full GoblinPay payment payload (a recipient key that decodes locally to a concrete pubkey AND a validated amount), skip the recipient discovery/search step and open the review screen prefilled with recipient, amount and memo. The merchant checkout QR already carries everything needed to pay, so re-walking the recipient search was redundant. The review screen still confirms the send unchanged (the user holds-to-send); nothing auto-sends. recognize_scan classifies the payload: - Review: nprofile/npub/64-hex recipient + amount -> straight to review. A cheap LOCAL contact lookup supplies a friendly name; otherwise the short npub (no network resolution on this path). nprofile relay hints carry through as delivery targets. - Search: a name/@handle (needs NIP-05 resolution), an amount-less key, or non-nostr text -> the pre-existing search-box path, with any amount/memo still prefilled. This covers every scanner entry into the send flow (search-field scan icon and the header scan-to-pay screen), so it works from anywhere the payment scanner is reachable. Unit tests on the pure recognize_scan / decode_recipient_key: GoblinPay-uri-with-amount -> Review; key-without-amount -> Search; name+amount -> Search; non-nostr -> Search; key decode variants.