diff --git a/core/src/main/java/org/bitcoinj/core/TransactionOutput.java b/core/src/main/java/org/bitcoinj/core/TransactionOutput.java index 27f8d6f7..7f8afa8f 100644 --- a/core/src/main/java/org/bitcoinj/core/TransactionOutput.java +++ b/core/src/main/java/org/bitcoinj/core/TransactionOutput.java @@ -461,6 +461,10 @@ public class TransactionOutput extends ChildMessage implements Serializable { @Override public int hashCode() { - return 31 * (int) value + (scriptBytes != null ? Arrays.hashCode(scriptBytes) : 0); + int result = (int) (value ^ (value >>> 32)); + result = 31 * result + Arrays.hashCode(scriptBytes); + if (parent != null) + result *= parent.getHash().hashCode() + getIndex(); + return result; } }