From c0297f2c1232c29d1a87eb7b98fb10042698a3e8 Mon Sep 17 00:00:00 2001 From: Mike Hearn Date: Tue, 10 Mar 2015 16:51:00 -0700 Subject: [PATCH] TransactionOutPoint: fix hashCode to include index. --- .../org/bitcoinj/core/TransactionOutPoint.java | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/core/src/main/java/org/bitcoinj/core/TransactionOutPoint.java b/core/src/main/java/org/bitcoinj/core/TransactionOutPoint.java index b9d397917..0cf8ec209 100644 --- a/core/src/main/java/org/bitcoinj/core/TransactionOutPoint.java +++ b/core/src/main/java/org/bitcoinj/core/TransactionOutPoint.java @@ -16,18 +16,13 @@ package org.bitcoinj.core; -import org.bitcoinj.script.Script; -import org.bitcoinj.wallet.KeyBag; -import org.bitcoinj.wallet.RedeemData; +import org.bitcoinj.script.*; +import org.bitcoinj.wallet.*; -import javax.annotation.Nullable; -import java.io.IOException; -import java.io.ObjectOutputStream; -import java.io.OutputStream; -import java.io.Serializable; +import javax.annotation.*; +import java.io.*; -import static com.google.common.base.Preconditions.checkNotNull; -import static com.google.common.base.Preconditions.checkState; +import static com.google.common.base.Preconditions.*; /** * This message is a reference or pointer to an output of a different transaction. @@ -245,6 +240,6 @@ public class TransactionOutPoint extends ChildMessage implements Serializable { @Override public int hashCode() { - return getHash().hashCode(); + return 31 * hash.hashCode() + (int) (index ^ (index >>> 32)); } }