[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.
- [taler-docs] branch master updated (7ac70df -> 426c310),
gnunet <=