commit 5b8e0b0c282f0914d667298579792bdc6504e02d
parent f3c8ef70bd3dc914c8e3d391405207108d2d9e72
Author: Christian Grothoff <christian@grothoff.org>
Date: Sun, 23 Apr 2023 13:22:36 +0200
add KYC to deposit
Diffstat:
2 files changed, 27 insertions(+), 1 deletion(-)
diff --git a/design-documents/037-wallet-transactions-lifecycle.rst b/design-documents/037-wallet-transactions-lifecycle.rst
@@ -679,8 +679,23 @@ Transaction Type: Deposit
All the coins were submitted, waiting to be wired.
* ``[poll-success] => done``
+ * ``[poll-accepted] => pending(kyc)``
* ``[action:abort] => aborting(refund)``
+* ``pending(kyc)``
+
+ Exchange requires KYC (or AML) before making the wire transfer.
+
+ * ``[poll-success] => done``
+ * ``[action:suspend] => suspended(kyc)``
+
+* ``suspended(kyc)``
+
+ The user suspended us while we were waiting for KYC to be finished.
+
+ * ``[action:resume] => pending(kyc)``
+ * ``[action:force-delete] => deleted``
+
* ``aborting(refund)``
Wallet should try to get the deposited amount back from the exchange (by submitting a refund).
diff --git a/transaction-deposit-states.dot b/transaction-deposit-states.dot
@@ -4,6 +4,8 @@ digraph G {
pending_deposit[label="pending(deposit)"];
suspended_deposit[label="suspended(deposit)", shape="box"];
pending_track[label="pending(track)"];
+ pending_kyc[label="pending(kyc)"];
+ suspended_kyc[label="suspended(kyc)", shape="box"];
aborting_refresh[label="aborting(refresh)"];
aborting_refund[label="aborting(refund)"];
@@ -21,9 +23,18 @@ digraph G {
pending_deposit->pending_track;
pending_deposit->aborting_refund [color="red", label="failure"];
+ pending_deposit->suspended_deposit [color="blue", label="suspend"];
+
pending_track->aborting_refund [color="blue", label="abort"];
pending_track->done;
- pending_deposit->suspended_deposit [color="blue", label="suspend"];
+ pending_track->pending_kyc;
+
+ pending_kyc->suspended_kyc [color="blue", label="suspend"];
+ pending_kyc->done;
+
+ suspended_kyc->pending_kyc [color="blue", label="resume"];
+ suspended_kyc->deleted [color="blue", label="force-delete"];
+
suspended_abort_refund->aborting_refund [color="blue", label="resume"];
suspended_abort_refresh->aborting_refresh [color="blue", label="resume"];