package Ġasync Flow Invocation . rpc Driver ĊĊ Ċ import Ġnet . cord a . core . transactions . Signed Transaction Ċ import Ġorg . graph stream . graph . implement ations . Multi Graph Ċ import Ġorg . graph stream . graph . Edge Ċ import Ġorg . graph stream . graph . Node ĊĊ Ċ class ĠPrint Or Visual ize Ġ{ ĊĊĠĠĠ Ġval Ġproxy Ġ= ĠRpc Driver (). main () ĊĊĠĠĠ Ġval Ġtransactions : ĠList < Signed Transaction > Ġ= Ġproxy . internal Verified Transactions Feed (). snapshot ĊĊĠĠĠ Ġval Ġfuture Transactions : Ġrx . Observable < Signed Transaction > Ġ= Ġproxy . internal Verified Transactions Feed (). updates ĊĊĊĠĠĠ Ġfun Ġprint () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfuture Transactions . start With ( transactions ). subscribe () ĊĠĠĠĠĠĠĠ Ġ{ Ġtransaction Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" NODE Ġ${ transaction . id }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction . tx . inputs . forEach Ġ{ Ġ( tx hash ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" EDGE Ġ$ tx hash Ġ${ transaction . id }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġvisualize (){ ĊĊĠĠĠĠĠĠĠ Ġval Ġgraph Ġ= ĠMulti Graph (" transactions ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransactions . forEach Ġ{ Ġtransaction Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgraph . add Node < Node >(" ${ transaction . id }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransactions . forEach Ġ{ Ġtransaction Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction . tx . inputs . forEach Ġ{ Ġref Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgraph . add Edge < Edge >(" $ ref ", Ġ"${ ref . tx hash }", Ġ"${ transaction . id }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfuture Transactions . subscribe Ġ{ Ġtransaction Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgraph . add Node < Node >(" ${ transaction . id }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction . tx . inputs . forEach Ġ{ Ġref Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgraph . add Edge < Edge >(" $ ref ", Ġ"${ ref . tx hash }", Ġ"${ transaction . id }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgraph . display () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊ Ġfun Ġmain Ġ( args : ĠArray < String > ){ ĊĠĠĠĠ ĠPrint Or Visual ize (). print () ĊĠĠĠĠ ĠPrint Or Visual ize (). visual ize () Ċ Ġ} ĊĊĊĊĊ