/* Ċ Ġ* ĠCopyright ĠD 3 ĠLed ger , ĠInc . ĠAll ĠRights ĠReserved . Ċ Ġ* ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ*/ Ċ Ċ @ file : Jvm Name (" Transfer E thereum From Contract ") Ċ Ċ package Ġcom . d 3 . eth . deploy Ċ Ċ import Ġcom . d 3 . commons . config . load Local Configs Ċ import Ġintegration . eth . config . E thereum Config Ċ import Ġintegration . eth . config . load Eth Password s Ċ import Ġcom . d 3 . eth . side chain . util . Deploy Helper Ċ import Ġcom . github . kit tin un f . result . failure Ċ import Ġcom . github . kit tin un f . result . fan out Ċ import Ġcom . github . kit tin un f . result . map Ċ import Ġmu . K Logging Ċ import Ġjava . math . BigInteger Ċ Ċ private Ġval Ġlogger Ġ= ĠK Logging (). logger Ċ Ċ /** Ċ Ġ* ĠTask Ġthat Ġtransfer ĠEthereum Ġfrom Ġcontract Ġas Ġinternal Ġtransaction Ġfor Ġtesting Ġpurpose . Ċ Ġ* ĠArguments : Ċ Ġ* Ġ Ġ- Ġe thereum Ġaddress Ġto Ġsend Ġ( 0 x 4 a 5 9 b 6 0 3 1 e 4 2 f 7 7 df 0 5 5 4 d 2 5 3 bd 6 3 cbf 9 1 1 3 ea 3 0 ) Ċ Ġ* Ġ Ġ- Ġamount Ċ Ġ*/ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġif Ġ( args . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . error Ġ{ Ġ" No Ġarguments Ġprovided ." Ġ} ĊĠĠĠĠĠĠĠ ĠSystem . exit ( 1 ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġaddr Ġ= Ġargs [ 0 ] ĊĠĠĠ Ġval Ġamount Ġ= ĠBigInteger . valueOf (( 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Ġ* Ġargs [ 1 ]. toDouble ()). to Long ()) ĊĊĠĠĠ Ġlogger . info Ġ{ Ġ" Send Ġether Ġ$ amount Ġfrom Ġgenesis Ġto Ġ$ addr " Ġ} ĊĊĠĠĠ Ġload Local Configs (" pre deploy . ethereum ", ĠEthereum Config :: class . java , Ġ" pre deploy . properties ") ĊĠĠĠĠĠĠĠ Ġ. fan out Ġ{ Ġload Eth Password s (" pre deploy ", Ġ"/ eth / ethereum _ password . properties ") Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġ( ethereum Config , Ġpassword Config ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDeploy Helper ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe thereum Config , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Config ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġdeploy Helper Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransfer E thereum Ġ= Ġdeploy Helper . deploy Transfer E thereum () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdeploy Helper . send E thereum ( amount , Ġtransfer E thereum . contract Address ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhash Ġ= Ġtransfer E thereum . transfer ( addr , Ġamount ). send (). transaction Hash ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info Ġ{ Ġ" Ether Ġwas Ġsent , Ġtx _ hash =$ hash " Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. failure Ġ{ Ġex Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error (" Cannot Ġsend Ġeth ", Ġex ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . exit ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ