From cdc1a4ce99a9bdaadd5eed69db2a3af639448a39 Mon Sep 17 00:00:00 2001 From: Andreas Schildbach Date: Fri, 14 Nov 2014 17:19:19 +0100 Subject: [PATCH] Fix just asking Wallet.doMaintenance() for if maintenance needs to be done wastes addresses. --- 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 14e558d1..5dac1bd3 100644 --- a/core/src/main/java/org/bitcoinj/core/Wallet.java +++ b/core/src/main/java/org/bitcoinj/core/Wallet.java @@ -4522,7 +4522,8 @@ public class Wallet extends BaseTaggableObject implements Serializable, BlockCha for (TransactionOutput output : toMove.gathered) { rekeyTx.addInput(output); } - rekeyTx.addOutput(toMove.valueGathered, freshReceiveAddress()); + // When not signing, don't waste addresses. + rekeyTx.addOutput(toMove.valueGathered, sign ? freshReceiveAddress() : currentReceiveAddress()); if (!adjustOutputDownwardsForFee(rekeyTx, toMove, Coin.ZERO, Transaction.REFERENCE_DEFAULT_MIN_TX_FEE)) { log.error("Failed to adjust rekey tx for fees."); return null;