summaryrefslogtreecommitdiff
path: root/transaction-withdrawal-states.dot
blob: 2aeffbd5b03359e7336cf40d01c44f7ec2020c83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
digraph G {

  initial[label="", shape="circle"];
  suspended_wc[label="suspended(withdrawing-coins)", shape="box"];
  pending_brr[label="pending(bank-register-reserve)"];
  pending_bc[label="pending(bank-confirming)"];
  pending_ewr[label="pending(exchange-wait-reserve)"];
  pending_wc[label="pending(withdrawing-coins)"];
  pending_kyc[label="pending(kyc)"];
  pending_aml[label="pending(aml)"];
  done[label="done", shape="box"];
  suspended_aw[label="suspended(after-wired)", shape="box"];
  suspended_aml[label="suspended(aml)", shape="box"];
  suspended_kyc[label="suspended(kyc)", shape="box"];
  aborting_w2b[label="aborting(wallet-to-bank)"];
  deleted[label="deleted", shape="box"];

  subgraph {
    rank = same; pending_brr; pending_bc; pending_ewr; pending_wc; done;
  }

  subgraph {
    rank = same; suspended_wc; suspended_aw; suspended_aml; suspended_kyc;
  }

  subgraph {
    rank = same; aborting_w2b; pending_aml; pending_kyc;
  }

  initial->pending_brr [color="blue", label="bank integrated withdraw"];
  initial->pending_ewr [color="blue", xlabel="manual withdraw"];
  pending_brr->pending_bc;
  pending_brr->aborting_w2b [color="blue", label="abort"];
  pending_brr->deleted [color="red", label="error"];

  pending_bc->pending_ewr [label="bank-poll:\napproved"];
  pending_bc->pending_wc [xlabel="exchange-poll:\nreserve ready",style="dotted"];
  pending_bc->aborting_w2b [color="blue", label="abort"];
  pending_bc->deleted [label="bank-poll:\ndenied"];

  pending_ewr->pending_wc [label="exchange-poll:\nreserve ready"];
  pending_wc->pending_kyc;
  pending_wc->pending_aml;
  pending_kyc->pending_wc [color="blue",label="kyc"];
  pending_aml->pending_wc [color="purple",label="approve"];
  pending_kyc->suspended_kyc [color="blue", label="suspend"];
  pending_aml->suspended_aml [color="blue", label="suspend"];
  suspended_aml->pending_aml [color="blue", label="resume"];
  suspended_kyc->pending_kyc [color="blue", label="resume"];

  aborting_w2b->deleted;
  aborting_w2b->suspended_aw [color="red", label="error(already-confirmed)"];
  aborting_w2b->deleted [color="red", label="error(unknown-transaction)"];

  pending_ewr->suspended_aw [color="blue", label="suspend"];

  suspended_aw->pending_ewr [color="blue", label="resume"];
  suspended_aw->deleted [color="blue", label="delete"];

  pending_wc->suspended_wc [color="blue", label="suspend"];
  suspended_wc->pending_wc [color="blue", label="resume"];


  done->deleted [color="blue", label="delete"];
  suspended_aml->deleted [color="blue", label="delete"];
  suspended_kyc->deleted [color="blue", label="delete"];
  suspended_wc->deleted [color="blue", label="delete"];

  pending_wc->done;
}