diff options
Diffstat (limited to 'src/script')
-rw-r--r-- | src/script/interpreter.h | 4 | ||||
-rw-r--r-- | src/script/sign.cpp | 5 | ||||
-rw-r--r-- | src/script/sign.h | 2 |
3 files changed, 8 insertions, 3 deletions
diff --git a/src/script/interpreter.h b/src/script/interpreter.h index f91578d684..ba910cc945 100644 --- a/src/script/interpreter.h +++ b/src/script/interpreter.h @@ -307,10 +307,10 @@ using MutableTransactionSignatureChecker = GenericTransactionSignatureChecker<CM class DeferringSignatureChecker : public BaseSignatureChecker { protected: - BaseSignatureChecker& m_checker; + const BaseSignatureChecker& m_checker; public: - DeferringSignatureChecker(BaseSignatureChecker& checker) : m_checker(checker) {} + DeferringSignatureChecker(const BaseSignatureChecker& checker) : m_checker(checker) {} bool CheckECDSASignature(const std::vector<unsigned char>& scriptSig, const std::vector<unsigned char>& vchPubKey, const CScript& scriptCode, SigVersion sigversion) const override { diff --git a/src/script/sign.cpp b/src/script/sign.cpp index 4014ebadbc..5da0d076d8 100644 --- a/src/script/sign.cpp +++ b/src/script/sign.cpp @@ -596,8 +596,11 @@ public: bool CheckECDSASignature(const std::vector<unsigned char>& scriptSig, const std::vector<unsigned char>& vchPubKey, const CScript& scriptCode, SigVersion sigversion) const override { return true; } bool CheckSchnorrSignature(Span<const unsigned char> sig, Span<const unsigned char> pubkey, SigVersion sigversion, ScriptExecutionData& execdata, ScriptError* serror) const override { return true; } }; -const DummySignatureChecker DUMMY_CHECKER; +} + +const BaseSignatureChecker& DUMMY_CHECKER = DummySignatureChecker(); +namespace { class DummySignatureCreator final : public BaseSignatureCreator { private: char m_r_len = 32; diff --git a/src/script/sign.h b/src/script/sign.h index 958d673b9f..813dfe04e3 100644 --- a/src/script/sign.h +++ b/src/script/sign.h @@ -52,6 +52,8 @@ public: 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; }; +/** A signature checker that accepts all signatures */ +extern const BaseSignatureChecker& DUMMY_CHECKER; /** A signature creator that just produces 71-byte empty signatures. */ extern const BaseSignatureCreator& DUMMY_SIGNATURE_CREATOR; /** A signature creator that just produces 72-byte empty signatures. */ |