From 2c3466866c957fdc1e3df55af122efa0f3ccc253 Mon Sep 17 00:00:00 2001 From: langerhans Date: Sat, 24 Oct 2015 21:58:48 +0200 Subject: [PATCH] Advance the cursor the full header length Otherweise parsing the nonexistant transactions would reset the size of the message to 80 --- src/main/java/org/bitcoinj/core/AltcoinBlock.java | 2 +- src/main/java/org/bitcoinj/core/AuxPoW.java | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/org/bitcoinj/core/AltcoinBlock.java b/src/main/java/org/bitcoinj/core/AltcoinBlock.java index 9620c9b6..d90feccb 100644 --- a/src/main/java/org/bitcoinj/core/AltcoinBlock.java +++ b/src/main/java/org/bitcoinj/core/AltcoinBlock.java @@ -204,7 +204,6 @@ public class AltcoinBlock extends org.bitcoinj.core.Block { if (auxpowParams.isAuxPoWBlockVersion(this.getRawVersion()) && payload.length >= 160) { // We have at least 2 headers in an Aux block. Workaround for StoredBlocks this.auxpow = new AuxPoW(params, payload, cursor, this, serializer); - optimalEncodingMessageSize += auxpow.getOptimalEncodingMessageSize(); } } @@ -218,6 +217,7 @@ public class AltcoinBlock extends org.bitcoinj.core.Block { parseAuxPoW(); if (null != this.auxpow) { super.parseTransactions(offset + auxpow.getMessageSize()); + optimalEncodingMessageSize += auxpow.getMessageSize(); } else { super.parseTransactions(offset); } diff --git a/src/main/java/org/bitcoinj/core/AuxPoW.java b/src/main/java/org/bitcoinj/core/AuxPoW.java index f2d007ae..00eaf5e8 100644 --- a/src/main/java/org/bitcoinj/core/AuxPoW.java +++ b/src/main/java/org/bitcoinj/core/AuxPoW.java @@ -141,8 +141,6 @@ public class AuxPoW extends ChildMessage { } public int getOptimalEncodingMessageSize() { - if (optimalEncodingMessageSize != 0) - return optimalEncodingMessageSize; if (optimalEncodingMessageSize != 0) return optimalEncodingMessageSize; optimalEncodingMessageSize = getMessageSize();