[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-docs] branch master updated: work invoicing for DD37
From: |
gnunet |
Subject: |
[taler-docs] branch master updated: work invoicing for DD37 |
Date: |
Sun, 09 Apr 2023 18:33:14 +0200 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository docs.
The following commit(s) were added to refs/heads/master by this push:
new ba420a8 work invoicing for DD37
ba420a8 is described below
commit ba420a8d2588e56e61832b11496a8a51f08099a8
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Sun Apr 9 18:33:11 2023 +0200
work invoicing for DD37
---
Makefile | 4 +-
.../037-wallet-transactions-lifecycle.rst | 30 +++++++---
transaction-common-states.dot | 10 +++-
transaction-pull-credit-states.dot | 65 ++++++++++++++++++++++
transaction-withdrawal-states.dot | 4 +-
5 files changed, 100 insertions(+), 13 deletions(-)
diff --git a/Makefile b/Makefile
index af89ca3..a214435 100644
--- a/Makefile
+++ b/Makefile
@@ -71,6 +71,8 @@ transaction-push-debit-states.png:
transaction-push-debit-states.dot
dot -Tpng transaction-push-debit-states.dot >
transaction-push-debit-states.png
transaction-push-credit-states.png: transaction-push-credit-states.dot
dot -Tpng transaction-push-credit-states.dot >
transaction-push-credit-states.png
+transaction-pull-credit-states.png: transaction-pull-credit-states.dot
+ dot -Tpng transaction-pull-credit-states.dot >
transaction-pull-credit-states.png
coin.png: coin.dot
dot -Tpng coin.dot > coin.png
deposit.png: deposit.dot
@@ -78,7 +80,7 @@ deposit.png: deposit.dot
reserve.png: reserve.dot
dot -Tpng reserve.dot > reserve.png
-diagrams: arch-api.png coin.png deposit.png reserve.png
transaction-common-states.png transaction-withdrawal-states.png
transaction-payment-states.png transaction-refund-states.png
transaction-refresh-states.png transaction-tip-states.png
transaction-deposit-states.png transaction-push-debit-states.png
transaction-push-credit-states.png
+diagrams: arch-api.png coin.png deposit.png reserve.png
transaction-common-states.png transaction-withdrawal-states.png
transaction-payment-states.png transaction-refund-states.png
transaction-refresh-states.png transaction-tip-states.png
transaction-deposit-states.png transaction-push-debit-states.png
transaction-push-credit-states.png transaction-pull-credit-states.png
# The html-linked builder does not support caching, so we
diff --git a/design-documents/037-wallet-transactions-lifecycle.rst
b/design-documents/037-wallet-transactions-lifecycle.rst
index 58fd2c1..2e4f085 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
---------------------------------
diff --git a/transaction-common-states.dot b/transaction-common-states.dot
index 3cbee21..170ace7 100644
--- a/transaction-common-states.dot
+++ b/transaction-common-states.dot
@@ -7,6 +7,7 @@ digraph G {
aborting[label="aborting"];
failed[label="failed", shape="box"];
suspended[label="suspended", shape="box"];
+ deleted[label="deleted", shape="box"];
subgraph {
rank = same; pending;suspended;
@@ -19,10 +20,15 @@ digraph G {
initial->pending;
pending->suspended [color="blue",label="suspend"];
suspended->pending [color="blue",label="resume"];
+ suspended->deleted [color="blue",label="force-delete"];
pending->done [color="green",label="success"];
- pending->failed [color="red",label="error"];
+ pending->failed [color="red",label="failure"];
pending->aborting [color="blue",label="abort"];
pending->aborted [color="blue",label="abort"];
+ pending->deleted [color="blue",label="cancel"];
aborting->aborted [color="green",label="success"];
- aborting->failed [color="red",label="error"];
+ aborting->failed [color="red",label="failure"];
+ failed->deleted [color="blue",label="delete"];
+ aborted->deleted [color="blue",label="delete"];
+ done->deleted [color="blue",label="delete"];
}
diff --git a/transaction-pull-credit-states.dot
b/transaction-pull-credit-states.dot
new file mode 100644
index 0000000..82d02ab
--- /dev/null
+++ b/transaction-pull-credit-states.dot
@@ -0,0 +1,65 @@
+digraph G {
+
+ initial[label="", shape="circle"];
+ pending_create[label="pending(purse-create)"];
+ pending_qr[label="pending(qr-ready)", shape="box"];
+ aborting_delete[label="aborting(delete-purse)"];
+ pending_withdraw[label="pending(withdraw)"];
+ suspended_withdraw[label="suspended(withdraw)", shape="box"];
+ pending_kyc[label="pending(kyc)"];
+ suspended_kyc[label="suspended(kyc)", shape="box"];
+ pending_aml[label="pending(aml)"];
+ suspended_aml[label="suspended(aml)", shape="box"];
+
+ aborted[label="aborted", shape="box"];
+ failed[label="failed", shape="box"];
+ done[label="done", shape="box"];
+ deleted[label="deleted", shape="box"];
+
+// subgraph {
+// rank = same; pending_withdraw; failed;
+// }
+
+ initial->pending_create [color="blue", label="form data"];
+
+ pending_create->pending_qr;
+ pending_create->deleted [color="red", label="failure"];
+ pending_create->deleted [color="blue", label="cancel"];
+
+ pending_qr->aborted [label="timeout"];
+ pending_qr->aborting_delete [color="blue", label="abort"];
+ pending_qr->pending_withdraw;
+ pending_qr->aborting_delete [color="red", label="poll-failure"];
+
+ aborting_delete->pending_withdraw [color="red",
label="failure:already-merged"];
+ aborting_delete->aborted;
+ aborting_delete->aborted [color="red", label="failure:other"];
+ aborting_delete->aborted [color="blue", label="force-abort"];
+
+ aborted->deleted [color="blue", label="delete"];
+
+ pending_withdraw->done;
+ pending_withdraw->failed [color="red", label="failure"];
+ pending_withdraw->pending_kyc [label="kyc-required"];
+ pending_withdraw->pending_aml [label="aml-required"];
+ pending_withdraw->suspended_withdraw [color="blue", label="suspend"];
+
+ suspended_withdraw->pending_withdraw [color="blue", label="resume"];
+ suspended_withdraw->deleted [color="blue", label="force-delete"];
+
+ pending_kyc->suspended_kyc [color="blue", label="suspend"];
+ pending_kyc->pending_withdraw [color="purple", label="poll-success"];
+
+ suspended_kyc->pending_kyc [color="blue", label="resume"];
+ suspended_kyc->deleted [color="blue", label="force-delete"];
+
+ pending_aml->suspended_aml [color="blue", label="suspend"];
+ pending_aml->pending_withdraw [color="purple", label="poll-success"];
+
+ suspended_aml->pending_aml [color="blue", label="resume"];
+ suspended_aml->deleted [color="blue", label="force-delete"];
+
+ failed->deleted [color="blue", label="delete"];
+ done->deleted [color="blue", label="delete"];
+
+}
diff --git a/transaction-withdrawal-states.dot
b/transaction-withdrawal-states.dot
index 95c8fda..7b59be7 100644
--- a/transaction-withdrawal-states.dot
+++ b/transaction-withdrawal-states.dot
@@ -30,12 +30,12 @@ digraph G {
initial->pending_brr [color="blue", label="bank integrated withdraw"];
initial->pending_ewr [color="blue", xlabel="manual withdraw"];
pending_brr->pending_bc;
- pending_brr->aborting_w2b [color="blue", label="abort"];
+ pending_brr->aborting_w2b [color="blue", label="cancel"];
pending_brr->deleted [color="red", label="error"];
pending_bc->pending_ewr [label="bank-poll:\napproved"];
pending_bc->pending_wc [xlabel="exchange-poll:\nreserve
ready",style="dotted"];
- pending_bc->aborting_w2b [color="blue", label="abort"];
+ pending_bc->aborting_w2b [color="blue", label="cancel"];
pending_bc->deleted [label="bank-poll:\ndenied"];
pending_ewr->pending_wc [label="exchange-poll:\nreserve ready"];
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.