diff --git a/src/rpc/mining.cpp b/src/rpc/mining.cpp index 9ad296d6a7..1320899463 100644 --- a/src/rpc/mining.cpp +++ b/src/rpc/mining.cpp @@ -1032,7 +1032,7 @@ UniValue combineblocksigs(const JSONRPCRequest& request) } // Finalizes the signatures, has no access to keys - ProduceSignature(keystore, signature_creator, block.proof.challenge, sig_data, STANDARD_SCRIPT_VERIFY_FLAGS|SCRIPT_NO_SIGHASH_BYTE); + ProduceSignature(keystore, signature_creator, block.proof.challenge, sig_data, SCRIPT_NO_SIGHASH_BYTE); block.proof.solution = sig_data.scriptSig; CDataStream ssBlock(SER_NETWORK, PROTOCOL_VERSION | RPCSerializationFlags()); diff --git a/src/script/sign.cpp b/src/script/sign.cpp index 1a89d23dd7..4f646f89a2 100644 --- a/src/script/sign.cpp +++ b/src/script/sign.cpp @@ -182,7 +182,7 @@ static CScript PushAll(const std::vector& values) return result; } -bool ProduceSignature(const SigningProvider& provider, const BaseSignatureCreator& creator, const CScript& fromPubKey, SignatureData& sigdata, unsigned int flags) +bool ProduceSignature(const SigningProvider& provider, const BaseSignatureCreator& creator, const CScript& fromPubKey, SignatureData& sigdata, unsigned int additional_flags) { if (sigdata.complete) return true; @@ -234,7 +234,7 @@ bool ProduceSignature(const SigningProvider& provider, const BaseSignatureCreato sigdata.scriptSig = PushAll(result); // Test solution - sigdata.complete = solved && VerifyScript(sigdata.scriptSig, fromPubKey, &sigdata.scriptWitness, flags, creator.Checker()); + sigdata.complete = solved && VerifyScript(sigdata.scriptSig, fromPubKey, &sigdata.scriptWitness, STANDARD_SCRIPT_VERIFY_FLAGS|additional_flags, creator.Checker()); return sigdata.complete; } diff --git a/src/script/sign.h b/src/script/sign.h index 9e2c3dbc88..32b6ce3c01 100644 --- a/src/script/sign.h +++ b/src/script/sign.h @@ -681,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, unsigned int flags = STANDARD_SCRIPT_VERIFY_FLAGS); +bool ProduceSignature(const SigningProvider& provider, const BaseSignatureCreator& creator, const CScript& scriptPubKey, SignatureData& sigdata, unsigned int additional_flags=0); /** 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);