package Ġcom . ter or ie . nimiq . network . message Ċ Ċ import Ġcom . ter or ie . nimiq . consensus . primitive . Hash Light Ċ import Ġcom . ter or ie . nimiq . consensus . transaction . Transactions Proof Ċ import Ġcom . ter or ie . nimiq . util . io .* Ċ import Ġjava . io . InputStream Ċ import Ġjava . io . OutputStream Ċ Ċ @ Experimental Unsigned Types Ċ class ĠTransactions Proof Message ( ĊĠĠĠ Ġval Ġblock Hash : ĠHash Light , ĊĠĠĠ Ġval Ġproof : ĠTransactions Proof ? Ġ= Ġnull Ċ ) Ġ: ĠMessage ( type ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ: ĠMessage Enc < Transactions Proof Message >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġtype Ġ= ĠMessage . Type . TRANSACTION S _ PRO OF ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġserialized Content Size ( m : ĠTransactions Proof Message ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġx Ġ= Ġ 1 Ġ+ ĠHash Light . SIZE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m . proof Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ+= ĠTransactions Proof . serialized Size ( m . proof !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġx ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdeserialize Content ( s : ĠInputStream , Ġh : ĠHeader ): ĠTransactions Proof Message Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblock Hash Ġ= Ġs . read ( Hash Light ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhas Proof Ġ= Ġs . read Bool () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġproof : ĠTransactions Proof ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( has Proof ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproof Ġ= Ġs . read ( Transactions Proof ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTransactions Proof Message ( block Hash , Ġproof ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġserialize Content ( s : ĠOutputStream , Ġm : ĠTransactions Proof Message ) Ġ= Ġwith ( m ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs . write ( block Hash ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m . proof Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs . write ( Transactions Proof , Ġproof !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ