From 512d281d374c49b109eb79687042efafc083a072 Mon Sep 17 00:00:00 2001 From: Andreas Schildbach Date: Sat, 5 Mar 2016 01:04:22 +0100 Subject: [PATCH] Wallet: Fix bug in cleanup() that sometimes would put foreign outputs in myUnspents when disconnecting. This wrongly increases the balance. --- core/src/main/java/org/bitcoinj/core/Wallet.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/org/bitcoinj/core/Wallet.java b/core/src/main/java/org/bitcoinj/core/Wallet.java index f3043400..8e263b89 100644 --- a/core/src/main/java/org/bitcoinj/core/Wallet.java +++ b/core/src/main/java/org/bitcoinj/core/Wallet.java @@ -2658,7 +2658,8 @@ public class Wallet extends BaseTaggableObject implements Serializable, BlockCha for (TransactionInput input : tx.getInputs()) { TransactionOutput output = input.getConnectedOutput(); if (output == null) continue; - myUnspents.add(output); + if (output.isMineOrWatched(this)) + checkState(myUnspents.add(output)); input.disconnect(); } for (TransactionOutput output : tx.getOutputs())