package Ġio . pixel plex . bitcoin j example . ethereum _ components Ċ Ċ import Ġorg . sp ong ycastle . util . en coders . Hex Ċ import Ġjava . math . BigInteger Ċ Ċ class ĠTransaction Builder Ġ{ ĊĊĠĠĠ Ġfun Ġcreate Signed Transaction ( ĊĠĠĠĠĠĠĠ Ġnonce : ĠBigInteger , ĊĠĠĠĠĠĠĠ Ġgas Price : ĠBigInteger , ĊĠĠĠĠĠĠĠ Ġgas Limit : ĠBigInteger , ĊĠĠĠĠĠĠĠ Ġreceiver Address : ĠString , ĊĠĠĠĠĠĠĠ Ġvalue : ĠBigInteger , ĊĠĠĠĠĠĠĠ ĠprivateKey : ĠByteArray , ĊĠĠĠĠĠĠĠ Ġdata : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaddress Without Prefix Ġ= Ġreceiver Address . remove Prefix ( PREFIX ) ĊĠĠĠĠĠĠĠ Ġval Ġaddress Bytes Ġ= ĠHex . decode ( address Without Prefix ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtransaction Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE th Transaction ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnonce . to Bytes (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgas Price . to Bytes (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgas Limit . to Bytes (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaddress Bytes , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . to Bytes (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata ?. let Ġ{ ĠHex . decode ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġsender Key Ġ= ĠE th EC Key . from Private ( privateKey ) ĊĠĠĠĠĠĠĠ Ġtransaction . sign ( sender Key ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ" 0 x ${ Hex . to HexString ( transaction . encoded )}" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠPREFIX Ġ= Ġ" 0 x " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Contract Byte code ( to Address : ĠString , Ġamount With Wei : ĠBigInteger ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbyte Code Ġ= ĠContract Input Encoder (). encode ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" transfer ", ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInput Value ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠE th Contract Address Input ValueType (" address "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Address ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĠInput Value ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumber Input ValueType (" uint 2 5 6 "), Ġamount With Wei . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbyte Code ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠO mit ting Ġsign Ġindication Ġbyte . ĊĠĠĠĠ Ġ* Ġ< br ></ br >< br ></ br > ĊĠĠĠĠ Ġ* ĠInstead Ġof Ġ[ org . sp ong ycastle . util . Big Inte gers . as Unsigned ByteArray ] ĊĠĠĠĠ Ġ* Ġ< br ></ br > we Ġuse Ġthis Ġcustom Ġmethod Ġto Ġavoid Ġan Ġempty Ġarray Ġin Ġcase Ġof ĠBigInteger . ZERO ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġvalue Ġ- Ġany Ġbig Ġinteger Ġnumber . ĠA Ġ` null `- value Ġwill Ġreturn Ġ` null ` ĊĠĠĠĠ Ġ* Ġ@ return ĠA Ġbyte Ġarray Ġwithout Ġa Ġleading Ġzero Ġbyte Ġif Ġpresent Ġin Ġthe Ġsigned Ġencoding . ĊĠĠĠĠ Ġ* ĠBigInteger . ZERO Ġwill Ġreturn Ġan Ġarray Ġwith Ġlength Ġ 1 Ġand Ġbyte - value Ġ 0 . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠBigInteger ?. to Bytes (): ĠByteArray ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ== Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĊĠĠĠĠĠĠĠ Ġvar Ġdata Ġ= Ġthis . toByteArray () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( data . size Ġ!= Ġ 1 Ġ&& Ġdata [ 0 ]. toInt () Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtmp Ġ= ĠByteArray ( data . size Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . arraycopy ( data , Ġ 1 , Ġtmp , Ġ 0 , Ġtmp . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= Ġtmp ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġdata ĊĠĠĠ Ġ} Ċ Ċ }