From ba420a8d2588e56e61832b11496a8a51f08099a8 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 9 Apr 2023 18:33:11 +0200 Subject: work invoicing for DD37 --- .../037-wallet-transactions-lifecycle.rst | 30 ++++++++++++++++------ 1 file changed, 22 insertions(+), 8 deletions(-) (limited to 'design-documents') 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 --------------------------------- -- cgit v1.2.3