BloomFilter: Add insert(TransactionOutPoint) variant.

This commit is contained in:
Andreas Schildbach
2019-01-30 10:53:25 +01:00
parent 389fb1f78c
commit f268a23898
2 changed files with 7 additions and 2 deletions

View File

@@ -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;
}
}

View File

@@ -4649,7 +4649,7 @@ public class Wallet extends BaseTaggableObject
}
}
for (TransactionOutPoint point : bloomOutPoints)
filter.insert(point.unsafeBitcoinSerialize());
filter.insert(point);
return filter;
} finally {
endBloomFilterCalculation();