From f268a2389824fbee1ab2e3afa5321b486397fa82 Mon Sep 17 00:00:00 2001 From: Andreas Schildbach Date: Wed, 30 Jan 2019 10:53:25 +0100 Subject: [PATCH] BloomFilter: Add insert(TransactionOutPoint) variant. --- core/src/main/java/org/bitcoinj/core/BloomFilter.java | 7 ++++++- core/src/main/java/org/bitcoinj/wallet/Wallet.java | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/org/bitcoinj/core/BloomFilter.java b/core/src/main/java/org/bitcoinj/core/BloomFilter.java index 8ccd6e9c..52bfc1db 100644 --- a/core/src/main/java/org/bitcoinj/core/BloomFilter.java +++ b/core/src/main/java/org/bitcoinj/core/BloomFilter.java @@ -247,6 +247,11 @@ public class BloomFilter extends Message { insert(key.getPubKeyHash()); } + /** Inserts the given transaction outpoint. */ + public synchronized void insert(TransactionOutPoint outpoint) { + insert(outpoint.unsafeBitcoinSerialize()); + } + /** * Sets this filter to match all objects. A Bloom filter which matches everything may seem pointless, however, * it is useful in order to reduce steady state bandwidth usage when you want full blocks. Instead of receiving @@ -339,7 +344,7 @@ public class BloomFilter extends Message { if (contains(chunk.data)) { boolean isSendingToPubKeys = ScriptPattern.isPayToPubKey(script) || ScriptPattern.isSentToMultisig(script); if (flag == BloomUpdate.UPDATE_ALL || (flag == BloomUpdate.UPDATE_P2PUBKEY_ONLY && isSendingToPubKeys)) - insert(output.getOutPointFor().unsafeBitcoinSerialize()); + insert(output.getOutPointFor()); found = true; } } diff --git a/core/src/main/java/org/bitcoinj/wallet/Wallet.java b/core/src/main/java/org/bitcoinj/wallet/Wallet.java index 4de7d244..50a7c73f 100644 --- a/core/src/main/java/org/bitcoinj/wallet/Wallet.java +++ b/core/src/main/java/org/bitcoinj/wallet/Wallet.java @@ -4649,7 +4649,7 @@ public class Wallet extends BaseTaggableObject } } for (TransactionOutPoint point : bloomOutPoints) - filter.insert(point.unsafeBitcoinSerialize()); + filter.insert(point); return filter; } finally { endBloomFilterCalculation();