digraph "ProposalStateMachine" { rankdir=LR; node [shape=circle, width=1.5]; subgraph cluster_0 { style=filled; color=white; "Draft phase (duration = D)" [shape=plaintext]; Draft [shape=doublecircle]; } subgraph cluster_1 { style=filled; color=white; "Voting phase (duration = V)" [shape=plaintext]; Voting; } subgraph cluster_2 { style=filled; color=white; "Lock phase (duration = L)" [shape=plaintext]; Lock; } subgraph cluster_3 { style=filled; color=white; "Execution phase (duration = E)" [shape=plaintext]; Execution; } node [shape = circle]; subgraph cluster_4 { style=filled; color=white; Executed [shape=doublecircle]; } Draft -> Voting [label="enough LQ cosigned"]; Voting -> Lock [label="proposal passed"]; Voting -> Failed [label="quorum not reached"]; Lock -> Execution [label="lock time finished"]; Execution -> Failed [label="execution not on time"]; Execution -> Executed []; Failed [shape=doublecircle]; }