diff --git a/core/src/main/java/org/bitcoinj/core/VersionMessage.java b/core/src/main/java/org/bitcoinj/core/VersionMessage.java index 30bfce10..cb6b1ced 100644 --- a/core/src/main/java/org/bitcoinj/core/VersionMessage.java +++ b/core/src/main/java/org/bitcoinj/core/VersionMessage.java @@ -50,6 +50,8 @@ public class VersionMessage extends Message { public static final int NODE_NETWORK = 1 << 0; /** A service bit that denotes whether the peer supports the getutxos message or not. */ public static final int NODE_GETUTXOS = 1 << 1; + /** Indicates that a node can be asked for blocks and transactions including witness data. */ + public static final int NODE_WITNESS = 1 << 3; /** A service bit used by Bitcoin-ABC to announce Bitcoin Cash nodes. */ public static final int NODE_BITCOIN_CASH = 1 << 5; @@ -293,4 +295,9 @@ public class VersionMessage extends Message { return clientVersion >= GetUTXOsMessage.MIN_PROTOCOL_VERSION && (localServices & NODE_GETUTXOS) == NODE_GETUTXOS; } + + /** Returns true if a peer can be asked for blocks and transactions including witness data. */ + public boolean isWitnessSupported() { + return (localServices & NODE_WITNESS) == NODE_WITNESS; + } }