From 01daaf581546050a2da02c1881f026c3f9e0858f Mon Sep 17 00:00:00 2001 From: Andreas Schildbach Date: Fri, 1 Feb 2019 16:10:07 +0100 Subject: [PATCH] TransactionOutput: Fix incomplete isMine() implementation. --- .../java/org/bitcoinj/core/TransactionOutput.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/core/src/main/java/org/bitcoinj/core/TransactionOutput.java b/core/src/main/java/org/bitcoinj/core/TransactionOutput.java index 8dcf7924..f16f4919 100644 --- a/core/src/main/java/org/bitcoinj/core/TransactionOutput.java +++ b/core/src/main/java/org/bitcoinj/core/TransactionOutput.java @@ -301,14 +301,14 @@ public class TransactionOutput extends ChildMessage { public boolean isMine(TransactionBag transactionBag) { try { Script script = getScriptPubKey(); - if (ScriptPattern.isPayToPubKey(script)) { + if (ScriptPattern.isPayToPubKey(script)) return transactionBag.isPubKeyMine(ScriptPattern.extractKeyFromPayToPubKey(script)); - } if (ScriptPattern.isPayToScriptHash(script)) { + else if (ScriptPattern.isPayToScriptHash(script)) return transactionBag.isPayToScriptHashMine(ScriptPattern.extractHashFromPayToScriptHash(script)); - } else { - byte[] pubkeyHash = script.getPubKeyHash(); - return transactionBag.isPubKeyHashMine(pubkeyHash); - } + else if (ScriptPattern.isPayToPubKeyHash(script)) + return transactionBag.isPubKeyHashMine(ScriptPattern.extractHashFromPayToPubKeyHash(script)); + else + return false; } catch (ScriptException e) { // Just means we didn't understand the output of this transaction: ignore it. log.debug("Could not parse tx {} output script: {}", parent != null ? parent.getHash() : "(no parent)", e.toString());