mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-10 08:27:04 +00:00
From the audit of this session's changes: - Error surfacing: the budget (WalletScreen) and offer/invoice card (InvoicePaymentDispatcher) paths now use DebitResponse.failureDetail() like the zap path, so a GFY code-5/code-4 surfaces its range/retry_after instead of just the bare error string. - NOffer.priceType is now non-null: decode already defaults an absent TLV 3 to SPONTANEOUS, so the nullable type was misleading and the '?: SPONTANEOUS' fallbacks in ClinkOfferPreview were dead. Drops them and the now-redundant always-emit-TLV3 test (covered by the spontaneous round-trip). - WalletViewModel.requestDebitBudget catches the budget-validation IllegalArgumentException so a malformed frequency dismisses the dialog instead of hanging the spinner. - Document why ClinkDebitPayer signs with the persistent account key (stable identity for budgets) while ClinkOfferPayer uses an ephemeral key. https://claude.ai/code/session_01NM2TyJtosLdY5ycjyabSRS