package Ġat . m inte ch . nft maker . domain Ċ Ċ import Ġat . m inte ch . nft maker . contracts . My Token Ċ import Ġat . m inte ch . nft maker . helper . use case . Async UseCase Ċ import Ġjava 8 . util . concurrent . Comp letableFuture Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . with Context Ċ import Ġorg . web 3 j . protocol . core . methods . response . Transaction Receipt Ċ import Ġjava . math . BigInteger Ċ Ċ class ĠTransfer Token ( ĊĠĠĠ Ġprivate Ġval Ġtoken : ĠMy Token , ĊĠĠĠ Ġprivate Ġval ĠgetUser Address : ĠGetUser Address Ċ ) Ġ: ĠAsync UseCase < Boolean , ĠInt >() Ġ{ ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġrun ( params : ĠInt ) Ġ= ĠResult . run Catch ing Ġ{ ĊĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaccount Receiver Ġ= ĠgetUser Address ( Unit ). get OrThrow () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransfer : ĠCompletableFuture < Transaction Receipt > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoken . transfer ( account Receiver , ĠBigInteger . valueOf ( params . to Long ())). send Async () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconvert : ĠTransaction Receipt Ġ= Ġtransfer . get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconvert . is StatusOK ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }