3
0
mirror of https://github.com/Qortal/altcoinj.git synced 2025-02-19 05:35:49 +00:00

allow unmarried chains to have P2SH addresses

This commit is contained in:
Devrandom 2015-07-17 14:44:01 -07:00 committed by Andreas Schildbach
parent fa7af642ee
commit 041b51f8e6
2 changed files with 1 additions and 3 deletions

View File

@ -1007,7 +1007,7 @@ public class Wallet extends BaseTaggableObject implements BlockChainListener, Pe
} else if (script.isSentToAddress()) { } else if (script.isSentToAddress()) {
byte[] pubkeyHash = script.getPubKeyHash(); byte[] pubkeyHash = script.getPubKeyHash();
keychain.markPubKeyHashAsUsed(pubkeyHash); keychain.markPubKeyHashAsUsed(pubkeyHash);
} else if (script.isPayToScriptHash() && keychain.isMarried()) { } else if (script.isPayToScriptHash()) {
Address a = Address.fromP2SHScript(tx.getParams(), script); Address a = Address.fromP2SHScript(tx.getParams(), script);
keychain.markP2SHAddressAsUsed(a); keychain.markP2SHAddressAsUsed(a);
} }

View File

@ -358,7 +358,6 @@ public class KeyChainGroup implements KeyBag {
} }
public void markP2SHAddressAsUsed(Address address) { public void markP2SHAddressAsUsed(Address address) {
checkState(isMarried());
checkArgument(address.isP2SHAddress()); checkArgument(address.isP2SHAddress());
RedeemData data = findRedeemDataFromScriptHash(address.getHash160()); RedeemData data = findRedeemDataFromScriptHash(address.getHash160());
if (data == null) 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. */ /** If the given P2SH address is "current", advance it to a new one. */
private void maybeMarkCurrentAddressAsUsed(Address address) { private void maybeMarkCurrentAddressAsUsed(Address address) {
checkState(isMarried());
checkArgument(address.isP2SHAddress()); checkArgument(address.isP2SHAddress());
for (Map.Entry<KeyChain.KeyPurpose, Address> entry : currentAddresses.entrySet()) { for (Map.Entry<KeyChain.KeyPurpose, Address> entry : currentAddresses.entrySet()) {
if (entry.getValue() != null && entry.getValue().equals(address)) { if (entry.getValue() != null && entry.getValue().equals(address)) {