gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-docs] branch master updated: simplify diagrams


From: gnunet
Subject: [taler-docs] branch master updated: simplify diagrams
Date: Tue, 25 Apr 2023 15:48:08 +0200

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository docs.

The following commit(s) were added to refs/heads/master by this push:
     new 8fb0026  simplify diagrams
8fb0026 is described below

commit 8fb0026bc2cda985d4400bb86be67ed956f3d07b
Author: Florian Dold <florian@dold.me>
AuthorDate: Tue Apr 25 15:48:05 2023 +0200

    simplify diagrams
---
 .../037-wallet-transactions-lifecycle.rst          | 43 +++++++------------
 transaction-payment-states.dot                     |  6 ++-
 transaction-refund-states.dot                      | 49 +++-------------------
 3 files changed, 27 insertions(+), 71 deletions(-)

diff --git a/design-documents/037-wallet-transactions-lifecycle.rst 
b/design-documents/037-wallet-transactions-lifecycle.rst
index 90b39ee..be39e07 100644
--- a/design-documents/037-wallet-transactions-lifecycle.rst
+++ b/design-documents/037-wallet-transactions-lifecycle.rst
@@ -429,13 +429,22 @@ Transaction Type: Payment to Merchant
   completed.  It is not relevant for auto-refunds or refunds for incomplete
   payments.
 
-  * ``[refunds-checked] => done`` --- Refunds were checked, this
-    might create new refund transactions.
+  * ``[refunds-checked] => pending(user-new-refunds)`` --- New
+    refund(s) are available, user needs to confirm.
+  * ``[refunds-checked] => done`` --- Refunds were checked, but no
+    new refunds are available.
   * ``[action:stop-refund-query] => done`` ---
     This action would usually only be offered when the state is pending
     with errors. It stops the refund query, but the payment of course
     is left intact.
 
+* ``pending(user-new-refunds)``
+
+  * ``[action:accept] => done``: User accepts refunds,
+    new refund transactions will be created.
+  * ``[action:refuse] => done``: User refuses new refunds,
+    no new refund transactions will be created.
+
 * ``pending(repurchase-session-reset)``
 
   The wallet should reset the associated session for the already purchased
@@ -459,33 +468,13 @@ Transaction Type: Refund
 A refund is a pseudo-transaction that is always associated with a merchant
 payment transaction.
 
-* ``pending(lookup-refund)``
-
-  We received a ``refund`` URI. Download refund details (like the amount) from
-  the merchant.  If the merchant responds with a permanent failure, we only
-  show a transient warning and delete the transaction.
-
-  * ``[success] => pending(user-accept)``
-  * ``[action:suspend] => suspended(lookup-refund)``
-  * ``[failure] => deleted``: A transient warning is shown to the user about 
the failure.
-
-* ``suspended(lookup-refund)``
-
-  The user suspended while we were looking up the refund details. Allow 
resuming or permanent deletion.
-
-  * ``[action:resume] => pending(lookup-refund)``
-  * ``[action:force-delete] => deleted``: Refund funds will be lost to the 
user.
-
-* ``pending(user-accept)``
-
-  The wallet has downloaded metadata for the refund from the merchant and 
stored it in the database.  The user needs to accept/refuse it.
-
-  * ``[action:accept] => pending(merchant)``: the refund is accepted
-  * ``[action:delete] => deleted`` : the refund is not accepted
-
 * ``pending(merchant)``
 
-  A refund is pending in this state while we are waiting for the merchant to 
get a successful response from the exchange (and relaying that error response 
to the wallet).
+  Initial state for a refund.
+
+  A refund is pending in this state while we are waiting for the merchant to
+  get a successful response from the exchange (and relaying that error response
+  to the wallet).
 
   * ``[action:suspend] => suspended(merchant)``
   * ``[processed-success] => pending(refresh)``
diff --git a/transaction-payment-states.dot b/transaction-payment-states.dot
index 481869b..d42582b 100644
--- a/transaction-payment-states.dot
+++ b/transaction-payment-states.dot
@@ -5,8 +5,9 @@ digraph G {
   pending_dp[label="pending(claim-proposal)"];
   pending_sp[label="pending(submit-payment)"];
   pending_ar[label="pending(auto-refund)"];
-  pending_re[label="pending(repurchase-session-reset)"];
+  pending_re[label="pending\n(repurchase-session-reset)"];
   pending_cr[label="pending(check-refunds)"];
+  pending_user_new_refunds[label="pending(user-new-refunds)"];
   aborting_pi[label="aborting(payment-incomplete)"];
   aborted_pi[label="aborted(payment-incomplete)", shape="box"];
   aborted_refused[label="aborted(refused)", shape="box"];
@@ -37,6 +38,9 @@ digraph G {
   done -> pending_re;
   
   pending_cr -> done;
+  pending_cr -> pending_user_new_refunds;
+
+  pending_user_new_refunds -> done;
   
   pending_re -> done;
 }
diff --git a/transaction-refund-states.dot b/transaction-refund-states.dot
index 8bd9ce6..3d42112 100644
--- a/transaction-refund-states.dot
+++ b/transaction-refund-states.dot
@@ -1,52 +1,15 @@
 digraph G {
 
-  initial[label="", shape="circle"];
-  pending_in[label="pending(lookup-refund)"];
-  pending_ar[label="pending(user-accept)", shape="box"];
-  pending_me[label="pending(merchant)"];
+  initial[label="", shape="circle", xlabel="refund"];
+  pending_merchant[label="pending(merchant)"];
   pending_re[label="pending(refresh)"];
-  suspended_in[label="suspended(lookup-refund)", shape="box"];
-  suspended_me[label="suspended(merchant)", shape="box"];
-  suspended_re[label="suspended(refresh)", shape="box"];
   done[label="done", shape="box"];
-  deleted[label="deleted", shape="box"];
   failed[label="failed", shape="box"];
 
-  subgraph {
-    rank = same; pending_in; pending_ar; pending_me; pending_re;
-  }
-  subgraph {
-    rank = same; suspended_in; suspended_me; suspended_re; done;
-  }
+  initial->pending_merchant;
 
-  initial->pending_in [color="blue", label="URI trigger"];
-
-  pending_in->pending_ar;
-  pending_in->suspended_in [color="blue", label="suspend"];
-  pending_in->deleted [color="red", label="failure"];
-
-  suspended_in->pending_in [color="blue", label="resume"];
-  suspended_in->deleted [color="blue", label="force-delete"];
-
-  pending_ar->pending_me [color="blue", label="accept"];
-  pending_ar->deleted [color="blue", label="force-delete"];
-
-  pending_me->pending_re;
-  pending_me->suspended_me [color="blue", label="suspend"];
-  pending_me->failed [color="red", label="failure"];
-
-  suspended_me->pending_me [color="blue", label="resume"];
-  suspended_me->deleted [color="blue", label="force-delete"];
-
-  pending_re->suspended_re [color="blue", label="suspend"];
+  pending_merchant->pending_re;
+  pending_merchant->failed;
+  
   pending_re->done;
-  pending_re->failed [color="red", label="failure"];
-
-  suspended_re->pending_re [color="blue", label="resume"];
-  suspended_re->deleted [color="blue", label="force-delete"];
-
-  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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]