/** Ċ Ġ* ĠCopyright Ġ 2 0 1 3 - present Ġme mt rip ĠL TD . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġio . go los . com mun 4 j . chain . actions . transaction Ċ Ċ import Ġio . go los . com mun 4 j . abi . writer . by t ew riter . Default Byte Writer Ċ import Ġio . go los . com mun 4 j . abi . writer . compression . Compression Type Ċ import Ġio . go los . com mun 4 j . chain . actions . transaction . abi . Action Ab i Ċ import Ġio . go los . com mun 4 j . chain . actions . transaction . abi . Signed Transaction Ab i Ċ import Ġio . go los . com mun 4 j . chain . actions . transaction . abi . Transaction Ab i Ċ import Ġio . go los . com mun 4 j . core . block . Block Id Details Ċ import Ġio . go los . com mun 4 j . core . crypto . E os PrivateKey Ċ import Ġio . go los . com mun 4 j . core . crypto . signature . PrivateKey Signing Ċ import Ġio . go los . com mun 4 j . core . hex . Default Hex Writer Ċ import Ġio . go los . com mun 4 j . http . rpc . model . signing . Push Transaction Ċ import Ġio . go los . com mun 4 j . http . rpc . model . transaction . response . Transaction Commit ted Ċ import Ġcom . squareup . mos hi . M oshi Ċ import Ġio . reactivex . Single Ċ import Ġretrofit 2 . Response Ċ import Ġjava . util .* Ċ import Ġjava . util . Arrays . asList Ċ Ċ abstract Ġclass ĠChain Transaction ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġchain Api : Ġio . go los . com mun 4 j . http . rpc . Chain Api Ċ ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġm oshi : ĠM oshi Ġ= ĠM oshi . Builder (). build () ĊĊĠĠĠ Ġfun Ġpush ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpiration Date : ĠDate , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactions : ĠList < Action Ab i >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthor izing PrivateKey : ĠE os PrivateKey ĊĠĠĠ Ġ): ĠSingle < io . go los . com mun 4 j . chain . actions . Chain Response < Transaction Commit ted < Any >>> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġchain Api . getInfo (). flatMap Ġ{ Ġinfo Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( info . is Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransaction Ġ= Ġtransaction ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpiration Date , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBlock Id Details ( info . body () !!. head _ block _ id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactions ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsignature Ġ= ĠPrivate Key Signing (). sign ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAb i Binary Gen Transaction Writer ( Default Byte Writer ( 1 0 4 8 ), ĠDefault Hex Writer (), ĠCompression Type . NONE ). squ ish Signed Transaction Ab i ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSigned Transaction Ab i ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinfo . body () !!. chain _ id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġfalse ). to Bytes (), Ġauthor izing PrivateKey ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchain Api . push Transaction ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPush Transaction ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġas List ( signature ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" none ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAb i Binary Gen Transaction Writer ( Compression Type . NONE ). squ ish Transaction Ab i ( transaction Ġ, Ġfalse ). to Hex ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSingle . just ( Response . error ( info . code (), Ġinfo . error Body () !! )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. map Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġerror : Ġio . go los . com mun 4 j . chain . actions . Chain Error ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . error Body () Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ġ= Ġm oshi . adapter ( io . go los . com mun 4 j . chain . actions . Chain Error :: class . java ). fromJson ( it . error Body () !!. string ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġio . go los . com mun 4 j . chain . actions . Chain Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . is Successful , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . code (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . body (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtransaction ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpiration Date : ĠDate , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock Id Details : ĠBlock Id Details , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactions : ĠList < Action Ab i > ĊĠĠĠ Ġ): ĠTransaction Ab i Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn ĠTransaction Ab i ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpiration Date , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblock Id Details . block Num , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblock Id Details . block Prefix , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactions , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List ()) ĊĠĠĠ Ġ} Ċ }