diff --git a/src/policy/policy.cpp b/src/policy/policy.cpp index 98d853849..04bcca543 100644 --- a/src/policy/policy.cpp +++ b/src/policy/policy.cpp @@ -168,7 +168,7 @@ bool AreInputsStandard(const CTransaction& tx, const CCoinsViewCache& mapInputs) std::vector > vSolutions; txnouttype whichType; // get the scriptPubKey corresponding to this input: - if (!Solver(prev.scriptPubKey, whichType, vSolutions)) + if (!Solver(StripClaimScriptPrefix(prev.scriptPubKey), whichType, vSolutions)) return false; if (whichType == TX_SCRIPTHASH) diff --git a/src/script/sign.cpp b/src/script/sign.cpp index b6fb4a2ef..b0258f7a3 100644 --- a/src/script/sign.cpp +++ b/src/script/sign.cpp @@ -102,7 +102,7 @@ static bool SignStep(const SigningProvider& provider, const BaseSignatureCreator std::vector sig; std::vector vSolutions; - if (!Solver(scriptPubKey, whichTypeRet, vSolutions)) + if (!Solver(StripClaimScriptPrefix(scriptPubKey), whichTypeRet, vSolutions)) return false; switch (whichTypeRet) @@ -184,7 +184,7 @@ bool ProduceSignature(const SigningProvider& provider, const BaseSignatureCreato std::vector result; txnouttype whichType; - bool solved = SignStep(provider, creator, StripClaimScriptPrefix(fromPubKey), result, whichType, SigVersion::BASE, sigdata); + bool solved = SignStep(provider, creator, fromPubKey, result, whichType, SigVersion::BASE, sigdata); bool P2SH = false; CScript subscript; sigdata.scriptWitness.stack.clear();