package Ġcom . template . flows Ċ Ċ import Ġco . parallel universe . fib ers . Suspend able Ċ import Ġnet . cord a . core . flows .* Ċ import Ġnet . cord a . core . utilities . Progress Tracker Ċ Ċ // Ġ********* Ċ // Ġ* ĠFlow s Ġ* Ċ // Ġ********* Ċ @ Initi ating Flow Ċ @ Start able By RPC Ċ class ĠInit iator Ġ: ĠFlow Logic < Unit >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠCRE ATING _ CONTRACT Ġ= ĠProgress Tracker . Step ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Pre paring Ġcontract ") ĊĊĠĠĠ Ġprivate Ġval ĠSUB MIT _ CONTRACT Ġ= ĠProgress Tracker . Step ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Submit ting Ġcontract Ġto ĠP urch aser ") ĊĊĠĠĠ Ġprivate Ġval ĠWAIT ING _ FOR _ SIGNATURE Ġ= ĠProgress Tracker . Step ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Waiting Ġfor ĠP urch aser Ġto Ġapprove Ġcontract ") ĊĊĠĠĠ Ġoverride Ġval Ġprogress Tracker Ġ= ĠProgress Tracker ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCRE ATING _ CONTRACT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSUB MIT _ CONTRACT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWAIT ING _ FOR _ SIGNATURE ĊĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Suspend able ĊĠĠĠ Ġoverride Ġfun Ġcall () Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . info (" Logging Ġwithin Ġa Ġflow .") ĊĊĠĠĠĠĠĠĠ Ġval Ġme Ġ= Ġservice Hub . my Info . legal Id entities [ 0 ] ĊĊĠĠĠĠĠĠĠ Ġlogger . info (" Logging Ġme : Ġ"+ Ġme . name ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( service Hub . network Map Cache . not ary Id entities . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error (" Failed Ġto Ġget ĠNo tray : Ġ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġnot ary Ġ= Ġservice Hub . network Map Cache . not ary Id entities [ 0 ] ĊĊĊĠĠĠĠĠĠĠ Ġlogger . info (" Logging Ġnot ary : Ġ" Ġ+ Ġnot ary . name ) ĊĊĠĠĠĠĠĠĠ Ġprogress Tracker . current Step Ġ= ĠCRE ATING _ CONTRACT ĊĊĠĠĠĠĠĠĠ Ġprogress Tracker . current Step Ġ= ĠSUB MIT _ CONTRACT ĊĊĠĠĠĠĠĠĠ Ġprogress Tracker . current Step Ġ= ĠWAIT ING _ FOR _ SIGNATURE ĊĊĠĠĠĠĠĠĠ Ġ// ĠInit iator Ġflow Ġlogic Ġgoes Ġhere . ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Initi ated By ( Init iator :: class ) Ċ class ĠRes pon der ( val Ġcounter party Session : ĠFlow Session ) Ġ: ĠFlow Logic < Unit >() Ġ{ ĊĠĠĠ Ġoverride Ġval Ġprogress Tracker Ġ= ĠProgress Tracker () ĊĊĠĠĠ Ġ@ Suspend able ĊĠĠĠ Ġoverride Ġfun Ġcall () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprogress Tracker . current Step Ġ= ĠProgress Tracker . Step ( label Ġ= Ġ" Responder ĠCalled ") ĊĊĠĠĠĠĠĠĠ Ġ// ĠRes pon der Ġflow Ġlogic Ġgoes Ġhere . ĊĠĠĠ Ġ} Ċ } Ċ