package Ġio . pro venance . digital currency . con sort ium . stream Ċ Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ import Ġcos mw asm . wasm . v 1 . Tx . Msg Execute Contract Ċ import Ġio . pro venance . client . grpc . Base Req Signer Ċ import Ġio . pro venance . client . grpc . Gas Estimation Method . MSG _ F EE _ CAL C UL ATION Ċ import Ġio . pro venance . client . grpc . Pb Client Ċ import Ġio . pro venance . client . wallet . from Mnemonic Ċ import Ġio . pro venance . digital currency . con sort ium . extension . throw If Failed Ċ import Ġio . pro venance . digital currency . con sort ium . extension . to Any Ċ import Ġio . pro venance . digital currency . con sort ium . extension . to ByteString Ċ import Ġio . pro venance . digital currency . con sort ium . extension . to Tx Body Ċ import Ġio . pro venance . digital currency . con sort ium . messages . Execute Request Ċ import Ġio . pro venance . digital currency . con sort ium . messages . Transfer Request Ċ import Ġio . pro venance . digital currency . con sort ium . service . P bc Service . Network Type Ċ import Ġorg . junit . jupiter . api . Disabled Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . net . URI Ċ Ċ @ Disabled Ċ class ĠBroadcast Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcontract Address Ġ= Ġ" tp 1 4 hj 2 t av q 8 f pes dw xx cu 4 4 r ty 3 hh 9 0 v hu j rv cm stl 4 zr 3 tx mf vw 9 s 9 6 l rg 8 " ĊĠĠĠ Ġprivate Ġval Ġuser 1 Address Ġ= Ġ" tp 1 0 nn m 7 0 y 8 zc 5 m 8 y je 5 zx 5 c any qq 6 3 9 j 3 ph 7 mj 8 p " ĊĠĠĠ Ġprivate Ġval Ġbank 3 Address Ġ= Ġ" tp 1 zl 3 8 8 az l all p 5 ry g ath 0 k mpz 6 w 2 ag p amp uk fc 3 " ĊĠĠĠ Ġprivate Ġval Ġuser 3 Signer Ġ= Ġfrom Mnemonic ( ĊĠĠĠĠĠĠĠ Ġprefix Ġ= ĠNetwork Type . TEST NET . prefix , ĊĠĠĠĠĠĠĠ Ġpath Ġ= ĠNetwork Type . TEST NET . path , ĊĠĠĠĠĠĠĠ Ġmnemonic Ġ= Ġ" o yst er Ġborrow Ġsurvey Ġc ake Ġpuzzle Ġtrash Ġtrain Ġisolate Ġspy Ġthis Ġaverage Ġb acon Ġsp are Ġhealth Ġtoast Ġg irl Ġregular Ġm uff in Ġcal m Ġrain Ġforget Ġthrow Ġexit Ġring " ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġval Ġmapper Ġ= ĠObjectMapper () ĊĠĠĠ Ġprivate Ġval Ġgrpc Client Ġ= ĠP b Client ( ĊĠĠĠĠĠĠĠ Ġchain Id Ġ= Ġ" chain - local ", ĊĠĠĠĠĠĠĠ Ġchannel Uri Ġ= ĠURI (" http :// localhost : 9 0 9 0 "), ĊĠĠĠĠĠĠĠ Ġgas Estimation Method Ġ= ĠMSG _ F EE _ CAL C UL ATION ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġmultiple Ġtransfers Ġin Ġsingle Ġbroadcast `() Ġ{ ĊĠĠĠĠĠĠĠ Ġgrpc Client . estimate And Broadcast Tx ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsign ers Ġ= ĠlistOf ( Base Req Signer ( user 3 Signer )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtx Body Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransfer Ġ= ĠTransfer Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġamount Ġ= Ġ" 3 5 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrecipient Ġ= Ġbank 3 Address ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransfer Ġ= ĠTransfer Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġamount Ġ= Ġ" 1 0 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrecipient Ġ= Ġuser 1 Address ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransfer Ġ= ĠTransfer Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġamount Ġ= Ġ" 5 0 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrecipient Ġ= Ġbank 3 Address ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġmessage Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMsg Execute Contract . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Sender ( user 3 Signer . address ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Contract ( contract Address ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Msg ( mapper . writeValue AsString ( message ). to ByteString ()). build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Any () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Tx Body (), ĊĠĠĠĠĠĠĠ Ġ). throw If Failed (" Batch Ġbroadcast Ġfailed "). also Ġ{ Ġprintln ( it ) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ