gnunet-svn
[Top][All Lists]
Advanced

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

[taler-docs] branch master updated (7ac70df -> 426c310)


From: gnunet
Subject: [taler-docs] branch master updated (7ac70df -> 426c310)
Date: Tue, 28 Mar 2023 06:11:44 +0200

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

sebasjm pushed a change to branch master
in repository docs.

    from 7ac70df  add svg
     new aaf0a13  kyc and aml is a substate of pending
     new 118a3d0  removing suspend state in withdrawal because is implicit that 
every pending/aborting can be suspended
     new b49cf82  adding aborted partially, after some coins are withdrawn
     new 426c310  missing svg

The 4 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:
 .../037-wallet-transactions-lifecycle.rst          | 70 +++++++++++++---------
 transaction-withdrawal-states.svg                  | 16 +++++
 2 files changed, 57 insertions(+), 29 deletions(-)
 create mode 100644 transaction-withdrawal-states.svg

diff --git a/design-documents/037-wallet-transactions-lifecycle.rst 
b/design-documents/037-wallet-transactions-lifecycle.rst
index 56ddda9..f3c12e5 100644
--- a/design-documents/037-wallet-transactions-lifecycle.rst
+++ b/design-documents/037-wallet-transactions-lifecycle.rst
@@ -57,21 +57,6 @@ resumed and may then still succeed.
 
 ``failed``: Similar to ``done``, but the transaction could not even be aborted 
successfully.
 
-``kyc-required``: The transaction can't proceed because the user needs to 
actively
-finish a KYC process. 
-
-``aml-required``: The transaction can't proceed because the user needs to wait 
for
-the exchange operator to conclude an AML investigation.
-
-There are two key distinctions for AML-required transactions:
-
-* pending: the staff at the exchange is running its investigation. The user is 
not
-  expected to take any action and should just wait for the investigation to 
conclude.
-
-* frozen: the staff at the exchange decided that the account needed to be 
frozen.
-  The user should contact the exchange provider's customer service department 
and
-  seek resolution (possibly through the courts) to avoid loosing the funds for 
good.
-
 ``deleted``: A ``deleted`` state is always a final state.  We only use this
 state for illustrative purposes. In the implementation, the data associated
 with the transaction would be deleted.
@@ -88,10 +73,10 @@ transaction, some of the other data *resulting* from the 
transaction might
 still survive deletion. For example, deleting a withdrawal transaction does not
 delete already successfully withdrawn coins.
 
-``[action:retry]``: Retrying a transaction *(1.)* stops ongoing longpolling
+``[action:retry]``: Retrying a transaction *(1.)* stops ongoing long-polling
 requests for the transaction *(2.)* resets the retry timeout *(3.)* re-runs the
 handler to process the transaction. Retries are always possible the following
-states: ``pending(*)``, ``kyc-required(*)``, ``updating(*)``, ``aborting(*)``.
+states: ``pending(*)`` and ``aborting(*)``.
 
 .. attention::
 
@@ -100,8 +85,10 @@ states: ``pending(*)``, ``kyc-required(*)``, 
``updating(*)``, ``aborting(*)``.
    sebasjm: Since the wallet will retry anyway, maybe is better if we replace 
the "retry" 
    button with a "try now" button and a side text "retrying in xxx seconds"
 
-``[action:abort]``: Aborting a transaction either directly stops processing 
for the transaction and puts it in an ``aborted`` state
-or starts the necessary steps to actively abort the transaction (e.g. to avoid 
losing money) and puts it in an ``aborting`` state.
+``[action:abort]``: Aborting a transaction either directly stops processing 
for the 
+transaction and puts it in an ``aborted`` state or starts the necessary steps 
to 
+actively abort the transaction (e.g. to avoid losing money) and puts it in an 
+``aborting`` state.
 
 ``[action:suspend]``: Suspends a pending transaction, stopping any associated 
network activities, but with a chance of trying
 again at a later time. This could be useful if a user needs to save battery 
power or bandwidth and an operation is expected
@@ -117,11 +104,32 @@ of the two choices should be offered.
 
 
 .. image:: ../transaction-common-states.svg
-  :width: 800
+  :width: 400
 
 Red label means end state, where it is safe to delete the transaction record 
since no work is due.
 Blue label means that the transaction will not change the state unless is 
resumed. Safe to cache.
 
+Common pending sub-states
+---------------------------------
+
+During the pending state the transaction can go through several sub-states 
before
+reaching a final state. Some of this sub-states are shared between different 
+transaction types:
+
+``kyc-required``: The transaction can't proceed because the user needs to 
actively
+finish a KYC process. Part of a withdrawal process or peer-to-peer push 
credit. 
+
+``aml-required``: The transaction can't proceed because the user needs to wait 
for
+the exchange operator to conclude an AML investigation by the staff at the 
exchange. 
+The user is not expected to take any action and should just wait for the 
investigation 
+to conclude. Part of a withdrawal process or peer-to-peer push credit.
+
+``aml-frozen``: The staff at the exchange decided that the account needed to 
be frozen.
+The user should contact the exchange provider's customer service department and
+seek resolution (possibly through the courts) to avoid loosing the funds for 
good.
+Part of a withdrawal process or peer-to-peer push credit.
+
+
 Transaction Type: Withdrawal
 ----------------------------
 
@@ -143,7 +151,7 @@ user. So special-casing this and testing this is IMO just 
not worth it.
   and selected exchange to the bank (via the bank integration API).
 
   * ``[processed-success] => pending(bank-confirming)``
-  * ``[processed-error(bank-aborted)] => aborted(bank)``
+  * ``[processed-error(bank-aborted)] => aborted(bank-to-wallet)``
 
 * ``pending(bank-confirming)``
 
@@ -162,16 +170,10 @@ user. So special-casing this and testing this is IMO just 
not worth it.
 
 * ``pending(withdrawing-coins)``
 
-  * ``[action:suspend] => suspended``
   * ``[processed-success] => done``
-  * ``[processed-kyc-required] => kyc-required``
-
-* ``suspended``
+  * ``[processed-kyc-required] => pending(kyc-required)``
 
-  * ``[action:resume] => pending``
-  * ``[action:abort] => aborted(after-wired)``
-    
-* ``kyc-required``
+* ``pending(kyc-required)``
 
   * ``[poll-success] => pending(withdrawing-coins)``
 
@@ -191,6 +193,12 @@ user. So special-casing this and testing this is IMO just 
not worth it.
   In this state, the wallet should show to the user that the money from the 
withdrawal
   reserve will be sent back to the originating bank account after 
``$closing_delay``.
 
+* ``aborted(partially-withdrawn)``:
+
+  In this state, the wallet should show how much money arrived into the wallet
+  and the rest of the money will be sent back to the originating bank account 
+  after ``$closing_delay``.
+
 * ``done``
 
   * ``[action:delete] => deleted``
@@ -202,6 +210,10 @@ user. So special-casing this and testing this is IMO just 
not worth it.
   Only once all coins were spent, the withdraw is fully removed.
 
 
+.. image:: ../transaction-withdrawal-states.svg
+  :width: 800
+
+
 Transaction Type: Payment to Merchant
 -------------------------------------
 
diff --git a/transaction-withdrawal-states.svg 
b/transaction-withdrawal-states.svg
new file mode 100644
index 0000000..786ef97
--- /dev/null
+++ b/transaction-withdrawal-states.svg
@@ -0,0 +1,16 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg"; viewBox="0 0 
1099.3986016455153 731.3137619047618" width="1099.3986016455153" 
height="731.3137619047618">
+  <!-- svg-source:excalidraw -->
+  
+  <defs>
+    <style>
+      @font-face {
+        font-family: "Virgil";
+        src: url("https://excalidraw.com/Virgil.woff2";);
+      }
+      @font-face {
+        font-family: "Cascadia";
+        src: url("https://excalidraw.com/Cascadia.woff2";);
+      }
+    </style>
+  </defs>
+  <rect x="0" y="0" width="1099.3986016455153" height="731.3137619047618" 
fill="#ffffff"></rect><g transform="translate(326.1666666666667 
18.726190476190368) rotate(0 138 11.5)"><text x="0" y="18" 
font-family="Helvetica, Segoe UI Emoji" font-size="20px" fill="#000000" 
text-anchor="start" style="white-space: pre;" 
direction="ltr">pending(bank-register-reserve)</text></g><g 
transform="translate(340.4166666666667 129.6428571428571) rotate(0 114 
11.5)"><text x="0" y="18" font-family="Helveti [...]
\ No newline at end of file

-- 
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]