agora/docs/diagrams/ProposalStateMachine.svg
2022-01-19 18:09:44 +01:00

133 lines
6.4 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.47.3 (0)
-->
<!-- Title: ProposalStateMachine Pages: 1 -->
<svg width="1730pt" height="274pt"
viewBox="0.00 0.00 1730.00 274.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 270)">
<title>ProposalStateMachine</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-270 1726,-270 1726,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="white" stroke="white" points="8,-49 8,-235 233,-235 233,-49 8,-49"/>
</g>
<g id="clust2" class="cluster">
<title>cluster_1</title>
<polygon fill="white" stroke="white" points="398,-53 398,-231 629,-231 629,-53 398,-53"/>
</g>
<g id="clust3" class="cluster">
<title>cluster_2</title>
<polygon fill="white" stroke="white" points="765,-78 765,-256 983,-256 983,-78 765,-78"/>
</g>
<g id="clust4" class="cluster">
<title>cluster_3</title>
<polygon fill="white" stroke="white" points="1148,-78 1148,-256 1406,-256 1406,-78 1148,-78"/>
</g>
<g id="clust5" class="cluster">
<title>cluster_4</title>
<polygon fill="white" stroke="white" points="1582,-126 1582,-258 1714,-258 1714,-126 1582,-126"/>
</g>
<!-- Draft phase (duration = D) -->
<g id="node1" class="node">
<title>Draft phase (duration = D)</title>
<text text-anchor="middle" x="120.5" y="-205.3" font-family="Times,serif" font-size="14.00">Draft phase (duration = D)</text>
</g>
<!-- Draft -->
<g id="node2" class="node">
<title>Draft</title>
<ellipse fill="none" stroke="black" cx="120.5" cy="-115" rx="54" ry="54"/>
<ellipse fill="none" stroke="black" cx="120.5" cy="-115" rx="58" ry="58"/>
<text text-anchor="middle" x="120.5" y="-111.3" font-family="Times,serif" font-size="14.00">Draft</text>
</g>
<!-- Voting -->
<g id="node4" class="node">
<title>Voting</title>
<ellipse fill="none" stroke="black" cx="513.5" cy="-115" rx="54" ry="54"/>
<text text-anchor="middle" x="513.5" y="-111.3" font-family="Times,serif" font-size="14.00">Voting</text>
</g>
<!-- Draft&#45;&gt;Voting -->
<g id="edge1" class="edge">
<title>Draft&#45;&gt;Voting</title>
<path fill="none" stroke="black" d="M178.77,-115C250.9,-115 374.4,-115 449.24,-115"/>
<polygon fill="black" stroke="black" points="449.47,-118.5 459.47,-115 449.47,-111.5 449.47,-118.5"/>
<text text-anchor="middle" x="315.5" y="-118.8" font-family="Times,serif" font-size="14.00">enough LQ cosigned</text>
</g>
<!-- Voting phase (duration = V) -->
<g id="node3" class="node">
<title>Voting phase (duration = V)</title>
<text text-anchor="middle" x="513.5" y="-201.3" font-family="Times,serif" font-size="14.00">Voting phase (duration = V)</text>
</g>
<!-- Lock -->
<g id="node6" class="node">
<title>Lock</title>
<ellipse fill="none" stroke="black" cx="874" cy="-140" rx="54" ry="54"/>
<text text-anchor="middle" x="874" y="-136.3" font-family="Times,serif" font-size="14.00">Lock</text>
</g>
<!-- Voting&#45;&gt;Lock -->
<g id="edge2" class="edge">
<title>Voting&#45;&gt;Lock</title>
<path fill="none" stroke="black" d="M567.4,-118.69C631.87,-123.18 740.71,-130.77 809.6,-135.58"/>
<polygon fill="black" stroke="black" points="809.67,-139.09 819.89,-136.3 810.15,-132.11 809.67,-139.09"/>
<text text-anchor="middle" x="697" y="-134.8" font-family="Times,serif" font-size="14.00">proposal passed</text>
</g>
<!-- Failed -->
<g id="node10" class="node">
<title>Failed</title>
<ellipse fill="none" stroke="black" cx="1648" cy="-58" rx="54" ry="54"/>
<ellipse fill="none" stroke="black" cx="1648" cy="-58" rx="58" ry="58"/>
<text text-anchor="middle" x="1648" y="-54.3" font-family="Times,serif" font-size="14.00">Failed</text>
</g>
<!-- Voting&#45;&gt;Failed -->
<g id="edge3" class="edge">
<title>Voting&#45;&gt;Failed</title>
<path fill="none" stroke="black" d="M566.52,-104.24C616.99,-94.33 695.87,-80.25 765,-74 1067.93,-46.61 1431.69,-52.09 1579.57,-55.92"/>
<polygon fill="black" stroke="black" points="1579.75,-59.43 1589.84,-56.19 1579.93,-52.43 1579.75,-59.43"/>
<text text-anchor="middle" x="1065.5" y="-63.8" font-family="Times,serif" font-size="14.00">quorum not reached</text>
</g>
<!-- Lock phase (duration = L) -->
<g id="node5" class="node">
<title>Lock phase (duration = L)</title>
<text text-anchor="middle" x="874" y="-226.3" font-family="Times,serif" font-size="14.00">Lock phase (duration = L)</text>
</g>
<!-- Execution -->
<g id="node8" class="node">
<title>Execution</title>
<ellipse fill="none" stroke="black" cx="1277" cy="-140" rx="54" ry="54"/>
<text text-anchor="middle" x="1277" y="-136.3" font-family="Times,serif" font-size="14.00">Execution</text>
</g>
<!-- Lock&#45;&gt;Execution -->
<g id="edge4" class="edge">
<title>Lock&#45;&gt;Execution</title>
<path fill="none" stroke="black" d="M928.25,-140C1001.75,-140 1134.1,-140 1212.61,-140"/>
<polygon fill="black" stroke="black" points="1212.85,-143.5 1222.85,-140 1212.85,-136.5 1212.85,-143.5"/>
<text text-anchor="middle" x="1065.5" y="-143.8" font-family="Times,serif" font-size="14.00">lock time finished</text>
</g>
<!-- Execution phase (duration = E) -->
<g id="node7" class="node">
<title>Execution phase (duration = E)</title>
<text text-anchor="middle" x="1277" y="-226.3" font-family="Times,serif" font-size="14.00">Execution phase (duration = E)</text>
</g>
<!-- Executed -->
<g id="node9" class="node">
<title>Executed</title>
<ellipse fill="none" stroke="black" cx="1648" cy="-192" rx="54" ry="54"/>
<ellipse fill="none" stroke="black" cx="1648" cy="-192" rx="58" ry="58"/>
<text text-anchor="middle" x="1648" y="-188.3" font-family="Times,serif" font-size="14.00">Executed</text>
</g>
<!-- Execution&#45;&gt;Executed -->
<g id="edge6" class="edge">
<title>Execution&#45;&gt;Executed</title>
<path fill="none" stroke="black" d="M1330.87,-147.45C1396.49,-156.7 1508.48,-172.48 1580.04,-182.56"/>
<polygon fill="black" stroke="black" points="1579.9,-186.08 1590.29,-184.01 1580.88,-179.15 1579.9,-186.08"/>
</g>
<!-- Execution&#45;&gt;Failed -->
<g id="edge5" class="edge">
<title>Execution&#45;&gt;Failed</title>
<path fill="none" stroke="black" d="M1330.09,-128.43C1396.02,-113.77 1509.64,-88.52 1581.42,-72.57"/>
<polygon fill="black" stroke="black" points="1582.26,-75.97 1591.26,-70.39 1580.74,-69.14 1582.26,-75.97"/>
<text text-anchor="middle" x="1494" y="-111.8" font-family="Times,serif" font-size="14.00">execution not on time</text>
</g>
</g>
</svg>