package Ġcom . template . flows čĊč Ċ import Ġco . parallel universe . fib ers . Suspend able č Ċ import Ġcom . r 3 . cord a . lib . tokens . contracts . states . F ung ible Token č Ċ import Ġcom . r 3 . cord a . lib . tokens . contracts . utilities . of č Ċ import Ġcom . r 3 . cord a . lib . tokens . workflows . flows . rpc . Move F ung ible Tokens č Ċ import Ġcom . r 3 . cord a . lib . tokens . workflows . flows . rpc . Move F ung ible Tokens Handler č Ċ import Ġnet . cord a . core . contracts . State And Ref č Ċ import Ġnet . cord a . core . flows .* č Ċ import Ġnet . cord a . core . identity . Party č Ċ import Ġnet . cord a . core . node . services . Vault č Ċ import Ġnet . cord a . core . node . services . query By č Ċ import Ġnet . cord a . core . node . services . vault . Query Criteria č Ċ import Ġnet . cord a . core . utilities . Progress Tracker čĊč Ċ @ Initi ating Flow č Ċ @ Start able By RPC č Ċ class ĠMove Token To Other Bank Flow ( val Ġbank : ĠParty , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġamount : ĠInt ) Ġ: ĠFlow Logic < String >() Ġ{ čĊčĊĠĠĠ Ġoverride Ġval Ġprogress Tracker Ġ= ĠProgress Tracker () čĊčĊĠĠĠ Ġ@ Suspend able čĊĠĠĠ Ġoverride Ġfun Ġcall (): ĠString Ġ{ čĊĠĠĠĠĠĠĠ Ġ// Ġtake Ġthe Ġtoken Ġfrom Ġthe Ġvault čĊĠĠĠĠĠĠĠ Ġval Ġcriteria Ġ= ĠQuery Criteria . F ung ible State Query Criteria ( čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre lev ancy Status Ġ= ĠVault . Re lev ancy Status . RE LE V ANT , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Ġ= ĠVault . State Status . UN CON SU MED čĊĠĠĠĠĠĠĠ Ġ) čĊĠĠĠĠĠĠĠ Ġ// Ġtake Ġmy ĠState And Ref Ġof Ġmy Ġtokens Ġin Ġmy Ġvault čĊĠĠĠĠĠĠĠ Ġval Ġcoin State And Ref : ĠState And Ref < F ung ible Token > Ġ= Ġservice Hub . vault Service . query By < F ung ible Token >( criteria ). states . single () čĊĠĠĠĠĠĠĠ Ġ// Ġset Ġhow Ġmany Ġtokens ĠI Ġwant Ġto Ġsell čĊĠĠĠĠĠĠĠ Ġval Ġamount Of Token Ġ= Ġamount Ġof Ġcoin State And Ref . state . data . iss ued TokenType . token Type čĊčĊĠĠĠĠĠĠĠ Ġval Ġtx Ġ= Ġsub Flow ( Move F ung ible Tokens ( amount Of Token , Ġbank )) čĊčĊĠĠĠĠĠĠĠ Ġreturn Ġ" Transfer ed Ġ" Ġ+ Ġamount Ġ+ Ġ" Ġof Ġtokens Ġto Ġ" Ġ+ Ġbank . name . organisation Ġ+ Ġ"\ n " Ġ+ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Transaction ID : Ġ" Ġ+ Ġtx . id čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ@ Initi ated By ( Move Token To Other Bank Flow :: class ) čĊĠĠĠ Ġclass ĠMove Token To Other Bank Responder ( val Ġsession : ĠFlow Session ) Ġ: ĠFlow Logic < Unit >() Ġ{ čĊĠĠĠĠĠĠĠ Ġ@ Suspend able čĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcall () Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSimply Ġuse Ġthe ĠMove F ung ible Tokens Handler Ġas Ġthe Ġrespon ding Ġflow čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsub Flow ( Move F ung ible Tokens Handler ( session )) čĊčĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} č Ċ }