\begin{sequencediagram} \newthread{actor}{Actor}{} \newinst[2]{concordia}{:Concordia}{} \newinst[2]{eth}{:Ethereum}{} \newinst[1]{orbit}{:OrbitDb}{} \begin{call}{actor}{Fetch topic}{concordia}{Topic} \begin{call}{concordia}{Get topic}{eth}{Topic} \end{call} \begin{call}{concordia}{Get poll}{eth}{Poll} \end{call} \begin{call}{concordia}{Get topic post IDs}{eth}{Post IDs} \end{call} \begin{call}{concordia}{Get posts loop}{concordia}{Posts} \begin{call}{concordia}{Get post}{eth}{Post} \end{call} \end{call} \begin{call}{concordia}{Retrieve topic information}{orbit}{} \end{call} \begin{call}{concordia}{Retrieve poll information}{orbit}{} \end{call} \begin{call}{concordia}{Validate poll information}{concordia}{} \end{call} \begin{call}{concordia}{Retrieve posts information loop}{concordia}{Posts information} \begin{call}{concordia}{Retrieve post information}{orbit}{} \end{call} \end{call} \end{call} \end{sequencediagram}