[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-docs] branch master updated (e47b50f -> 3a40342)
From: |
gnunet |
Subject: |
[taler-docs] branch master updated (e47b50f -> 3a40342) |
Date: |
Sun, 09 Apr 2023 13:29:33 +0200 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a change to branch master
in repository docs.
from e47b50f spec refresh
new 20c1d0e spec tip
new b991acd spec tip
new 3a40342 spec tip
The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
Makefile | 4 +-
.../037-wallet-transactions-lifecycle.rst | 76 ++++++++++++++++++----
transaction-tip-states.dot | 45 +++++++++++++
3 files changed, 113 insertions(+), 12 deletions(-)
create mode 100644 transaction-tip-states.dot
diff --git a/Makefile b/Makefile
index 4cd644b..771a04e 100644
--- a/Makefile
+++ b/Makefile
@@ -63,6 +63,8 @@ transaction-refund-states.png: transaction-refund-states.dot
dot -Tpng transaction-refund-states.dot > transaction-refund-states.png
transaction-refresh-states.png: transaction-refresh-states.dot
dot -Tpng transaction-refresh-states.dot >
transaction-refresh-states.png
+transaction-tip-states.png: transaction-tip-states.dot
+ dot -Tpng transaction-tip-states.dot > transaction-tip-states.png
coin.png: coin.dot
dot -Tpng coin.dot > coin.png
deposit.png: deposit.dot
@@ -70,7 +72,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
+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
# 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 bacfff0..f9db090 100644
--- a/design-documents/037-wallet-transactions-lifecycle.rst
+++ b/design-documents/037-wallet-transactions-lifecycle.rst
@@ -509,38 +509,92 @@ the same as if the double-spending transaction had been
deleted by the user.
The refresh operation completed.
+ * ``[action:delete] => deleted``
+
* ``deleted``
All memory of the refresh operation is lost, but of course the resulting
fresh coins are preserved.
.. image:: ../transaction-refresh-states.png
- :width: 800
+ :width: 400
Transaction Type: Tip
---------------------
-* ``initial``
+* ``pending(query)``
- The wallet has downloaded metadata for the tip from the merchant and
- stored it in the database. The user needs to accept/refuse it.
+ The wallet is downloading the metadata for the tip from the merchant to
store it in the database.
- * ``[tip-expired] => failed(expired)``
- * ``[action:accept-tip] => pending(pickup)``
- * ``[action:abort] => aborted``
+ * ``[failure] => deleted``: We only show a transient warning that the tip
was invalid.
+ * ``[action:suspend] => suspended(pickup)``
+ * ``[success] => pending(user)``
+
+* ``suspended(query)``
+
+ The user suspended the operation to download the tip data.
+
+ * ``[action:delete] => deleted``
+ * ``[action:resume] => pending(query)``
+
+* ``pending(user)``
+
+ We have downloaded the metadata for the tip. The user needs to accept/refuse
+ the tip.
+
+ * ``[tip-expired] => failed``
+ * ``[action:accept] => pending(pickup)``
+ * ``[action:abort] => deleted``
* ``pending(pickup)``
- * ``[tip-expired] => failed(expired)``
+ We are picking up the tip.
+
+ * ``[failure] => failed``: any type of failure, including expiration.
* ``[processed-kyc-required] => pending(kyc-required)``
- * ``[processed-success] => done``
- * ``[action:abort] => aborted``
+ * ``[success] => done``
+ * ``[action:suspend] => suspended(pickup)``
-* ``pending(kyc-required)``
+* ``suspended(pickup)``
+
+ The user suspended the operation while the tip was being picked up.
+
+ * ``[action:delete] => deleted``
+ * ``[tip-expired] => failed``
+ * ``[action:resume] => pending(pickup)``
+
+* ``pending(kyc)``
+
+ The user needs to perform a KYC check to continue. This usually should only
+ happen if the wallet balance exceeds some threshold.
* ``[poll-success] => pending(pickup)``
+ * ``[action:suspend] => suspended(kyc)``
+
+* ``suspended(kyc)``
+
+ The user suspended the KYC operation. Note that we do not time out here if
+ the tip expires, as the wallet balance threshold KYC likely applies even
+ without the tip.
+
+ * ``[action:delete] => deleted``
+ * ``[action:resume] => pending(kyc)``
+
+* ``done``
+
+ The tip operation completed.
+
+ * ``[action:delete] => deleted``
+
+* ``deleted``
+
+ All memory of the tip operation is lost, but of course the resulting fresh
+ coins are preserved.
+
+.. image:: ../transaction-tip-states.png
+ :width: 400
Transaction Type: Deposit
diff --git a/transaction-tip-states.dot b/transaction-tip-states.dot
new file mode 100644
index 0000000..335ee81
--- /dev/null
+++ b/transaction-tip-states.dot
@@ -0,0 +1,45 @@
+digraph G {
+
+ initial[label="", shape="circle"];
+ pending_query[label="pending(query)"];
+ pending_user[label="pending(user)"];
+ pending_pickup[label="pending(pickup)"];
+ pending_kyc[label="pending(kyc)"];
+ suspended_query[label="suspended(query)", shape="box"];
+ suspended_pickup[label="suspended(pickup)", shape="box"];
+ suspended_kyc[label="suspended(kyc)", shape="box"];
+ done[label="done", shape="box"];
+ failed[label="failed", shape="box"];
+ deleted[label="deleted", shape="box"];
+
+ initial->pending_query [color="blue", label="URI trigger"];
+
+ pending_query->pending_user;
+ pending_user->pending_pickup [color="blue", label="accept"];
+ pending_pickup->pending_kyc;
+ pending_query->suspended_query [color="blue", label="suspend"];
+ pending_pickup->suspended_pickup [color="blue", label="suspend"];
+ pending_kyc->suspended_kyc [color="blue", label="suspend"];
+
+ pending_kyc->pending_pickup [color="purple", label="kyc"];
+
+
+ pending_pickup->done;
+
+ suspended_query->pending_query [color="blue", label="resume"];
+ suspended_pickup->pending_pickup [color="blue", label="resume"];
+ suspended_kyc->pending_kyc [color="blue", label="resume"];
+
+ suspended_query->deleted [color="blue", label="delete"];
+ suspended_pickup->deleted [color="blue", label="delete"];
+ suspended_kyc->deleted [color="blue", label="delete"];
+ pending_user->deleted [color="blue", label="abort"];
+ pending_user->failed [color="red", label="expired"];
+ suspended_pickup->failed [color="red", label="expired"];
+ pending_pickup->failed [color="red", label="failure"];
+ pending_query->deleted [color="red", label="failure"];
+
+ done->deleted [color="blue", label="delete"];
+ failed->deleted [color="blue", label="delete"];
+
+}
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [taler-docs] branch master updated (e47b50f -> 3a40342),
gnunet <=