package Ġio . vac co . mk . base . btc Ċ Ċ import Ġjavax . validation . Valid Ċ import Ġjavax . validation . constraints . NotNull Ċ import Ġcom . fasterxml . jackson . annotation .* Ċ import Ġjava . util .* Ċ Ċ @ JsonIgnore Properties ( ignore Unknown Ġ= Ġtrue ) Ċ @ JsonInclude ( JsonInclude . Include . NON _ NULL ) Ċ @ JsonProperty Order (" bits ", Ġ" chain work ", Ġ" confirm ations ", Ġ" difficulty ", Ġ" hash ", ĊĠĠĠ Ġ" height ", Ġ" medi ant ime ", Ġ" mer k ler oot ", Ġ" nonce ", Ġ" previous block hash ", Ġ" next block hash ", ĊĠĠĠ Ġ" size ", Ġ" stri pped size ", Ġ" time ", Ġ" tx ", Ġ" version ", Ġ" version Hex ", Ġ" weight ") Ċ data Ġclass ĠB tc Block ( ĊĊĠĠĠ Ġ@ JsonProperty (" bits ") ĊĠĠĠ Ġval Ġbits : ĠString Ġ= Ġ"", ĊĊĠĠĠ Ġ@ NotNull ĊĠĠĠ Ġ@ JsonProperty (" chain work ") ĊĠĠĠ Ġ@ JsonProperty Description ("( exact ly Ġ 1 ) ĠThe Ġestimated Ġnumber Ġof Ġblock Ġheader Ġhashes Ġmin ers Ġhad Ġto Ġcheck Ġfrom Ġthe Ġgenesis Ġblock Ġto Ġthis Ġblock , Ġencoded Ġas Ġbig - endian Ġhex .") ĊĠĠĠ Ġval Ġchain work : ĠString ? Ġ= Ġnull , ĊĊĠĠĠ Ġ@ JsonProperty (" confirm ations ") ĊĠĠĠ Ġval Ġconfirm ations : ĠLong Ġ= Ġ 0 , ĊĠĠĠ Ġ@ JsonProperty (" difficulty ") ĊĠĠĠ Ġval Ġdifficulty : ĠDouble Ġ= Ġ 0 . toDouble (), ĊĠĠĠ Ġ@ JsonProperty (" hash ") ĊĠĠĠ Ġval Ġhash : ĠString Ġ= Ġ"", ĊĠĠĠ Ġ@ JsonProperty (" height ") ĊĠĠĠ Ġval Ġheight : ĠLong Ġ= Ġ 0 , ĊĠĠĠ Ġ@ JsonProperty (" medi ant ime ") ĊĠĠĠ Ġval Ġmedi ant ime : ĠLong Ġ= Ġ 0 , ĊĠĠĠ Ġ@ JsonProperty (" mer k ler oot ") ĊĠĠĠ Ġval Ġmer k ler oot : ĠString Ġ= Ġ"", ĊĠĠĠ Ġ@ JsonProperty (" nonce ") ĊĠĠĠ Ġval Ġnonce : ĠLong Ġ= Ġ 0 , ĊĊĠĠĠ Ġ@ JsonProperty (" previous block hash ") ĊĠĠĠ Ġ@ JsonProperty Description (" The Ġhash Ġof Ġthe Ġheader Ġof Ġthe Ġprevious Ġblock , Ġencoded Ġas Ġhex Ġin ĠRPC Ġbyte Ġorder . ĠNot Ġreturned Ġfor Ġgenesis Ġblock .") ĊĠĠĠ Ġval Ġprevious block hash : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġ@ JsonProperty (" next block hash ") ĊĠĠĠ Ġ@ JsonProperty Description (" The Ġhash Ġof Ġthe Ġnext Ġblock Ġon Ġthe Ġbest Ġblock Ġchain , Ġif Ġknown , Ġencoded Ġas Ġhex Ġin ĠRPC Ġbyte Ġorder .") ĊĠĠĠ Ġval Ġnext block hash : ĠString ? Ġ= Ġnull , ĊĊĠĠĠ Ġ@ JsonProperty (" size ") ĊĠĠĠ Ġval Ġsize : ĠLong Ġ= Ġ 0 , ĊĠĠĠ Ġ@ JsonProperty (" stri pped size ") ĊĠĠĠ Ġval Ġstripped size : ĠLong Ġ= Ġ 0 , ĊĠĠĠ Ġ@ JsonProperty (" time ") ĊĠĠĠ Ġval Ġtime : ĠLong Ġ= Ġ 0 , ĊĊĠĠĠ Ġ@ JsonProperty (" tx ") Ġ@ Valid ĊĠĠĠ Ġval Ġtx : ĠMutable List < Btc Tx > Ġ= ĠArrayList (), ĊĠĠĠ Ġ@ JsonProperty (" version ") ĊĠĠĠ Ġval Ġversion : ĠLong Ġ= Ġ 0 , ĊĠĠĠ Ġ@ JsonProperty (" version Hex ") ĊĠĠĠ Ġval Ġversion Hex : ĠString Ġ= Ġ"", ĊĠĠĠ Ġ@ JsonProperty (" weight ") ĊĠĠĠ Ġval Ġweight : ĠLong Ġ= Ġ 0 Ċ ) Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= ĊĠĠĠĠĠĠĠ Ġ" Btc Block [$ height , Ġ$ hash , Ġ$ size , Ġ$ time ]" Ċ } Ċ