fixup generic signing

This commit is contained in:
Gregory Sanders 2018-11-13 21:44:26 -05:00
parent 9d383f5a51
commit 2dfd03a701
2 changed files with 4 additions and 3 deletions

View file

@ -177,7 +177,7 @@ static CScript PushAll(const std::vector<valtype>& values)
return result;
}
bool ProduceSignature(const SigningProvider& provider, const BaseSignatureCreator& creator, const CScript& fromPubKey, SignatureData& sigdata)
bool ProduceSignature(const SigningProvider& provider, const BaseSignatureCreator& creator, const CScript& fromPubKey, SignatureData& sigdata, unsigned int flags)
{
if (sigdata.complete) return true;
@ -229,7 +229,7 @@ bool ProduceSignature(const SigningProvider& provider, const BaseSignatureCreato
sigdata.scriptSig = PushAll(result);
// Test solution
sigdata.complete = solved && VerifyScript(sigdata.scriptSig, fromPubKey, &sigdata.scriptWitness, STANDARD_SCRIPT_VERIFY_FLAGS, creator.Checker());
sigdata.complete = solved && VerifyScript(sigdata.scriptSig, fromPubKey, &sigdata.scriptWitness, flags, creator.Checker());
return sigdata.complete;
}

View file

@ -11,6 +11,7 @@
#include <pubkey.h>
#include <script/interpreter.h>
#include <streams.h>
#include <policy/policy.h>
class CKey;
class CKeyID;
@ -680,7 +681,7 @@ struct PartiallySignedTransaction
};
/** Produce a script signature using a generic signature creator. */
bool ProduceSignature(const SigningProvider& provider, const BaseSignatureCreator& creator, const CScript& scriptPubKey, SignatureData& sigdata);
bool ProduceSignature(const SigningProvider& provider, const BaseSignatureCreator& creator, const CScript& scriptPubKey, SignatureData& sigdata, unsigned int flags = STANDARD_SCRIPT_VERIFY_FLAGS);
/** Produce a script signature for a transaction. */
bool SignSignature(const SigningProvider &provider, const CScript& fromPubKey, CMutableTransaction& txTo, unsigned int nIn, const CAmount& amount, int nHashType);