/* Ċ Ġ* ĠCopyright ĠD 3 ĠLed ger , ĠInc . ĠAll ĠRights ĠReserved . Ċ Ġ* ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ*/ Ċ Ċ package Ġjp . co . sor am its u . bootstrap . utils Ċ Ċ import Ġcom . d 3 . eth . side chain . util . extract VR S Ċ import Ġcom . d 3 . eth . side chain . util . sign UserData Ċ import Ġjp . co . sor am its u . bootstrap . dto . Sig s Data Ċ import Ġorg . web 3 j . crypto . EC KeyPair Ċ import Ġorg . web 3 j . crypto . Hash Ċ import Ġorg . web 3 j . utils . Numeric Ċ import Ġjava . math . BigInteger Ċ Ċ val Ġdefault I ro ha Hash Ġ= ĠHash . sha 3 ( String . format ("% 0 6 4 x ", ĠBigInteger . valueOf ( 1 2 3 4 5 ))) Ċ val Ġdefault Byte Hash Ġ= Ġi ro ha Hash To Byte Hash ( default I ro ha Hash ) Ċ Ċ fun Ġi ro ha Hash To Byte Hash ( iro ha Hash : ĠString ) Ġ= ĊĠĠĠ ĠNumeric . hex StringTo ByteArray ( iro ha Hash . slice ( 2 Ġuntil Ġi ro ha Hash . length )) Ċ Ċ fun Ġprepare Signatures ( amount : ĠInt , Ġkey pairs : ĠList < EC KeyPair >, Ġto Sign : ĠString ): ĠS igs Data Ġ{ ĊĠĠĠ Ġval Ġvv Ġ= ĠArrayList < BigInteger >() ĊĠĠĠ Ġval Ġrr Ġ= ĠArrayList < ByteArray >() ĊĠĠĠ Ġval Ġss Ġ= ĠArrayList < ByteArray >() ĊĊĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġamount ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsignature Ġ= Ġsign UserData ( key pairs [ i ], Ġto Sign ) ĊĠĠĠĠĠĠĠ Ġval Ġv rs Ġ= Ġextract VR S ( signature ) ĊĠĠĠĠĠĠĠ Ġvv . add ( v rs . v ) ĊĠĠĠĠĠĠĠ Ġrr . add ( v rs . r ) ĊĠĠĠĠĠĠĠ Ġss . add ( v rs . s ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn ĠS igs Data ( vv , Ġrr , Ġss ) Ċ } Ċ