summaryrefslogtreecommitdiff
path: root/bip-0008/states.dot
blob: 5c5a6712bf11462ca6cb59297d93d64449d424a1 (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
digraph {
  rankdir=TD;

  node  [style="rounded,filled,bold", shape=box, fixedsize=true, width=1.3, fontname="Arial"];

  edge [weight = 100];
  "DEFINED" -> "STARTED" [label="height >= start_height"];
  "STARTED" -> "FAILING" [label="height >= timeoutheight AND NOT lockinontimeout"];
  "STARTED" -> "LOCKED_IN" [label="(height < timeoutheight AND threshold reached)\nOR\n(height >= timeoutheight AND lockinontimeout)"];
  "LOCKED_IN" -> "ACTIVE" [label="always"];
  "FAILING" -> "FAILED" [label="NOT all blocks signal"];

  edge [weight = 1];
  "FAILING" -> "ACTIVE" [label="all blocks signal"];

  "DEFINED":sw -> "DEFINED":nw;
  "STARTED":sw -> "STARTED":nw;
  "ACTIVE":sw -> "ACTIVE":nw;
  "FAILED":sw -> "FAILED":nw;

  "STARTED" [fillcolor="#a0a0ff"];

  "FAILING"   [fillcolor="#ffffa0"];
  "LOCKED_IN" [fillcolor="#ffffa0"];
  "ACTIVE" [fillcolor="#a0ffa0", shape=box];
  "FAILED" [fillcolor="#ffa0a0", shape=box];

  "ACTIVE" -> "FAILED" [style=invis];

  { rank=same; "STARTED" "FAILING" }
  { rank=sink; "ACTIVE" "FAILED" }
}