// ĠVer i Block ĠBlock chain ĠProject Ċ // ĠCopyright Ġ 2 0 1 7 - 2 0 1 8 ĠVer i Block , ĠInc Ċ // ĠCopyright Ġ 2 0 1 8 - 2 0 2 1 ĠX en ios ĠSE ZC Ċ // ĠAll Ġrights Ġreserved . Ċ // Ġhttps :// www . ver ib lock . org Ċ // ĠDistributed Ġunder Ġthe ĠMIT Ġsoftware Ġlicense , Ġsee Ġthe Ġaccompanying Ċ // Ġfile ĠLICENSE Ġor Ġhttp :// www . opensource . org / licenses / mit - license . php . Ċ package Ġorg . ver ib lock . sdk . models Ċ Ċ import Ġorg . ver ib lock . core . crypto . sha 2 5 6 Hash Of Ċ Ċ data Ġclass ĠAlt Publication ( ĊĠĠĠ Ġval Ġtransaction : ĠVer i Block Transaction , ĊĠĠĠ Ġval Ġmer kle Path : ĠVer i Block Mer kle Path , ĊĠĠĠ Ġval Ġblock Of Proof : ĠVer i Block Block ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠ Ġfun ĠgetId (): ĠByteArray Ġ= ĊĠĠĠĠĠĠĠ Ġsha 2 5 6 Hash Of ( transaction . id . bytes Ġ+ Ġblock Of Proof . hash . bytes ) ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( other Ġ! is ĠAlt Publication ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtransaction Ġ== Ġother . transaction Ġ&& Ġmer kle Path Ġ== Ġother . mer kle Path Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock Of Proof Ġ== Ġother . block Of Proof ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġtransaction . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġmer kle Path . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġblock Of Proof . hashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ } Ċ