@@ -22,19 +22,7 @@ static bool HaveKeys(const std::vector<valtype>& pubkeys, const CKeyStore& keyst
2222 return true ;
2323}
2424
25- isminetype IsMine (const CKeyStore& keystore, const CScript& scriptPubKey, SigVersion sigversion)
26- {
27- bool isInvalid = false ;
28- return IsMine (keystore, scriptPubKey, isInvalid, sigversion);
29- }
30-
31- isminetype IsMine (const CKeyStore& keystore, const CTxDestination& dest, SigVersion sigversion)
32- {
33- CScript script = GetScriptForDestination (dest);
34- return IsMine (keystore, script, sigversion);
35- }
36-
37- isminetype IsMine (const CKeyStore &keystore, const CScript& scriptPubKey, bool & isInvalid, SigVersion sigversion)
25+ static isminetype IsMineInner (const CKeyStore& keystore, const CScript& scriptPubKey, bool & isInvalid, SigVersion sigversion)
3826{
3927 isInvalid = false ;
4028
@@ -70,7 +58,7 @@ isminetype IsMine(const CKeyStore &keystore, const CScript& scriptPubKey, bool&
7058 // This also applies to the P2WSH case.
7159 break ;
7260 }
73- isminetype ret = :: IsMine (keystore, GetScriptForDestination (CKeyID (uint160 (vSolutions[0 ]))), isInvalid, SigVersion::WITNESS_V0);
61+ isminetype ret = IsMineInner (keystore, GetScriptForDestination (CKeyID (uint160 (vSolutions[0 ]))), isInvalid, SigVersion::WITNESS_V0);
7462 if (ret == ISMINE_SPENDABLE || ret == ISMINE_WATCH_SOLVABLE || (ret == ISMINE_NO && isInvalid))
7563 return ret;
7664 break ;
@@ -92,7 +80,7 @@ isminetype IsMine(const CKeyStore &keystore, const CScript& scriptPubKey, bool&
9280 CScriptID scriptID = CScriptID (uint160 (vSolutions[0 ]));
9381 CScript subscript;
9482 if (keystore.GetCScript (scriptID, subscript)) {
95- isminetype ret = IsMine (keystore, subscript, isInvalid);
83+ isminetype ret = IsMineInner (keystore, subscript, isInvalid, SigVersion::BASE );
9684 if (ret == ISMINE_SPENDABLE || ret == ISMINE_WATCH_SOLVABLE || (ret == ISMINE_NO && isInvalid))
9785 return ret;
9886 }
@@ -108,7 +96,7 @@ isminetype IsMine(const CKeyStore &keystore, const CScript& scriptPubKey, bool&
10896 CScriptID scriptID = CScriptID (hash);
10997 CScript subscript;
11098 if (keystore.GetCScript (scriptID, subscript)) {
111- isminetype ret = IsMine (keystore, subscript, isInvalid, SigVersion::WITNESS_V0);
99+ isminetype ret = IsMineInner (keystore, subscript, isInvalid, SigVersion::WITNESS_V0);
112100 if (ret == ISMINE_SPENDABLE || ret == ISMINE_WATCH_SOLVABLE || (ret == ISMINE_NO && isInvalid))
113101 return ret;
114102 }
@@ -144,3 +132,20 @@ isminetype IsMine(const CKeyStore &keystore, const CScript& scriptPubKey, bool&
144132 }
145133 return ISMINE_NO;
146134}
135+
136+ isminetype IsMine (const CKeyStore& keystore, const CScript& scriptPubKey, bool & isInvalid)
137+ {
138+ return IsMineInner (keystore, scriptPubKey, isInvalid, SigVersion::BASE);
139+ }
140+
141+ isminetype IsMine (const CKeyStore& keystore, const CScript& scriptPubKey)
142+ {
143+ bool isInvalid = false ;
144+ return IsMine (keystore, scriptPubKey, isInvalid);
145+ }
146+
147+ isminetype IsMine (const CKeyStore& keystore, const CTxDestination& dest)
148+ {
149+ CScript script = GetScriptForDestination (dest);
150+ return IsMine (keystore, script);
151+ }
0 commit comments