diff --git a/src/script/ismine.cpp b/src/script/ismine.cpp --- a/src/script/ismine.cpp +++ b/src/script/ismine.cpp @@ -13,14 +13,15 @@ typedef std::vector valtype; -unsigned int HaveKeys(const std::vector &pubkeys, - const CKeyStore &keystore) { - unsigned int nResult = 0; +static bool HaveKeys(const std::vector &pubkeys, + const CKeyStore &keystore) { for (const valtype &pubkey : pubkeys) { CKeyID keyID = CPubKey(pubkey).GetID(); - if (keystore.HaveKey(keyID)) ++nResult; + if (!keystore.HaveKey(keyID)) { + return false; + } } - return nResult; + return true; } isminetype IsMine(const CKeyStore &keystore, const CScript &scriptPubKey) { @@ -84,8 +85,9 @@ std::vector keys(vSolutions.begin() + 1, vSolutions.begin() + vSolutions.size() - 1); - if (HaveKeys(keys, keystore) == keys.size()) + if (HaveKeys(keys, keystore)) { return ISMINE_SPENDABLE; + } break; } }