summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2023-04-23 13:22:36 +0200
committerChristian Grothoff <christian@grothoff.org>2023-04-23 13:22:36 +0200
commit5b8e0b0c282f0914d667298579792bdc6504e02d (patch)
treed3db0e5efa677f48c6f5691214ccc8bf4c7800b4
parentf3c8ef70bd3dc914c8e3d391405207108d2d9e72 (diff)
downloaddocs-5b8e0b0c282f0914d667298579792bdc6504e02d.tar.gz
docs-5b8e0b0c282f0914d667298579792bdc6504e02d.tar.bz2
docs-5b8e0b0c282f0914d667298579792bdc6504e02d.zip
add KYC to deposit
-rw-r--r--design-documents/037-wallet-transactions-lifecycle.rst15
-rw-r--r--transaction-deposit-states.dot13
2 files changed, 27 insertions, 1 deletions
diff --git a/design-documents/037-wallet-transactions-lifecycle.rst b/design-documents/037-wallet-transactions-lifecycle.rst
index 5d7d63ad..847dbb96 100644
--- 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
index 73c2a092..a130ca5a 100644
--- 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"];