Do not expose SigVersion argument to IsMine
Only IsMine's internal code needs this, as part of a recursion into P2SH and P2WSH scripts. The exposed functions always operate on actual scriptPubKeys and not on redeemScripts or witness scripts. Zcash: Rewrote this commit so that it instead adds an internal SigVersion argument (which we didn't have because it was added to support SegWit logic). Co-authored-by: Jack Grigg <jack@z.cash>
This commit is contained in:
parent
df00e51e3e
commit
030e173d98
|
@ -29,13 +29,7 @@ unsigned int HaveKeys(const vector<valtype>& pubkeys, const CKeyStore& keystore)
|
|||
return nResult;
|
||||
}
|
||||
|
||||
isminetype IsMine(const CKeyStore &keystore, const CTxDestination& dest)
|
||||
{
|
||||
CScript script = GetScriptForDestination(dest);
|
||||
return IsMine(keystore, script);
|
||||
}
|
||||
|
||||
isminetype IsMine(const CKeyStore &keystore, const CScript& scriptPubKey)
|
||||
static isminetype IsMineInner(const CKeyStore& keystore, const CScript& scriptPubKey, SigVersion sigversion)
|
||||
{
|
||||
vector<valtype> vSolutions;
|
||||
txnouttype whichType;
|
||||
|
@ -66,7 +60,7 @@ isminetype IsMine(const CKeyStore &keystore, const CScript& scriptPubKey)
|
|||
CScriptID scriptID = CScriptID(uint160(vSolutions[0]));
|
||||
CScript subscript;
|
||||
if (keystore.GetCScript(scriptID, subscript)) {
|
||||
isminetype ret = IsMine(keystore, subscript);
|
||||
isminetype ret = IsMineInner(keystore, subscript, SigVersion::SIGVERSION_SPROUT);
|
||||
if (ret == ISMINE_SPENDABLE)
|
||||
return ret;
|
||||
}
|
||||
|
@ -94,3 +88,14 @@ isminetype IsMine(const CKeyStore &keystore, const CScript& scriptPubKey)
|
|||
}
|
||||
return ISMINE_NO;
|
||||
}
|
||||
|
||||
isminetype IsMine(const CKeyStore& keystore, const CScript& scriptPubKey)
|
||||
{
|
||||
return IsMineInner(keystore, scriptPubKey, SigVersion::SIGVERSION_SPROUT);
|
||||
}
|
||||
|
||||
isminetype IsMine(const CKeyStore& keystore, const CTxDestination& dest)
|
||||
{
|
||||
CScript script = GetScriptForDestination(dest);
|
||||
return IsMine(keystore, script);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue