summaryrefslogtreecommitdiff
path: root/transaction-withdrawal-states.dot
blob: 474c1312dcdf0fa4b7fcaedad55790d540aef25f (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
digraph G {
  initial_manual[label="", xlabel="manual" shape="circle"];
  initial_bank[label="", xlabel="bank-integrated" shape="circle"];
  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"];
  aborting_bank[label="aborting(bank)"];
  aborted_bank[label="aborted(bank)", shape="box"];
  failed_expired[label="failed(reserve-expired)", shape="box"];
  failed_bank[label="failed(bank)", shape="box"];
  //deleted[label="deleted", shape="box"];
  suspended_ewr[label="suspended(exchange-wait-reserve)", shape="box"];
  // Boring suspended states
  // suspended_aml[label="suspended(aml)", shape="box"];
  // suspended_kyc[label="suspended(kyc)", shape="box"];
  // suspended_wc[label="suspended(withdrawing-coins)", shape="box"];
  
  initial_bank->pending_brr;
  initial_manual->pending_ewr;
  pending_brr->pending_bc;
  pending_brr->aborting_bank;
  pending_brr->failed_bank;

  pending_bc->pending_ewr;
  //pending_bc->pending_wc [xlabel="exchange-poll:\nreserve ready",style="dotted"];
  pending_bc->aborting_bank;
  pending_bc->aborted_bank;
  pending_bc->failed_bank;

  pending_ewr->pending_wc;
  pending_wc->pending_kyc;
  pending_wc->pending_aml;
  pending_kyc->pending_wc;
  pending_aml->pending_wc;
  
  pending_wc->failed_expired;

  aborting_bank->suspended_ewr;
  aborting_bank->aborted_bank;

  // Interesting suspended states
  pending_ewr->suspended_ewr [dir=both];

  // Boring suspended states
  // 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"];
  // pending_wc->suspended_wc [color="blue", label="suspend"];
  // suspended_wc->pending_wc [color="blue", label="resume"];

  // suspended_ewr->deleted [color="blue", label="delete"];
  // aborting_bank->deleted;
  // failed->deleted;
  // aborted->deleted;
  // 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;
}