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

Method CreateSig

src/script/generic.hpp:51–64  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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 {

Callers

nothing calls this directly

Calls 3

SignMethod · 0.80
GetKeyMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected