package Ġio . open future . chain . core . model . entity . block . payload Ċ Ċ import Ġjava . nio . ByteBuffer Ċ import Ġjavax . persistence .* Ċ import Ġkotlin . Long . Companion . SIZE _ BYTES Ċ Ċ @ Embed d able Ċ class ĠGen esis Block Payload ( ĊĊĠĠĠ Ġ@ Column ( name Ġ= Ġ" epoch _ index ", Ġnullable Ġ= Ġfalse ) ĊĠĠĠ Ġvar Ġepoch Index : ĠLong , ĊĊĠĠĠ Ġ@ Element Collection ( fetch Ġ= ĠFetch Type . E AGER ) ĊĠĠĠ Ġ@ Collection Table ( name Ġ= Ġ" delegate 2 genesis ", Ġjoin Columns Ġ= Ġ[ JoinColumn ( name Ġ= Ġ" genesis _ id ") ]) ĊĠĠĠ Ġ@ Column ( name Ġ= Ġ" public _ key ") ĊĠĠĠ Ġvar Ġactive Deleg ates : ĠList < String > Ċ Ċ ) Ġ: ĠBlock Payload Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Bytes (): ĠByteArray Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlength Ġ= Ġactive Deleg ates . as Sequence (). map Ġ{ Ġit . toByteArray (). size Ġ}. sum () ĊĠĠĠĠĠĠĠ Ġval Ġbuffer Ġ= ĠByteBuffer . allocate ( SIZE _ BYTES Ġ+ Ġlength ) ĊĠĠĠĠĠĠĠ Ġbuffer . put Long ( epoch Index ) ĊĠĠĠĠĠĠĠ Ġactive Deleg ates . forEach Ġ{ Ġbuffer . put ( it . toByteArray ()) Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġbuffer . array () ĊĠĠĠ Ġ} Ċ Ċ }