From c981555be4567026d743b50afc404614c035dd78 Mon Sep 17 00:00:00 2001 From: Mike Hearn Date: Thu, 29 Jan 2015 19:19:28 +0100 Subject: [PATCH] RejectMessage: add a c'tor for initialising a new message and fix a bug in serialisation. --- .../main/java/org/bitcoinj/core/RejectMessage.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/org/bitcoinj/core/RejectMessage.java b/core/src/main/java/org/bitcoinj/core/RejectMessage.java index 2b8d23de..8ac8d6dd 100644 --- a/core/src/main/java/org/bitcoinj/core/RejectMessage.java +++ b/core/src/main/java/org/bitcoinj/core/RejectMessage.java @@ -72,8 +72,13 @@ public class RejectMessage extends Message { super(params, payload, 0); } - public RejectMessage(NetworkParameters params, byte[] payload, boolean parseLazy, boolean parseRetain, int length) throws ProtocolException { - super(params, payload, 0, parseLazy, parseRetain, length); + /** Constructs a reject message that fingers the object with the given hash as rejected for the given reason. */ + public RejectMessage(NetworkParameters params, RejectCode code, Sha256Hash hash, String message, String reason) throws ProtocolException { + super(params); + this.code = code; + this.messageHash = hash; + this.message = message; + this.reason = reason; } @Override @@ -102,7 +107,7 @@ public class RejectMessage extends Message { stream.write(new VarInt(reasonBytes.length).encode()); stream.write(reasonBytes); if (message.equals("block") || message.equals("tx")) - stream.write(messageHash.getBytes()); + stream.write(Utils.reverseBytes(messageHash.getBytes())); } /**