package Ġcom . cas per . sdk . get block transfer Ċ Ċ import Ġcom . cas per . sdk . Block Identifier Ċ import Ġcom . cas per . sdk . Block Identifier Type Ċ import Ġcom . cas per . sdk . Const Values Ċ import Ġcom . cas per . sdk . get block . Get Block Result Ċ import Ġcom . cas per . sdk . get deploy . Execution Result . Transform . Transfer Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ import Ġorg . junit . jupiter . api . Assertions .* Ċ Ċ internal Ġclass ĠGet Block Transfer RP CT est Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Block Transfer () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġget Block Transfer RPC Ġ: Ġ ĠGet Block Transfer RPC Ġ= ĠGet Block Transfer RPC () ĊĠĠĠĠĠĠĠ Ġval Ġbi : Ġ ĠBlock Identifier Ġ= ĠBlock Identifier () ĊĠĠĠĠĠĠĠ Ġbi . block Type Ġ= ĠBlock Identifier Type . NONE ĊĠĠĠĠĠĠĠ Ġval Ġparameter 1 : ĠString Ġ= Ġbi . toJson Str ( Const Values . RPC _ CHAIN _ GET _ BLOCK _ TRANSFER ) ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġget Block Trans fers Result Ġ= Ġget Block Transfer RPC . getBlock Transfer ( parameter 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( getBlock Trans fers Result . apiVersion ==" 1 . 4 . 5 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( getBlock Trans fers Result . block Hash . length > 0 ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegalArgumentException ) Ġ{} ĊĠĠĠĠĠĠĠ Ġ// Call Ġ 2 : Ġ ĠGet Ġblock Ġtransfer Ġwith ĠBlock Identifier Ġof Ġtype ĠBlock ĠHash Ġwith Ġcorrect ĠBlock ĠHash ĊĠĠĠĠĠĠĠ Ġbi . block Type Ġ= ĠBlock Identifier Type . HASH ĊĠĠĠĠĠĠĠ Ġbi . block Hash Ġ= Ġ" fe 3 5 8 1 0 a 3 dcf bf 8 5 3 b 9 d 3 ac 2 4 4 5 fe 1 fa 4 aa ab 0 4 7 d 8 8 1 d 9 5 d 9 0 0 9 dc 2 5 7 d 3 9 6 e 7 e " ĊĠĠĠĠĠĠĠ Ġval Ġparameter 2 : ĠString Ġ= Ġbi . toJson Str ( Const Values . RPC _ CHAIN _ GET _ BLOCK _ TRANSFER ) ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġget Block Trans fers Result Ġ= Ġget Block Transfer RPC . getBlock Transfer ( parameter 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( getBlock Trans fers Result . block Hash ==" fe 3 5 8 1 0 a 3 dcf bf 8 5 3 b 9 d 3 ac 2 4 4 5 fe 1 fa 4 aa ab 0 4 7 d 8 8 1 d 9 5 d 9 0 0 9 dc 2 5 7 d 3 9 6 e 7 e ") ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegalArgumentException ) Ġ{} ĊĠĠĠĠĠĠĠ Ġ// Call 3 : Ġ ĠGet Ġstate Ġroot Ġhash Ġwith ĠBlock Identifier Ġof Ġtype ĠBlock ĠHeight Ġwith Ġcorrect ĠBlock ĠHeight ĊĠĠĠĠĠĠĠ Ġbi . block Type Ġ= ĠBlock Identifier Type . HEIGHT ĊĠĠĠĠĠĠĠ Ġbi . block Height Ġ= Ġ 1 0 8 u ĊĠĠĠĠĠĠĠ Ġval Ġparameter 3 : ĠString Ġ= Ġbi . toJson Str ( Const Values . RPC _ CHAIN _ GET _ BLOCK _ TRANSFER ) ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġget Block Trans fers Result Ġ= Ġget Block Transfer RPC . getBlock Transfer ( parameter 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( getBlock Trans fers Result . block Hash ==" b 4 da 7 9 2 4 b 3 3 5 c 6 ae 0 0 1 4 1 7 2 6 ac 4 2 5 1 3 e dee 5 2 1 ab 0 ee 3 f ccb 1 e 2 0 8 2 7 cf 9 6 de 8 4 c ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( getBlock Trans fers Result . is Transfer Init ()== true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( getBlock Trans fers Result . trans fers . count () Ġ== Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransfer : ĠTransfer Ġ= Ġget Block Trans fers Result . trans fers [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( transfer . deploy Hash Ġ== Ġ" a 1 ac 5 0 5 b 0 1 6 d 4 4 a 6 d 3 ef 5 4 3 3 a 2 6 6 0 f 5 4 9 5 1 3 e 0 7 c 6 d 5 6 ad bd 4 5 3 4 9 4 a 7 4 b 0 6 5 edd ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( transfer . from Ġ== Ġ" account - hash - b 3 8 3 c 7 cc 2 3 d 1 8 bc 1 b 4 2 4 0 6 a 1 b 2 d 2 9 fc 8 dba 8 6 4 2 5 1 9 7 b 6 f 5 5 3 d 7 fd 6 1 3 7 5 b 5 e 4 4 6 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( transfer . to Ġ== Ġ" account - hash - 9 4 0 4 7 2 2 1 8 3 7 cd 1 f 7 4 7 a 5 6 7 1 3 3 fc 4 4 aea 7 a 1 a 8 da 6 9 3 a 7 0 bb 6 4 2 6 ad 5 1 4 fbc 5 4 7 4 4 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( transfer . source Ġ== Ġ" ure f - b 0 6 a 1 ab 0 cfb 5 2 b 5 d 4 f 9 a 0 8 b 6 8 a 5 dbe 7 8 e 9 9 9 de 0 b 0 4 8 4 c 0 3 e 6 4 f 5 c 0 3 8 9 7 cf 6 3 7 b - 0 0 7 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( transfer . target Ġ== Ġ" ure f - 6 f 8 2 8 fd 4 fa 5 d 5 9 da 0 4 ceb 4 4 1 fc fea 1 7 d 4 3 e 0 9 d 5 bcc a 0 3 b 1 a 2 7 c 2 2 5 d 6 2 7 5 c 1 e 2 b - 0 0 4 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( transfer . amount . its Value Ġ== Ġ" 1 0 0 0 0 0 0 0 0 0 0 0 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( transfer . gas . its Value Ġ== Ġ" 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( transfer . is ID Exist ed Ġ== Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegalArgumentException ) Ġ{} ĊĠĠĠĠĠĠĠ Ġ// Negative Ġpath ĊĠĠĠĠĠĠĠ Ġ// Negative Ġpath Ġ 1 : Ġ ĠTest Ġwith Ġsending Ġblock Ġidentifier Ġwith Ġwrong Ġblock Ġhash , Ġ Ġlatest Ġblock Ġis Ġretrieved ĊĠĠĠĠĠĠĠ Ġbi . block Type Ġ= ĠBlock Identifier Type . HASH ĊĠĠĠĠĠĠĠ Ġbi . block Hash Ġ= Ġ" AAA _ 0 1 0 1 f 5 1 7 0 c 9 9 6 cc 0 2 b 5 8 1 d 8 2 0 0 f 0 d 9 5 a 7 3 7 8 4 0 2 3 4 f 3 1 bf 1 fa 2 1 cca 3 5 1 3 7 f 8 5 0 7 b 0 " ĊĠĠĠĠĠĠĠ Ġval Ġparameter 5 : ĠString Ġ= Ġbi . toJson Str ( Const Values . RPC _ CHAIN _ GET _ BLOCK _ TRANSFER ) ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġget Block Trans fers Result Ġ= Ġget Block Transfer RPC . getBlock Transfer ( parameter 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( getBlock Trans fers Result . block Hash . length Ġ> Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( getBlock Trans fers Result . apiVersion . length Ġ> Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegalArgumentException ) Ġ{} ĊĠĠĠĠĠĠĠ Ġ// Negative Ġpath Ġ 2 : Ġ ĠTest Ġwith Ġsending Ġblock Ġidentifier Ġwith Ġwrong Ġblock Ġheight Ġ- Ġexample Ġvery Ġbig Ġblock Ġheight ĊĠĠĠĠĠĠĠ Ġ// Error Ġis Ġthrown ĊĠĠĠĠĠĠĠ Ġbi . block Type Ġ= ĠBlock Identifier Type . HEIGHT ĊĠĠĠĠĠĠĠ Ġbi . block Height Ġ= Ġ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 u ĊĠĠĠĠĠĠĠ Ġval Ġparameter 6 : ĠString Ġ= Ġbi . toJson Str ( Const Values . RPC _ CHAIN _ GET _ BLOCK ) ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Block Transfer RPC . getBlock Transfer ( parameter 6 ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegalArgumentException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Error Ġget Ġblock Ġwith Ġtoo Ġbig Ġheight ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }