MCPcopy Create free account
hub / github.com/ElementsProject/elements / SimpleSignatureCreator

Class SimpleSignatureCreator

src/script/generic.hpp:43–70  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41};
42
43class SimpleSignatureCreator : public BaseSignatureCreator
44{
45 SimpleSignatureChecker checker;
46 bool sighash_byte;
47
48public:
49 SimpleSignatureCreator(const uint256& hashIn, bool sighash_byte_in) : checker(hashIn, sighash_byte_in), sighash_byte(sighash_byte_in) {};
50 const BaseSignatureChecker& Checker() const override { return checker; }
51 bool CreateSig(const SigningProvider& provider, std::vector<unsigned char>& vchSig, const CKeyID& keyid, const CScript& scriptCode, SigVersion sigversion, unsigned int flags) const override
52 {
53 CKey key;
54 if (!provider.GetKey(keyid, key))
55 return false;
56 if (!key.Sign(checker.hash, vchSig)) {
57 return false;
58 }
59 // We only support sighash all for malleability reasons(it is not committed in sighash)
60 if (sighash_byte) {
61 vchSig.push_back(SIGHASH_ALL);
62 }
63 return true;
64 }
65 // ELEMENTS: for now we do not support Schnorr signing in block headers
66 bool CreateSchnorrSig(const SigningProvider& provider, std::vector<unsigned char>& sig, const XOnlyPubKey& pubkey, const uint256* leaf_hash, const uint256* merkle_root, SigVersion sigversion) const override
67 {
68 return false;
69 }
70};
71
72template<typename T>
73bool GenericVerifyScript(const CScript& scriptSig, const CScriptWitness& witness, const CScript& scriptPubKey, unsigned int flags, const T& data)

Callers 1

GenericSignScriptFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected