From 041b51f8e689bc669546e6d0f16c514e5104d254 Mon Sep 17 00:00:00 2001 From: Devrandom Date: Fri, 17 Jul 2015 14:44:01 -0700 Subject: [PATCH] allow unmarried chains to have P2SH addresses --- core/src/main/java/org/bitcoinj/core/Wallet.java | 2 +- core/src/main/java/org/bitcoinj/wallet/KeyChainGroup.java | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/core/src/main/java/org/bitcoinj/core/Wallet.java b/core/src/main/java/org/bitcoinj/core/Wallet.java index 51856a56..c51350ec 100644 --- a/core/src/main/java/org/bitcoinj/core/Wallet.java +++ b/core/src/main/java/org/bitcoinj/core/Wallet.java @@ -1007,7 +1007,7 @@ public class Wallet extends BaseTaggableObject implements BlockChainListener, Pe } else if (script.isSentToAddress()) { byte[] pubkeyHash = script.getPubKeyHash(); keychain.markPubKeyHashAsUsed(pubkeyHash); - } else if (script.isPayToScriptHash() && keychain.isMarried()) { + } else if (script.isPayToScriptHash()) { Address a = Address.fromP2SHScript(tx.getParams(), script); keychain.markP2SHAddressAsUsed(a); } diff --git a/core/src/main/java/org/bitcoinj/wallet/KeyChainGroup.java b/core/src/main/java/org/bitcoinj/wallet/KeyChainGroup.java index 4d68f1e6..e94bd3f6 100644 --- a/core/src/main/java/org/bitcoinj/wallet/KeyChainGroup.java +++ b/core/src/main/java/org/bitcoinj/wallet/KeyChainGroup.java @@ -358,7 +358,6 @@ public class KeyChainGroup implements KeyBag { } public void markP2SHAddressAsUsed(Address address) { - checkState(isMarried()); checkArgument(address.isP2SHAddress()); RedeemData data = findRedeemDataFromScriptHash(address.getHash160()); if (data == null) @@ -402,7 +401,6 @@ public class KeyChainGroup implements KeyBag { /** If the given P2SH address is "current", advance it to a new one. */ private void maybeMarkCurrentAddressAsUsed(Address address) { - checkState(isMarried()); checkArgument(address.isP2SHAddress()); for (Map.Entry entry : currentAddresses.entrySet()) { if (entry.getValue() != null && entry.getValue().equals(address)) {