diff --git a/core/src/main/java/org/bitcoinj/core/AddressV1Message.java b/core/src/main/java/org/bitcoinj/core/AddressV1Message.java index e5defcb91..eeb242485 100644 --- a/core/src/main/java/org/bitcoinj/core/AddressV1Message.java +++ b/core/src/main/java/org/bitcoinj/core/AddressV1Message.java @@ -49,11 +49,6 @@ public class AddressV1Message extends AddressMessage { super(addresses); } - @Override - protected void parse(ByteBuffer payload) throws BufferUnderflowException, ProtocolException { - throw new UnsupportedOperationException(); - } - public void addAddress(PeerAddress address) { addresses.add(address); } diff --git a/core/src/main/java/org/bitcoinj/core/AddressV2Message.java b/core/src/main/java/org/bitcoinj/core/AddressV2Message.java index 70a85749f..cf23dde1e 100644 --- a/core/src/main/java/org/bitcoinj/core/AddressV2Message.java +++ b/core/src/main/java/org/bitcoinj/core/AddressV2Message.java @@ -50,11 +50,6 @@ public class AddressV2Message extends AddressMessage { super(addresses); } - @Override - protected void parse(ByteBuffer payload) throws BufferUnderflowException, ProtocolException { - throw new UnsupportedOperationException(); - } - public void addAddress(PeerAddress address) { addresses.add(address); } diff --git a/core/src/main/java/org/bitcoinj/core/BaseMessage.java b/core/src/main/java/org/bitcoinj/core/BaseMessage.java index f66257c98..5b9793dc4 100644 --- a/core/src/main/java/org/bitcoinj/core/BaseMessage.java +++ b/core/src/main/java/org/bitcoinj/core/BaseMessage.java @@ -23,8 +23,6 @@ import org.slf4j.LoggerFactory; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStream; -import java.nio.BufferUnderflowException; -import java.nio.ByteBuffer; /** * A Message is a data structure that can be serialized/deserialized using the Bitcoin serialization format. @@ -36,25 +34,8 @@ import java.nio.ByteBuffer; public abstract class BaseMessage implements Message { private static final Logger log = LoggerFactory.getLogger(BaseMessage.class); - protected BaseMessage() { - } - - /** - * @param payload Bitcoin protocol formatted byte array containing message content. - * @throws ProtocolException - */ - protected BaseMessage(ByteBuffer payload) throws ProtocolException { - try { - parse(payload); - } catch(BufferUnderflowException e) { - throw new ProtocolException(e); - } - } - // These methods handle the serialization/deserialization using the custom Bitcoin protocol. - protected abstract void parse(ByteBuffer payload) throws BufferUnderflowException, ProtocolException; - /** *

Serialize this message to a byte array that conforms to the bitcoin wire protocol.

* diff --git a/core/src/main/java/org/bitcoinj/core/Block.java b/core/src/main/java/org/bitcoinj/core/Block.java index cce6edc84..74df770b1 100644 --- a/core/src/main/java/org/bitcoinj/core/Block.java +++ b/core/src/main/java/org/bitcoinj/core/Block.java @@ -231,11 +231,6 @@ public class Block extends BaseMessage { transactions); } - @Override - protected void parse(ByteBuffer payload) throws BufferUnderflowException, ProtocolException { - throw new UnsupportedOperationException(); - } - public static Block createGenesis() { Block genesisBlock = new Block(BLOCK_VERSION_GENESIS); Transaction tx = Transaction.coinbase(genesisTxInputScriptBytes); diff --git a/core/src/main/java/org/bitcoinj/core/BloomFilter.java b/core/src/main/java/org/bitcoinj/core/BloomFilter.java index 2823f85ea..2508133e6 100644 --- a/core/src/main/java/org/bitcoinj/core/BloomFilter.java +++ b/core/src/main/java/org/bitcoinj/core/BloomFilter.java @@ -167,11 +167,6 @@ public class BloomFilter extends BaseMessage { return helper.toString(); } - @Override - protected void parse(ByteBuffer payload) throws BufferUnderflowException, ProtocolException { - throw new UnsupportedOperationException(); - } - /** * Serializes this message to the provided stream. If you just want the raw bytes use bitcoinSerialize(). */ diff --git a/core/src/main/java/org/bitcoinj/core/EmptyMessage.java b/core/src/main/java/org/bitcoinj/core/EmptyMessage.java index 2463b86df..3e1d9b8f9 100644 --- a/core/src/main/java/org/bitcoinj/core/EmptyMessage.java +++ b/core/src/main/java/org/bitcoinj/core/EmptyMessage.java @@ -19,8 +19,6 @@ package org.bitcoinj.core; import java.io.IOException; import java.io.OutputStream; -import java.nio.BufferUnderflowException; -import java.nio.ByteBuffer; /** *

Parent class for header only messages that don't have a payload. @@ -42,8 +40,4 @@ public abstract class EmptyMessage extends BaseMessage { @Override protected final void bitcoinSerializeToStream(OutputStream stream) throws IOException { } - - @Override - protected void parse(ByteBuffer payload) throws BufferUnderflowException, ProtocolException { - } } diff --git a/core/src/main/java/org/bitcoinj/core/FeeFilterMessage.java b/core/src/main/java/org/bitcoinj/core/FeeFilterMessage.java index ca52ac107..d831cf268 100644 --- a/core/src/main/java/org/bitcoinj/core/FeeFilterMessage.java +++ b/core/src/main/java/org/bitcoinj/core/FeeFilterMessage.java @@ -60,11 +60,6 @@ public class FeeFilterMessage extends BaseMessage { ByteUtils.writeInt64LE(feeRate.value, stream); } - @Override - protected void parse(ByteBuffer payload) throws BufferUnderflowException, ProtocolException { - throw new UnsupportedOperationException(); - } - public Coin getFeeRate() { return feeRate; } diff --git a/core/src/main/java/org/bitcoinj/core/FilteredBlock.java b/core/src/main/java/org/bitcoinj/core/FilteredBlock.java index 379584c64..39a8992b1 100644 --- a/core/src/main/java/org/bitcoinj/core/FilteredBlock.java +++ b/core/src/main/java/org/bitcoinj/core/FilteredBlock.java @@ -76,11 +76,6 @@ public class FilteredBlock extends BaseMessage { stream.write(merkleTree.serialize()); } - @Override - protected void parse(ByteBuffer payload) throws BufferUnderflowException, ProtocolException { - throw new UnsupportedOperationException(); - } - /** * Gets a list of leaf hashes which are contained in the partial merkle tree in this filtered block * diff --git a/core/src/main/java/org/bitcoinj/core/GetBlocksMessage.java b/core/src/main/java/org/bitcoinj/core/GetBlocksMessage.java index 9407ba175..9ec32bb31 100644 --- a/core/src/main/java/org/bitcoinj/core/GetBlocksMessage.java +++ b/core/src/main/java/org/bitcoinj/core/GetBlocksMessage.java @@ -68,11 +68,6 @@ public class GetBlocksMessage extends BaseMessage { this.stopHash = stopHash; } - @Override - protected void parse(ByteBuffer payload) throws BufferUnderflowException, ProtocolException { - throw new UnsupportedOperationException(); - } - public BlockLocator getLocator() { return locator; } diff --git a/core/src/main/java/org/bitcoinj/core/HeadersMessage.java b/core/src/main/java/org/bitcoinj/core/HeadersMessage.java index be3213297..abc3dbf16 100644 --- a/core/src/main/java/org/bitcoinj/core/HeadersMessage.java +++ b/core/src/main/java/org/bitcoinj/core/HeadersMessage.java @@ -97,11 +97,6 @@ public class HeadersMessage extends BaseMessage { } } - @Override - protected void parse(ByteBuffer payload) throws BufferUnderflowException, ProtocolException { - throw new UnsupportedOperationException(); - } - public List getBlockHeaders() { return blockHeaders; } diff --git a/core/src/main/java/org/bitcoinj/core/ListMessage.java b/core/src/main/java/org/bitcoinj/core/ListMessage.java index 28f83ed82..3fb2c5c8c 100644 --- a/core/src/main/java/org/bitcoinj/core/ListMessage.java +++ b/core/src/main/java/org/bitcoinj/core/ListMessage.java @@ -89,11 +89,6 @@ public abstract class ListMessage extends BaseMessage { items.remove(index); } - @Override - protected void parse(ByteBuffer payload) throws BufferUnderflowException, ProtocolException { - throw new UnsupportedOperationException(); - } - @Override public void bitcoinSerializeToStream(OutputStream stream) throws IOException { stream.write(VarInt.of(items.size()).serialize()); diff --git a/core/src/main/java/org/bitcoinj/core/Ping.java b/core/src/main/java/org/bitcoinj/core/Ping.java index 2ea7faf56..c8992ee23 100644 --- a/core/src/main/java/org/bitcoinj/core/Ping.java +++ b/core/src/main/java/org/bitcoinj/core/Ping.java @@ -63,11 +63,6 @@ public class Ping extends BaseMessage { ByteUtils.writeInt64LE(nonce, stream); } - @Override - protected void parse(ByteBuffer payload) throws BufferUnderflowException, ProtocolException { - throw new UnsupportedOperationException(); - } - /** @deprecated returns true */ @Deprecated public boolean hasNonce() { diff --git a/core/src/main/java/org/bitcoinj/core/Pong.java b/core/src/main/java/org/bitcoinj/core/Pong.java index e2d2703ad..75ed02f31 100644 --- a/core/src/main/java/org/bitcoinj/core/Pong.java +++ b/core/src/main/java/org/bitcoinj/core/Pong.java @@ -50,12 +50,7 @@ public class Pong extends BaseMessage { public Pong(long nonce) { this.nonce = nonce; } - - @Override - protected void parse(ByteBuffer payload) throws BufferUnderflowException, ProtocolException { - throw new UnsupportedOperationException(); - } - + @Override public void bitcoinSerializeToStream(OutputStream stream) throws IOException { ByteUtils.writeInt64LE(nonce, stream); diff --git a/core/src/main/java/org/bitcoinj/core/RejectMessage.java b/core/src/main/java/org/bitcoinj/core/RejectMessage.java index 32f99a6f2..fdd0cc238 100644 --- a/core/src/main/java/org/bitcoinj/core/RejectMessage.java +++ b/core/src/main/java/org/bitcoinj/core/RejectMessage.java @@ -107,11 +107,6 @@ public class RejectMessage extends BaseMessage { this.reason = reason; } - @Override - protected void parse(ByteBuffer payload) throws BufferUnderflowException, ProtocolException { - throw new UnsupportedOperationException(); - } - @Override public void bitcoinSerializeToStream(OutputStream stream) throws IOException { byte[] messageBytes = message.getBytes(StandardCharsets.UTF_8); diff --git a/core/src/main/java/org/bitcoinj/core/Transaction.java b/core/src/main/java/org/bitcoinj/core/Transaction.java index 37220564f..16ff3624c 100644 --- a/core/src/main/java/org/bitcoinj/core/Transaction.java +++ b/core/src/main/java/org/bitcoinj/core/Transaction.java @@ -634,11 +634,6 @@ public class Transaction extends BaseMessage { */ public static final byte SIGHASH_ANYONECANPAY_VALUE = (byte) 0x80; - @Override - protected void parse(ByteBuffer payload) throws BufferUnderflowException, ProtocolException { - throw new UnsupportedOperationException(); - } - private void readInputs(ByteBuffer payload) throws BufferUnderflowException, ProtocolException { VarInt numInputsVarInt = VarInt.read(payload); check(numInputsVarInt.fitsInt(), BufferUnderflowException::new); diff --git a/core/src/main/java/org/bitcoinj/core/VersionMessage.java b/core/src/main/java/org/bitcoinj/core/VersionMessage.java index a13093fb8..af3a264e4 100644 --- a/core/src/main/java/org/bitcoinj/core/VersionMessage.java +++ b/core/src/main/java/org/bitcoinj/core/VersionMessage.java @@ -175,11 +175,6 @@ public class VersionMessage extends BaseMessage { return localServices; } - @Override - protected void parse(ByteBuffer payload) throws BufferUnderflowException, ProtocolException { - throw new UnsupportedOperationException(); - } - @Override public void bitcoinSerializeToStream(OutputStream buf) throws IOException { ByteUtils.writeInt32LE(clientVersion, buf); diff --git a/core/src/test/java/org/bitcoinj/core/BitcoinSerializerTest.java b/core/src/test/java/org/bitcoinj/core/BitcoinSerializerTest.java index 8dd51c25d..141292552 100644 --- a/core/src/test/java/org/bitcoinj/core/BitcoinSerializerTest.java +++ b/core/src/test/java/org/bitcoinj/core/BitcoinSerializerTest.java @@ -234,9 +234,6 @@ public class BitcoinSerializerTest { MessageSerializer serializer = MAINNET.getDefaultSerializer(); Message unknownMessage = new BaseMessage() { - @Override - protected void parse(ByteBuffer payload) throws BufferUnderflowException, ProtocolException { - } }; ByteArrayOutputStream bos = new ByteArrayOutputStream(ADDRESS_MESSAGE_BYTES.length); serializer.serialize(unknownMessage, bos);