package Ġcom . car lo coins . workflows . flows . cars Ċ Ċ import Ġco . parallel universe . fib ers . Suspend able Ċ import Ġcom . car lo coins . contracts . contracts . Car Contract Ċ import Ġcom . car lo coins . contracts . states . Car State Ċ import Ġnet . cord a . core . contracts . Command Ċ import Ġnet . cord a . core . contracts . Unique Identifier Ċ import Ġnet . cord a . core . flows .* Ċ import Ġnet . cord a . core . transactions . Signed Transaction Ċ import Ġnet . cord a . core . transactions . Transaction Builder Ċ Ċ @ Start able By RPC Ċ object ĠIssue C ars Ġ{ ĊĊĠĠĠ Ġ@ Initi ating Flow ĊĠĠĠ Ġclass ĠIssue C ars Initi ating ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbrand : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmodel : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdollar Price : ĠDouble ĊĠĠĠ Ġ): ĠFlow Logic < String >() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Suspend able ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcall (): ĠString Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnot ary Ġ= Ġservice Hub . network Map Cache . not ary Id entities [ 0 ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparticipants Ġ= Ġservice Hub . network Map Cache . all Nodes ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġparties Ġ= Ġparticipants . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . legal Id entities . first () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. filter Ġ{ Ġit Ġ!= Ġnot ary Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġme Ġ= Ġservice Hub . my Info . legal Id entities . first () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcar State Ġ= ĠCar State ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbrand Ġ= Ġbrand , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Ġ= Ġmodel , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdollar Price Ġ= Ġdollar Price , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcar lo Coins Paid Value Ġ= Ġ 0 . 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcar lo Coin Linear ID Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġowner Ġ= Ġme , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsell er Ġ= Ġme , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlinear Id Ġ= ĠUnique Identifier (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparticipants Ġ= Ġparties ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsign ers Ġ= Ġparties . map Ġ{ Ġit . own ing Key Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcommand Ġ= ĠCommand ( Car Contract . Commands . Issue (), Ġsign ers ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtx Builder Ġ= ĠTransaction Builder ( not ary Ġ= Ġnot ary ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Output State ( car State ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Command ( command ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcounter party Sessions Ġ= Ġparties . filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġour Identity Ġ!= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinitiate Flow ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsigned Transaction Ġ= Ġservice Hub . sign Initial Transaction ( tx Builder ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfully Signed Tx Ġ= Ġsub Flow ( Collect Signatures Flow ( signed Transaction , Ġcounter party Sessions )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsub Flow ( Final ity Flow ( fully Signed Tx , Ġcounter party Sessions )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcar State . linear Id . toString () ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Initi ated By ( Issue C ars Initi ating :: class ) ĊĠĠĠ Ġclass ĠIssue C ars Responder ( val Ġcounter party Session : ĠFlow Session ) Ġ: ĠFlow Logic < Unit >() Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suspend able ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcall () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsign Transaction Flow Ġ= Ġobject Ġ: ĠSign Transaction Flow ( counter party Session ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcheck Transaction ( st x : ĠSigned Transaction ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġledger Tx Ġ= Ġst x . to Ledger Transaction ( service Hub , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtx Id Ġ= Ġsub Flow ( sign Transaction Flow ). id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsub Flow ( Receive Final ity Flow ( counter party Session , Ġtx Id )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } ĊĊ