package Ġcom . w sd . gle bus . ethereum api . controllers Ċ Ċ import Ġio . swagger . annotations . Api Ċ import Ġio . swagger . annotations . ApiOperation Ċ import Ġio . swagger . annotations . Api Param Ċ import Ġorg . springframework . web . bind . annotation .* Ċ import Ġorg . web 3 j . abi . Function Encoder Ċ import Ġorg . web 3 j . abi . Function Return Decoder Ċ import Ġorg . web 3 j . abi . Type Reference Ċ import Ġorg . web 3 j . abi . datat ypes . Address Ċ import Ġorg . web 3 j . abi . datat ypes . Function Ċ import Ġorg . web 3 j . abi . datat ypes . Type Ċ import Ġorg . web 3 j . abi . datat ypes . generated . Uint 2 5 6 Ċ import Ġorg . web 3 j . crypto . Credentials Ċ import Ġorg . web 3 j . crypto . EC KeyPair Ċ import Ġorg . web 3 j . protocol . Web 3 j Ċ import Ġorg . web 3 j . protocol . core . Default Block ParameterName Ċ import Ġorg . web 3 j . protocol . core . methods . request . Transaction Ċ import Ġorg . web 3 j . protocol . http . Http Service Ċ import Ġjava . math . BigInteger Ċ Ċ @ RestController Ċ @ Cross Origin Ċ @ RequestMapping ("/ balance ") Ċ @ Api ( description Ġ= Ġ" Ðļ Ð¾Ð½ ÑĤÑĢ Ð¾Ð» Ð» ÐµÑĢ ĠÐ´Ð»Ñı ĠÐ¿ÑĢ Ð¾Ð²ÐµÑĢ ÐºÐ¸ ĠÐ± Ð°Ð» Ð°Ð½ Ñģ Ð° ") Ċ class ĠBalance Controller Ġ{ ĊĊĠĠĠ Ġ@ ApiOperation (" Ðĳ Ð°Ð» Ð°Ð½ Ñģ ĠÑĤ Ð¾Ðº ÐµÐ½ Ð¾Ð² ") ĊĠĠĠ Ġ@ GetMapping (" token / balance ") ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtoken Balance (@ Api Param ( value Ġ= Ġ" ÐŁÑĢ Ð¸Ð² Ð°ÑĤ Ð½ÑĭÐ¹ ĠÐº Ð»ÑİÑĩ ", Ġexample Ġ= Ġ" 0 ") Ġ@ RequestParam ĠprivateKey : ĠBigInteger , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Api Param ( value Ġ= Ġ" ÐŁ ÑĥÐ± Ð»Ð¸Ñĩ Ð½ÑĭÐ¹ ĠÐº Ð»ÑİÑĩ ", Ġexample Ġ= Ġ" 0 ") Ġ@ RequestParam ĠpublicKey : ĠBigInteger ): ĠBigInteger Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcredentials Ġ= ĠCredentials . create ( EC KeyPair ( privateKey , ĠpublicKey )) ĊĠĠĠĠĠĠĠ Ġval Ġweb 3 j Ġ= ĠWeb 3 j . build ( Http Service (" https :// rop sten . inf ura . io /" Ġ+ Ġcredentials . address )) ĊĠĠĠĠĠĠĠ Ġval Ġcontract Address Ġ= Ġ" 0 x 9 C 4 D 9 f 2 A 4 cc 3 7 c F 8 6 3 8 6 E 8 8 5 9 d A 6 1 3 ED 8 2 4 0 D 3 6 5 " ĊĠĠĠĠĠĠĠ Ġval Ġfunction Ġ= ĠFunction ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" balanceOf ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf < Type < *> >( Address ( credentials . address )), Ġ// ĠParameters Ġto Ġpass Ġas ĠSolid ity ĠTypes ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf < Type Reference < *> >( object Ġ: ĠType Reference < Uint 2 5 6 >() Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ})) ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġweb 3 j . eth Call ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTransaction . create Eth Call Transaction ( credentials . address , Ġcontract Address , ĠFunction Encoder . encode ( function )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Block ParameterName . LATE ST ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. send Async (). get () ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠFunction Return Decoder . decode ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse . value , Ġfunction . output Parameters ) ĊĠĠĠĠĠĠĠ Ġval Ġuint Ġ= Ġresult [ 0 ] Ġas ĠUint 2 5 6 ĊĠĠĠĠĠĠĠ Ġreturn Ġuint . value ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ ApiOperation (" Ðĳ Ð°Ð» Ð°Ð½ Ñģ ĠETH ") ĊĠĠĠ Ġ@ GetMapping ("/ balance ") ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġbalance (@ Api Param ( value Ġ= Ġ" ÐŁÑĢ Ð¸Ð² Ð°ÑĤ Ð½ÑĭÐ¹ ĠÐº Ð»ÑİÑĩ ", Ġexample Ġ= Ġ" 0 ") Ġ@ RequestParam ĠprivateKey : ĠBigInteger , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Api Param ( value Ġ= Ġ" ÐŁ ÑĥÐ± Ð»Ð¸Ñĩ Ð½ÑĭÐ¹ ĠÐº Ð»ÑİÑĩ ", Ġexample Ġ= Ġ" 0 ") Ġ@ RequestParam ĠpublicKey : ĠBigInteger ): ĠBigInteger Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcredentials Ġ= ĠCredentials . create ( EC KeyPair ( privateKey , ĠpublicKey )) ĊĠĠĠĠĠĠĠ Ġval Ġweb 3 j Ġ= ĠWeb 3 j . build ( Http Service (" https :// rop sten . inf ura . io /" Ġ+ Ġcredentials . address )) ĊĠĠĠĠĠĠĠ Ġreturn Ġweb 3 j ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. eth Get Balance ( credentials . address , ĠDefault Block ParameterName . LATE ST ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. send () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. balance . divide ( BigInteger . TEN . pow ( 1 8 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ ApiOperation (" Ðĳ Ð°Ð» Ð°Ð½ Ñģ ĠÑģ Ñĩ Ñĳ ÑĤÐ° ĠÑģ ĠÐºÐ¾Ð¼ Ð¸Ñģ Ñģ Ð¸ ÐµÐ¹ ") ĊĠĠĠ Ġ@ GetMapping (" home / balance ") ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġhome Balance (@ Api Param ( value Ġ= Ġ" ÐŁÑĢ Ð¸Ð² Ð°ÑĤ Ð½ÑĭÐ¹ ĠÐº Ð»ÑİÑĩ ", Ġexample Ġ= Ġ" 0 ") Ġ@ RequestParam ĠprivateKey : ĠBigInteger , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Api Param ( value Ġ= Ġ" ÐŁ ÑĥÐ± Ð»Ð¸Ñĩ Ð½ÑĭÐ¹ ĠÐº Ð»ÑİÑĩ ", Ġexample Ġ= Ġ" 0 ") Ġ@ RequestParam ĠpublicKey : ĠBigInteger ): ĠBigInteger Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcredentials Ġ= ĠCredentials . create ( EC KeyPair ( privateKey , ĠpublicKey )) ĊĠĠĠĠĠĠĠ Ġval Ġweb 3 j Ġ= ĠWeb 3 j . build ( Http Service (" https :// rop sten . inf ura . io /" Ġ+ Ġcredentials . address )) ĊĠĠĠĠĠĠĠ Ġreturn Ġweb 3 j ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. eth Get Balance ( home Wallet , ĠDefault Block ParameterName . LATE ST ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. send () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. balance . divide ( BigInteger . TEN . pow ( 1 8 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval Ġhome Wallet Ġ= Ġ" 0 xC 1 4 0 a 5 0 f 8 5 D 7 2 d 9 3 0 2 0 2 6 7 2 ca B 4 B 1 7 eae 3 c 6 EC 0 b " ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ