commit d76314f0c3f7a2db17cb6546523aafa1bf45c52a
parent d460b5d74205a94365a51d915863ae459c33146b
Author: Florian Dold <florian@dold.me>
Date: Tue, 17 Feb 2026 18:56:26 +0100
DD37: document UI strings for wallet tx states
Diffstat:
1 file changed, 96 insertions(+), 8 deletions(-)
diff --git a/design-documents/037-wallet-transactions-lifecycle.rst b/design-documents/037-wallet-transactions-lifecycle.rst
@@ -164,14 +164,8 @@ transaction types:
finish a KYC process. The wallet should show the user a hint on how to
start the KYC process.
-``aml``: The transaction can't proceed because the user needs to wait for the
-exchange operator to conclude an AML investigation by the staff at the
-exchange. There are two AML substates. In the substate ``pending`` the user
-is not expected to take any action and should just wait for the investigation
-to conclude. In the substate ``frozen`` the staff at the exchange decided that
-the account needed to be frozen. The user should contact the exchange
-provider's customer service department and seek resolution (possibly through
-the courts) to avoid losing the funds for good.
+``kyc-init``: The transaction cannot proceed, as the user needs to actively
+finish a KYC process. The information for the KYC process is still loading.
Transaction Type: Withdrawal
@@ -1013,6 +1007,100 @@ Transaction Type: Peer Pull Debit
.. image:: ../images/transaction-pull-debit-states.png
+
+UI Strings for Transaction States
+=================================
+
+* ``pending(kyc-init)``
+
+ * Transactions: withdrawal, deposit, peer-push-credit, peer-pull-credit
+ * Title: "Preparing legitimization"
+
+* ``pending(kyc)``:
+
+ * Transactions: withdrawal, deposit, peer-push-credit, peer-pull-credit
+ * Title: "Legitimization required"
+
+* ``pending(balance-kyc)``:
+
+ * Transactions: withdrawal, deposit, peer-push-credit, peer-pull-credit, refund (?)
+ * Title: "Exceeds balance limit"
+
+* ``pending(kyc-auth)``:
+
+ * Title: "Legitimization required"
+ * Alt Title: "Bank account verification required"
+ * Alt Title: "Verify bank account"
+
+* ``pending(accept-refund)``
+
+ * Title: "Checking for refund"
+ * Alt title: "Processing refund"
+
+ * User doesn't care about this info
+
+* ``finalizing(auto-refund)``
+
+ * Title: TBD
+
+* ``pending(check-refund)``
+
+ * Title: "Checking for refund"
+
+* ``aborted(completed-by-other-wallet)``
+
+ * Title: "Completed by other wallet"
+
+* ``pending(bank-confirm-transfer)``
+
+ * Title: "Waiting for bank transfer"
+
+* ``withdrawal:aborted(exchange)``
+
+ * Title: "Aborted"
+ * Description: Mention that money will come back via bank account transfer.
+
+* ``pay:dialog(proposed)``
+
+ * TBD (=> Vlada?)
+
+* ``pay:failed(paid-by-other)``
+
+ * Title: "Paid with other wallet"
+
+* ``pending(ready)``
+
+ * Title: "Ready"
+
+* ``pending(rebind-session)``
+
+ * Title: "Restoring access"
+
+* ``finalizing(track)``
+
+ * Title: TBD
+
+
+Minor states just shown as ``pending/aborting/...`` (i.e. no more
+details shown to the user):
+
+* ``failed(aborting-bank)``
+* ``aborting(bank)``
+* ``pending(bank-register-reserve)``
+* ``pending(claim-proposal)``
+* ``pending(create-purse)``
+* ``aborting(delete-purse)``
+* ``pending(deposit)``
+* ``withdrawal:pending(exchange-wait-reserve)``
+* ``peer-push-credit:pending(merge)``
+* ``aborting(refresh)``
+* ``aborted(refused)``
+* ``pending(submit-payment)``
+* ``pending(withdraw)``
+* ``pending(withdraw-coins)``
+* ``failed(repurchase)`` (anyway only shows in dev mode)
+
+
Alternatives
============