summaryrefslogtreecommitdiff
path: root/design-documents
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2023-04-09 18:33:11 +0200
committerChristian Grothoff <christian@grothoff.org>2023-04-09 18:33:11 +0200
commitba420a8d2588e56e61832b11496a8a51f08099a8 (patch)
treec9585c826ca785d58b667891ab28b6996c4a9be6 /design-documents
parent80c8a960dba8d1d28954768031396723ca4d1f04 (diff)
downloaddocs-ba420a8d2588e56e61832b11496a8a51f08099a8.tar.gz
docs-ba420a8d2588e56e61832b11496a8a51f08099a8.tar.bz2
docs-ba420a8d2588e56e61832b11496a8a51f08099a8.zip
work invoicing for DD37
Diffstat (limited to 'design-documents')
-rw-r--r--design-documents/037-wallet-transactions-lifecycle.rst30
1 files changed, 22 insertions, 8 deletions
diff --git a/design-documents/037-wallet-transactions-lifecycle.rst b/design-documents/037-wallet-transactions-lifecycle.rst
index 58fd2c14..2e4f0858 100644
--- a/design-documents/037-wallet-transactions-lifecycle.rst
+++ b/design-documents/037-wallet-transactions-lifecycle.rst
@@ -109,6 +109,11 @@ actively abort the transaction (e.g. to avoid losing money) and puts it in an
``failed`` state. May result in an ultimate loss of funds (beyond fees) to the
user and thus requires additional consent.
+``[action:cancel]``: Like an ``abort``, except that it results in the deletion
+of the transaction state as there is nothing useful to be kept around. Should
+be used instead of ``delete`` if there was no transaction history state yet
+that could be deleted.
+
``[action:delete]``: Deleting a transaction completely deletes the transaction
from the database. Depending on the type of transaction, some of the other
data *resulting* from the transaction might still survive deletion. For
@@ -121,8 +126,9 @@ state. May result in an ultimate loss of funds (beyond fees) to the user and
thus requires additional consent.
-Whether aborting, deleting or suspending are possible depends on the
-transaction type, and usually only one of the three choices should be offered.
+Whether aborting, cancelling, deleting or suspending are possible depends on
+the transaction type, and usually only one of the four choices should be
+offered.
.. image:: ../transaction-common-states.png
@@ -172,7 +178,7 @@ Transaction Type: Withdrawal
* ``[processed-success] => pending(bank-confirming)``
* ``[processed-error] => deleted``: We show a transient warning.
- * ``[action:abort] => aborting(bank-to-wallet)``
+ * ``[action:cancel] => aborting(bank-to-wallet)``
* ``pending(bank-confirming)``
@@ -190,7 +196,7 @@ Transaction Type: Withdrawal
* ``[bank-poll-success] => pending(exchange-wait-reserve)``
* ``[bank-poll-denied] => deleted``: We show a transient message that the operation was denied in the bank.
* ``[exchange-poll-success] => pending(withdrawing-coins)``
- * ``[action:abort] => aborting(wallet-to-bank)``
+ * ``[action:cancel] => aborting(wallet-to-bank)``
* ``aborting(wallet-to-bank)``
@@ -952,10 +958,8 @@ TODO: Also specify variant where account reserve needs to be created / funded fi
* ``pending(purse-create)``
* ``[process-success] => pending(qr-ready)``: The wallet has created the purse.
- * ``[process-failure] => aborted``: The purse creation failed.
- * ``[action:delete] => deleted``: The user aborted the operation.
- FIXME(CG): May want to go into ``aborting(delete-purse)`` instead to make
- sure the purse is not left behind.
+ * ``[process-failure] => deleted``: The purse creation failed. We only show a transient error.
+ * ``[action:cancel] => deleted``: The user aborted the operation.
* ``pending(qr-ready)``
@@ -998,6 +1002,13 @@ TODO: Also specify variant where account reserve needs to be created / funded fi
* ``[processed-aml] => pending(aml)``
* ``[action:suspend] => suspended(withdraw)``
+* ``suspended(withdraw)``
+
+ The user suspended a withdraw operation.
+
+ * ``[action:resume] => pending(withdraw)``
+ * ``[action:force-delete] => deleted``
+
* ``pending(kyc)``
The user must supply KYC information before withdrawing can continue.
@@ -1041,6 +1052,9 @@ TODO: Also specify variant where account reserve needs to be created / funded fi
* ``deleted``
+.. image:: ../transaction-pull-credit-states.png
+ :width: 800
+
Transaction Type: Peer Pull Debit
---------------------------------