summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--design-documents/037-wallet-transactions-lifecycle.rst47
-rw-r--r--transaction-common-states.dot9
-rw-r--r--transaction-payment-states.dot10
-rw-r--r--transaction-pull-credit-states.dot2
-rw-r--r--transaction-push-debit-states.dot2
-rw-r--r--transaction-withdrawal-states.dot4
6 files changed, 32 insertions, 42 deletions
diff --git a/design-documents/037-wallet-transactions-lifecycle.rst b/design-documents/037-wallet-transactions-lifecycle.rst
index 0b6e2b13..7d9f9b6b 100644
--- a/design-documents/037-wallet-transactions-lifecycle.rst
+++ b/design-documents/037-wallet-transactions-lifecycle.rst
@@ -193,12 +193,12 @@ Transaction Type: Withdrawal
The wallet **may** occasionally (after some initial delay, especially on
failures from the bank-poll to return any result) long-poll for the reserve
status and, if successful, may then directly jump to
- ``pending(withdrawing-coins)`` if the reserve is filled even if the poll at
+ ``pending(withdraw-coins)`` if the reserve is filled even if the poll at
the bank did not return success or failure.
* ``[bank-poll-success] => pending(exchange-wait-reserve)``
* ``[bank-aborted] => aborted``: Bank denied the operation.
- * ``[exchange-poll-success] => pending(withdrawing-coins)``: Optional
+ * ``[exchange-poll-success] => pending(withdraw-coins)``: Optional
short-cut transition. Exchange was faster than the bank.
* ``[action:abort] => aborting(bank)``
@@ -239,10 +239,10 @@ Transaction Type: Withdrawal
exchange for the reserve status, waiting for the wire transfer to arrive
at the exchange.
- * ``[exchange-poll-success] => pending(withdrawing-coins)``
+ * ``[exchange-poll-success] => pending(withdraw-coins)``
* ``[action:suspend] => suspended(exchange-wait-reserve)``
-* ``pending(withdrawing-coins)``
+* ``pending(withdraw-coins)``
State where we are finally withdrawing the actual coins. Depending on
the AML and KYC thresholds, we may at any time transition into a
@@ -254,8 +254,8 @@ Transaction Type: Withdrawal
* ``[processed-success] => done``
* ``[processed-kyc-required] => pending(kyc)``
* ``[processed-aml-required] => pending(aml)``
- * ``[reserve-expired] => failed(reserve-expired)``
- * ``[action:suspend] => suspended(withdrawing-coins)``
+ * ``[reserve-expired] => expired(reserve)``
+ * ``[action:suspend] => suspended(withdraw-coins)``
* ``pending(kyc)``
@@ -264,7 +264,7 @@ Transaction Type: Withdrawal
process and long-polls the exchange in anticipation of the user
completing the KYC requirement.
- * ``[poll-success] => pending(withdrawing-coins)``
+ * ``[poll-success] => pending(withdraw-coins)``
* ``[action:suspend] => suspended(kyc)``
* ``suspended(kyc)``
@@ -289,7 +289,7 @@ Transaction Type: Withdrawal
In any case, the wallet long-polls for the AML decision to be made or change
(possibly at a lower frequeny in case of a freeze).
- * ``[poll-success] => pending(withdrawing-coins)``
+ * ``[poll-success] => pending(withdraw-coins)``
* ``[action:suspend] => suspended(aml)``
* ``suspended(aml)``
@@ -300,7 +300,7 @@ Transaction Type: Withdrawal
* ``[action:delete] => deleted``
* ``[action:resume] => pending(aml)``
-* ``suspended(withdrawing-coins)``
+* ``suspended(withdraw-coins)``
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
@@ -347,7 +347,7 @@ Transaction Type: Payment to Merchant
proposal that is invalid (e.g. malformed contract
terms or bad signature).
-* ``pending(proposed)``
+* ``monolog(merchant-order-proposed)``
Let the user accept (or refuse) the payment.
@@ -417,20 +417,20 @@ Transaction Type: Payment to Merchant
The purchase is completed.
* ``[action:delete] => deleted``
- * ``[repurchase] => pending(repurchase-session-reset)``: Another offer
+ * ``[repurchase] => pending(rebind-session)``: Another offer
became pending for this product and we need to update the session so
that the user does not have to buy it again.
* ``[check-refunds]` => pending(check-refunds)``: New refunds
might be available for this purchase.
-* ``pending(check-refunds)``
+* ``pending(check-refund)``
New refunds might be available for this purchase.
This state must only be entered *after* the payment has successfully
completed. It is not relevant for auto-refunds or refunds for incomplete
payments.
- * ``[refunds-checked] => pending(user-new-refunds)`` --- New
+ * ``[refunds-checked] => pending(user-new-refund)`` --- New
refund(s) are available, user needs to confirm.
* ``[refunds-checked] => done`` --- Refunds were checked, but no
new refunds are available.
@@ -439,14 +439,7 @@ Transaction Type: Payment to Merchant
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)``
+* ``pending(rebind-session)``
The wallet should reset the associated session for the already purchased
(digital) item.
@@ -724,7 +717,7 @@ States and transitions:
The wallet is creating a purse. Initial state.
- * ``[process-success] => pending(qr-ready)``: The wallet has created the purse.
+ * ``[process-success] => pending(ready)``: The wallet has created the purse.
* ``[process-failure] => aborting(refund)``: The purse creation failed.
* ``[action:suspend] => suspended(purse-create)``: The user suspended the operation.
@@ -733,7 +726,7 @@ States and transitions:
* ``[action:resume] => pending(purse-create)``: The user resumed the operation.
* ``[action:abort] => aborting(refund)``: The user aborted the operation.
-* ``pending(qr-ready)``
+* ``pending(ready)``
In this state, the user can send / show the ``taler://`` URI or QR code to somebody else.
@@ -871,7 +864,7 @@ States and transitions:
The user is shown a hint where to begin the KYC
process and the wallet long-polls on the KYC status.
- * ``[poll-success] => pending(withdrawing-coins)``
+ * ``[poll-success] => pending(withdraw-coins)``
* ``[action:suspend] => suspended(withdraw-kyc)``
* ``suspended(withdraw-kyc)``
@@ -887,7 +880,7 @@ States and transitions:
We cannot withdraw more coins until AML rules are satisfied.
The user is shown a hint as to the AML status (pending or frozen).
- * ``[poll-success] => pending(withdrawing-coins)``
+ * ``[poll-success] => pending(withdraw-coins)``
* ``[action:suspend] => suspended(withdraw-aml)``
* ``suspended(withdraw-aml)``
@@ -926,11 +919,11 @@ TODO: Also specify variant where account reserve needs to be created / funded fi
The wallet is creating a purse. Initial state.
- * ``[process-success] => pending(qr-ready)``: The wallet has created the purse.
+ * ``[process-success] => pending(ready)``: The wallet has created the purse.
* ``[process-failure] => deleted``: The purse creation failed. We only show a transient error.
* ``[action:abort] => deleted``: The user aborted the operation.
-* ``pending(qr-ready)``
+* ``pending(ready)``
In this state, the user can send / show the ``taler://`` URI or QR code to
somebody else.
diff --git a/transaction-common-states.dot b/transaction-common-states.dot
index 7f3c94fc..7b0bbd26 100644
--- a/transaction-common-states.dot
+++ b/transaction-common-states.dot
@@ -2,7 +2,6 @@ digraph G {
initial[label="", shape="circle"];
pending[label="pending"];
- monolog[label="monolog", shape="box"];
dialog[label="dialog", shape="box"];
done[label="done", shape="box"];
aborted[label="aborted", shape="box", style="dashed"];
@@ -20,22 +19,20 @@ digraph G {
rank = same; pending; aborting;
}
subgraph {
- rank = same; dialog; monolog; suspended; suspended_aborting;
+ rank = same; dialog; suspended; suspended_aborting;
}
initial->pending;
pending->suspended [color="blue",label="suspend"];
pending->expired [label="expire"];
- pending->monolog [color="green",label="success"];
pending->dialog [color="green",label="success"];
pending->pending [color="green",label="progress"];
pending->done [color="green",label="success"];
pending->failed [color="red",label="failure"];
pending->aborting [color="blue",label="abort", style="dashed"];
- monolog->pending [color="blue",label="OK"];
- monolog->deleted [color="blue", label="delete"];
- monolog->expired [label="expire"];
dialog->pending [color="blue",label="OK"];
+ dialog->deleted [color="blue", label="delete"];
+ dialog->expired [label="expire"];
dialog->aborting [color="blue", label="refuse", style="dashed"];
dialog->expired [label="expire"];
suspended->pending [color="blue",label="resume"];
diff --git a/transaction-payment-states.dot b/transaction-payment-states.dot
index 7ad01a43..d0c602b5 100644
--- a/transaction-payment-states.dot
+++ b/transaction-payment-states.dot
@@ -4,11 +4,11 @@ digraph G {
pending_sp[label="submit-payment"];
pending_ar[label="auto-refund"];
pending_re[label="rebind-session"];
- pending_cr[label="check-refunds"];
- pending_accept_refunds[label="accept-refunds"];
+ pending_cr[label="check-refund"];
+ pending_accept_refunds[label="accept-refund"];
aborting_pi[label="payment-incomplete", style=dashed];
aborted[label="aborted", shape="box", style=dashed];
- monolog_proposal[label="monolog(proposal)", shape="box"];
+ dialog_proposal[label="dialog(merchant-order-proposed)", shape="box"];
done[label="done", shape="box"];
subgraph {
@@ -22,9 +22,9 @@ digraph G {
initial -> pending_dp;
- pending_dp -> monolog_proposal [color=green];
+ pending_dp -> dialog_proposal [color=green];
- monolog_proposal -> pending_sp [color=blue];
+ dialog_proposal -> pending_sp [color=blue];
pending_sp -> pending_ar [color=green];
pending_sp -> aborting_pi [color=blue,style=dashed];
diff --git a/transaction-pull-credit-states.dot b/transaction-pull-credit-states.dot
index 351c6819..bc979a30 100644
--- a/transaction-pull-credit-states.dot
+++ b/transaction-pull-credit-states.dot
@@ -1,7 +1,7 @@
digraph G {
initial[label="", shape="circle"];
pending_create[label="purse-create"];
- pending_qr[label="qr-ready"];
+ pending_qr[label="ready"];
aborting_delete[label="delete-purse", style=dashed];
pending_withdraw[label="withdraw"];
pending_kyc[label="kyc"];
diff --git a/transaction-push-debit-states.dot b/transaction-push-debit-states.dot
index 47b7bc54..3f17c56e 100644
--- a/transaction-push-debit-states.dot
+++ b/transaction-push-debit-states.dot
@@ -2,7 +2,7 @@ digraph G {
initial[label="", shape="circle", xlabel="peer-push-debit"];
pending_create[label="purse-create"];
- pending_qr[label="qr-ready"];
+ pending_qr[label="ready"];
aborting_delete[label="delete-purse", style=dashed];
aborting_refresh[label="refresh", style=dashed];
done[label="done", shape="box"];
diff --git a/transaction-withdrawal-states.dot b/transaction-withdrawal-states.dot
index 5ed6c657..9163c889 100644
--- a/transaction-withdrawal-states.dot
+++ b/transaction-withdrawal-states.dot
@@ -2,9 +2,9 @@ digraph G {
initial_manual[label="", xlabel="manual" shape="circle"];
initial_bank[label="", xlabel="bank-integrated" shape="circle"];
pending_brr[label="bank-register-reserve"];
- pending_bc[label="bank-confirming"];
+ pending_bc[label="bank-confirm"];
pending_ewr[label="exchange-wait-reserve"];
- pending_wc[label="withdrawing-coins"];
+ pending_wc[label="withdraw-coins"];
pending_kyc[label="kyc"];
pending_aml[label="aml"];
done[label="done", shape="box"];