From 4da8fbc3019388f7bb9861c9947c540c8690c6db Mon Sep 17 00:00:00 2001 From: Mike Hearn Date: Sun, 10 Nov 2013 20:05:22 +0100 Subject: [PATCH] Add a builder function to InventoryMessage --- .../com/google/bitcoin/core/InventoryMessage.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/core/src/main/java/com/google/bitcoin/core/InventoryMessage.java b/core/src/main/java/com/google/bitcoin/core/InventoryMessage.java index 04f1ff5f3..9da63957f 100644 --- a/core/src/main/java/com/google/bitcoin/core/InventoryMessage.java +++ b/core/src/main/java/com/google/bitcoin/core/InventoryMessage.java @@ -16,6 +16,8 @@ package com.google.bitcoin.core; +import static com.google.common.base.Preconditions.checkArgument; + /** *

Represents the "inv" P2P network message. An inv contains a list of hashes of either blocks or transactions. It's * a bandwidth optimization - on receiving some data, a (fully validating) peer sends every connected peer an inv @@ -57,4 +59,13 @@ public class InventoryMessage extends ListMessage { public void addTransaction(Transaction tx) { addItem(new InventoryItem(InventoryItem.Type.Transaction, tx.getHash())); } + + /** Creates a new inv message for the given transactions. */ + public static InventoryMessage with(Transaction... txns) { + checkArgument(txns.length > 0); + InventoryMessage result = new InventoryMessage(txns[0].getParams()); + for (Transaction tx : txns) + result.addTransaction(tx); + return result; + } }