summaryrefslogtreecommitdiff
path: root/transaction-payment-states.dot
blob: a884f366c61893c14406eb055f15bc670d5307a1 (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
digraph G {

  initial[label="", shape="circle"];
  pending_pr[label="pending(proposed)", shape="box"];
  pending_dp[label="pending(claim-proposal)"];
  pending_sp[label="pending(submit-payment)"];
  pending_rf[label="pending(refundable)"];
  pending_re[label="pending(repurchase-session-reset)"];
  aborting_unclaim[label="aborting(unclaim)"];
  aborting_refund[label="aborting(refund)"];
  aborting_refresh[label="aborting(refresh)"];
  aborted_refund[label="aborted(refunded)", shape="box"];
  failed[label="failed", shape="box"];
  done[label="done", shape="box"];
  deleted[label="deleted", shape="box"];

  subgraph {
    rank = same; pending_dp; pending_pr; pending_sp; pending_rf;
  }

  initial->pending_dp [color="blue", label="URI trigger"];
  pending_dp->pending_pr;
  pending_re->done;
  pending_dp->deleted [label="repurchase\ndetected"];
  pending_dp->deleted [color="red", label="already\nclaimed"];
  pending_dp->deleted [color="red", label="invalid\nproposal"];
  pending_pr->pending_sp [color="blue", label="pay-accept"];
  pending_pr->aborting_unclaim [color="blue", label="pay-refuse"];
  pending_pr->deleted [label="expired"];
  pending_sp->pending_rf;
  pending_sp->aborting_refund [color="blue", label="abort"];  pending_sp->aborting_refund [color="red", label="insufficient balance"];
  pending_rf->aborting_refund [label="long-poll:refund"];
  aborting_refund->aborting_refresh;
  aborting_refund->deleted [color="blue", label="force-delete"];
  aborting_refund->aborting_refresh [color="red", label="failure"];
  aborting_refresh->failed [color="red", label="failure"];
  aborting_refresh->aborted_refund;
  aborting_refresh->deleted [color="blue", label="force-delete"];
  aborted_refund->deleted [color="blue", label="delete"];
  pending_rf->done [label="timeout"];
  pending_rf->done [color="blue", label="abort"];
  aborting_unclaim->deleted;
  failed->deleted [color="blue", label="delete"];
  done->deleted [color="blue", xlabel="delete"];
  done->pending_re [color="purple", label="repurchase"];
  pending_re->done [color="blue", label="abort"];
}