zcash-android-wallet-sdk/sdk-lib/src/main/java/cash/z/ecc/android/sdk/db/entity/Block.kt

35 lines
1.0 KiB
Kotlin

package cash.z.ecc.android.sdk.db.entity
import androidx.room.ColumnInfo
import androidx.room.Entity
@Entity(primaryKeys = ["height"], tableName = "blocks")
data class Block(
val height: Int?,
@ColumnInfo(typeAffinity = ColumnInfo.BLOB, name = "hash")
val hash: ByteArray,
val time: Int,
@ColumnInfo(typeAffinity = ColumnInfo.BLOB, name = "sapling_tree")
val saplingTree: ByteArray
) {
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other !is Block) return false
if (height != other.height) return false
if (!hash.contentEquals(other.hash)) return false
if (time != other.time) return false
if (!saplingTree.contentEquals(other.saplingTree)) return false
return true
}
override fun hashCode(): Int {
var result = height ?: 0
result = 31 * result + hash.contentHashCode()
result = 31 * result + time
result = 31 * result + saplingTree.contentHashCode()
return result
}
}