gnunet-svn
[Top][All Lists]
Advanced

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

[taler-docs] branch master updated (ba420a8 -> 79b2673)


From: gnunet
Subject: [taler-docs] branch master updated (ba420a8 -> 79b2673)
Date: Sun, 09 Apr 2023 19:10:27 +0200

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

grothoff pushed a change to branch master
in repository docs.

    from ba420a8  work invoicing for DD37
     new b40e3af  work paying invoices for DD37
     new 79b2673  work paying invoices for DD37

The 2 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          | 66 +++++++++++++++++-----
 transaction-pull-debit-states.dot                  | 54 ++++++++++++++++++
 3 files changed, 108 insertions(+), 16 deletions(-)
 create mode 100644 transaction-pull-debit-states.dot

diff --git a/Makefile b/Makefile
index a214435..06d0464 100644
--- a/Makefile
+++ b/Makefile
@@ -73,6 +73,8 @@ 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
+transaction-pull-debit-states.png: transaction-pull-debit-states.dot
+       dot -Tpng transaction-pull-debit-states.dot > 
transaction-pull-debit-states.png
 coin.png: coin.dot
        dot -Tpng coin.dot > coin.png
 deposit.png: deposit.dot
@@ -80,7 +82,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 transaction-pull-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 
transaction-pull-debit-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 2e4f085..bf8831b 100644
--- a/design-documents/037-wallet-transactions-lifecycle.rst
+++ b/design-documents/037-wallet-transactions-lifecycle.rst
@@ -1046,7 +1046,7 @@ TODO: Also specify variant where account reserve needs to 
be created / funded fi
 
 * ``done``
 
-  The invoice was successfully paid.
+  The payment for the invoice was successfully received.
 
   * ``[action:delete] => deleted``
 
@@ -1061,52 +1061,88 @@ Transaction Type: Peer Pull Debit
 
 * ``initial``
 
-  Wallet read the taler:// URI
+  Initial state where we encounter the taler:// URI.
+
+  * ``[trigger] => pending(download)``
+
+* ``pending(download)``
+
+  We are downloading the information about the invoice.
 
-  * ``[action:success] => pending(invoice-downloaded)``
+  * ``[action:suspend] => suspended(download)``
+  * ``[success] => pending(user)``
 
+* ``suspended(download)``
 
-* ``pending(invoice-downloaded)``
+  User suspended downloading the information about the invoice.
 
-  We've downloaded information about the pull payment and are waiting
-  for the user to confirm.
+  * ``[action:resume] => pending(download)``
+  * ``[action:cancel] => deleted``
+
+``pending(user)``
+
+  We have downloaded information about the pull payment and are waiting for
+  the user to confirm.
 
-  * ``[action:abort] => aborted``: Safe to abort!
   * ``[action:confirm-pay] => pending(submit-payment)``
+  * ``[action:cancel] => deleted``
+  * ``[timeout] => aborted``
 
-* ``pending(submit-payment)``
+* ``pending(deposit)``
 
   The user has confirmed the payment and the wallet tries to deposit
   into the provided purse.
 
-  * ``[action:abort] => aborting(refund)``
-  * ``[processed-success(auto-refund-enabled)] => pending(refundable)``
+  * ``[action:suspend] => suspended(deposit)``
+  * ``[processed-success(auto-refund-enabled)] => pending(refundable)``. 
FIXME(CG): I think we should not support auto-refund.
   * ``[processed-success(auto-refund-disabled)] => done``
-  * ``[processed-error(expired)] => aborting(refresh)``
+  * ``[failure:timeout] => aborting(refresh)``
   * ``[processed-success] => done``
-  * ``[action:abort] => aborting(refresh)``
+  * ``[failure:other] => aborting(refund)``
+
+* ``suspended(deposit)``
+
+  User suspended depositing into the purse.
+
+  * ``[action:resume] => pending(deposit)``
+  * ``[action:abort] => aborting_refund``
 
 * ``pending(refundable)``
 
-The payment succeed but if auto-refund-check is active it will be checking for 
refunds
+  The payment succeed but if auto-refund-check is active it will be checking 
for refunds.
+  FIXME(CG): I do not think we should support auto-refunds here. Not included 
in diagram.
 
   * ``[auto-refund-timeout] => done``
 
 * ``aborting(refund)``
 
+  Aborts the payment, asking for the already deposited coins to be refunded.
+
   * ``[processed-success] => aborted(refunded)``
   * ``[processed-failure] => aborting(refresh)``
-
+  * ``[action:force-abort] => aborted``
 
 * ``aborting(refresh)``
 
-  XXX Before refreshing, should we not wait until the purse has expired?
+  Refreshes the coins that were previously deposited into the purse to recover 
their value.
 
   * ``[processed-success] => aborted``
   * ``[processed-failed] => failed``
 
 * ``done``
 
+  The invoice was successfully paid.
+
+  * ``[action:delete] => deleted``
+
+* ``deleted``
+
+  All information about the invoice has been deleted.
+
+.. image:: ../transaction-pull-debit-states.png
+  :width: 800
+
+
 Alternatives
 ============
 
diff --git a/transaction-pull-debit-states.dot 
b/transaction-pull-debit-states.dot
new file mode 100644
index 0000000..feec0fa
--- /dev/null
+++ b/transaction-pull-debit-states.dot
@@ -0,0 +1,54 @@
+digraph G {
+
+  initial[label="", shape="circle"];
+  pending_download[label="pending(download)"];
+  suspended_download[label="suspended(download)", shape="box"];
+  pending_user[label="pending(user)", shape="box"];
+
+  pending_deposit[label="pending(deposit)"];
+  suspended_deposit[label="suspended(deposit)", shape="box"];
+  aborting_refund[label="aborting(refund)"];
+  aborting_refresh[label="aborting(refresh)"];
+
+  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_download [color="blue", label="URI trigger"];
+
+  pending_download->suspended_download [color="blue", label="suspend"];
+  pending_download->pending_user;
+
+  suspended_download->pending_download [color="blue", label="resume"];
+  suspended_download->deleted [color="blue", label="cancel"];
+
+  pending_user->pending_deposit [color="blue", label="confirm-pay"];
+  pending_user->deleted [color="blue", label="cancel"];
+  pending_user->aborted [label="timeout"];
+
+  pending_deposit->done;
+  pending_deposit->aborting_refund [color="red", label="failure"];
+  pending_deposit->suspended_deposit [color="blue", label="suspend"];
+  pending_deposit->aborting_refresh [color="red", label="failure:timeout"];
+
+  suspended_deposit->pending_deposit [color="blue", label="resume"];
+  suspended_deposit->aborting_refund [color="blue", label="abort"];
+
+  aborting_refund->aborting_refresh;
+  aborting_refund->aborting_refresh [color="red", label="failure"];
+  aborting_refund->aborted [color="blue", label="force-abort"];
+
+  aborting_refresh->aborted;
+  aborting_refresh->failed [color="red", label="failure"];
+  aborting_refresh->aborted [color="blue", label="force-abort"];
+
+  aborted->deleted [color="blue", label="delete"];
+  failed->deleted [color="blue", label="delete"];
+  done->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]