summaryrefslogtreecommitdiff
path: root/bip-0008/states.svg
blob: f2e4b341327731ee0d04c0bffab6841e12ada65c (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
<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</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 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>