summaryrefslogtreecommitdiff
path: root/bip-0008/states.dot
diff options
context:
space:
mode:
Diffstat (limited to 'bip-0008/states.dot')
-rw-r--r--bip-0008/states.dot35
1 files changed, 35 insertions, 0 deletions
diff --git a/bip-0008/states.dot b/bip-0008/states.dot
new file mode 100644
index 0000000..8615978
--- /dev/null
+++ b/bip-0008/states.dot
@@ -0,0 +1,35 @@
+digraph {
+ rankdir=TD;
+
+ node [style="rounded,filled,bold", shape=box, fixedsize=true, width=1.5, fontname="Arial"];
+
+ edge [weight = 100];
+ "DEFINED" -> "STARTED" [label="height >= start_height"];
+ "STARTED" -> "MUST_SIGNAL" [label="height + 2016 >= timeoutheight AND lockinontimeout"];
+ "STARTED" -> "FAILED" [label="height >= timeoutheight\nAND\nNOT lockinontimeout"];
+ "LOCKED_IN" -> "ACTIVE" [label="height >= minimum_activation_height"];
+ "LOCKED_IN":se -> "LOCKED_IN":ne [label="height < minimum_activation_height"];
+ "MUST_SIGNAL" -> "LOCKED_IN" [label="always"];
+
+ edge [weight = 1];
+ "STARTED" -> "LOCKED_IN" [label="height < timeoutheight\nAND\nthreshold reached"];
+
+ "FAILED" -> "LOCKED_IN" [style=invis];
+
+ "DEFINED":sw -> "DEFINED":nw;
+ "STARTED":sw -> "STARTED":nw;
+ "ACTIVE":sw -> "ACTIVE":nw;
+ "FAILED":sw -> "FAILED":nw;
+
+ "STARTED" [fillcolor="#a0a0ff"];
+ "MUST_SIGNAL" [fillcolor="#a0a0ff"];
+ "LOCKED_IN" [fillcolor="#ffffa0"];
+ "ACTIVE" [fillcolor="#a0ffa0"];
+ "FAILED" [fillcolor="#ffa0a0"];
+
+ { rank=same; "STARTED" "MUST_SIGNAL" }
+ { rank=same; "FAILED" "LOCKED_IN" }
+ { rank=sink; "ACTIVE" }
+}
+
+