diff --git a/core/src/main/java/org/bitcoinj/core/GetDataMessage.java b/core/src/main/java/org/bitcoinj/core/GetDataMessage.java index 1cdba992..2019f6c0 100644 --- a/core/src/main/java/org/bitcoinj/core/GetDataMessage.java +++ b/core/src/main/java/org/bitcoinj/core/GetDataMessage.java @@ -1,5 +1,6 @@ /* * Copyright 2011 Google Inc. + * Copyright 2019 Andreas Schildbach * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -51,8 +52,8 @@ public class GetDataMessage extends ListMessage { includeWitness ? InventoryItem.Type.WITNESS_TRANSACTION : InventoryItem.Type.TRANSACTION, hash)); } - public void addBlock(Sha256Hash hash) { - addItem(new InventoryItem(InventoryItem.Type.BLOCK, hash)); + public void addBlock(Sha256Hash hash, boolean includeWitness) { + addItem(new InventoryItem(includeWitness ? InventoryItem.Type.WITNESS_BLOCK : InventoryItem.Type.BLOCK, hash)); } public void addFilteredBlock(Sha256Hash hash) { diff --git a/core/src/main/java/org/bitcoinj/core/Peer.java b/core/src/main/java/org/bitcoinj/core/Peer.java index 60bf1a07..00d1369d 100644 --- a/core/src/main/java/org/bitcoinj/core/Peer.java +++ b/core/src/main/java/org/bitcoinj/core/Peer.java @@ -1288,7 +1288,7 @@ public class Peer extends PeerSocketHandler { getdata.addFilteredBlock(item.hash); pingAfterGetData = true; } else { - getdata.addBlock(item.hash); + getdata.addBlock(item.hash, vPeerVersionMessage.isWitnessSupported()); } pendingBlockDownloads.add(item.hash); } @@ -1326,7 +1326,7 @@ public class Peer extends PeerSocketHandler { // This does not need to be locked. log.info("Request to fetch block {}", blockHash); GetDataMessage getdata = new GetDataMessage(params); - getdata.addBlock(blockHash); + getdata.addBlock(blockHash, true); return sendSingleGetData(getdata); }