[#GenericTransactionSignatureChecker-03]
= GenericTransactionSignatureChecker
:mrdocs:

Signature checker that validates against a concrete spending transaction&period;

== Synopsis

Declared in `&lt;script&sol;interpreter&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class T&gt;
class GenericTransactionSignatureChecker
    : public xref:BaseSignatureChecker.adoc[BaseSignatureChecker]
----

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `xref:BaseSignatureChecker.adoc[BaseSignatureChecker]`
| Interface for verifying signatures and time locks encountered during script evaluation&period;
|===

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:GenericTransactionSignatureChecker-03/2constructor-0a.adoc[`GenericTransactionSignatureChecker`]         [.small]#[constructor]#
| Constructors
| xref:GenericTransactionSignatureChecker-03/CheckECDSASignature.adoc[`CheckECDSASignature`]  [.small]#[virtual]#
| Verify an ECDSA signature for this transaction&apos;s input&period;
| xref:GenericTransactionSignatureChecker-03/CheckLockTime.adoc[`CheckLockTime`]  [.small]#[virtual]#
| Check an absolute lock time against this transaction&apos;s input&period;
| xref:GenericTransactionSignatureChecker-03/CheckSchnorrSignature.adoc[`CheckSchnorrSignature`]  [.small]#[virtual]#
| Verify a Schnorr signature for this transaction&apos;s input&period;
| xref:GenericTransactionSignatureChecker-03/CheckSequence.adoc[`CheckSequence`]  [.small]#[virtual]#
| Check a relative lock time against this transaction&apos;s input&period;
|===


== Protected Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:GenericTransactionSignatureChecker-03/VerifyECDSASignature.adoc[`VerifyECDSASignature`]  [.small]#[virtual]#
| Verify a raw ECDSA signature against a public key and precomputed sighash&period;
| xref:GenericTransactionSignatureChecker-03/VerifySchnorrSignature.adoc[`VerifySchnorrSignature`]  [.small]#[virtual]#
| Verify a raw Schnorr signature against an x&hyphen;only public key and precomputed sighash&period;
|===


== Template Parameters

[cols="1,4"]
|===
| Name| Description
| *T*
| The transaction type (CTransaction or CMutableTransaction)&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
