summaryrefslogtreecommitdiff
path: root/bip-0008/states.svg
diff options
context:
space:
mode:
authorLuke Dashjr <luke-jr+git@utopios.org>2020-06-25 05:01:15 +0000
committerLuke Dashjr <luke-jr+git@utopios.org>2020-06-25 05:01:15 +0000
commita004e03d0f568163a1c0399f1fd20a99d4837f18 (patch)
tree550b282d3e0bf015423e6d33e9664ed025df3736 /bip-0008/states.svg
parent7e680f9f6b693b36c1220542124fb7d7719719d8 (diff)
parent155ce23c2f78158c92dcde56620e20797c3a3b91 (diff)
downloadbips-a004e03d0f568163a1c0399f1fd20a99d4837f18.tar.xz
Merge remote-tracking branch 'origin-pull/550/head'
Diffstat (limited to 'bip-0008/states.svg')
-rw-r--r--bip-0008/states.svg57
1 files changed, 57 insertions, 0 deletions
diff --git a/bip-0008/states.svg b/bip-0008/states.svg
new file mode 100644
index 0000000..1824064
--- /dev/null
+++ b/bip-0008/states.svg
@@ -0,0 +1,57 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 848 464" width="905" height="495">
+ <defs>
+ <style type="text/css"><![CDATA[
+ rect {
+ fill: white;
+ stroke: black;
+ stroke-width: 1;
+ }
+ text {
+ fill: black;
+ }
+ svg>path {
+ stroke: black;
+ stroke-width: 2;
+ fill: none;
+ marker-end: url(#arrow);
+ }
+ ]]></style>
+ <marker id="arrow" markerWidth="13" markerHeight="13" refX="8" refY="6" orient="auto">
+ <path d="M0,2 L0,11 L8,6 L0,2" style="fill: black;" />
+ </marker>
+ </defs>
+
+ <rect x="112" y="48" width="128" height="32"/>
+ <text x="176" y="72" font-size="20" text-anchor="middle">DEFINED</text>
+ <path d="M 128 80 a 24 32 0 1 1 0 -32"/><!-- loop -->
+ <path d="M 176 80 l 0 96"/>
+ <text x="182" y="128" font-size="12" text-anchor="start">startheight &lt;= height &lt; timeoutheight</text>
+ <rect x="112" y="176" width="128" height="32"/>
+ <text x="176" y="200" font-size="20" text-anchor="middle">STARTED</text>
+ <path d="M 128 208 a 24 32 0 1 1 0 -32"/><!-- loop -->
+ <path d="M 176 208 l 0 96"/>
+ <text x="182" y="232" font-size="12" text-anchor="start">(lockinontimeout == false) AND (height &lt; timeoutheight) AND (threshold reached)</text>
+ <text x="304" y="256" font-size="12" text-anchor="start">OR</text>
+ <text x="182" y="280" font-size="12" text-anchor="start">(lockinontimeout == true) AND ((height &gt;= timeoutheight) OR (threshold reached))</text>
+ <rect x="112" y="304" width="128" height="32"/>
+ <text x="176" y="328" font-size="20" text-anchor="middle">LOCKED_IN</text>
+ <path d="M 176 336 l 0 48"/>
+ <text x="182" y="360" font-size="12" text-anchor="start">Always</text>
+ <rect x="112" y="384" width="128" height="32"/>
+ <text x="176" y="408" font-size="20" text-anchor="middle">ACTIVE</text>
+ <path d="M 128 416 a 24 32 0 1 1 0 -32"/><!-- loop -->
+
+ <rect x="640" y="176" width="128" height="32"/>
+ <text x="704" y="200" font-size="20" text-anchor="middle">FAILING</text>
+ <path d="M 240 64 l 400 112"/>
+ <text x="440" y="108" font-size="12" text-anchor="start">timeoutheight &lt;= height</text>
+ <path d="M 240 192 l 400 0"/>
+ <text x="408" y="184" font-size="12" text-anchor="middle">(lockinontimeout == false) AND (timeoutheight &lt;= height)</text>
+ <path d="M 704 208 l 0 176"/>
+ <text x="720" y="296" font-size="12" text-anchor="start">NOT all blocks signal</text>
+ <path d="M 656 208 c 0 196 -416 176 -416 176"/>
+ <text x="544" y="352" font-size="12" text-anchor="start">all blocks signal</text>
+ <rect x="640" y="384" width="128" height="32"/>
+ <text x="704" y="408" font-size="20" text-anchor="middle">FAILED</text>
+ <path d="M 756 416 a 24 32 0 1 0 0 -32"/><!-- loop -->
+</svg>