| 139 | } |
| 140 | |
| 141 | bool CachingTransactionSignatureChecker::VerifySchnorrSignature(Span<const unsigned char> sig, const XOnlyPubKey& pubkey, const uint256& sighash) const |
| 142 | { |
| 143 | uint256 entry; |
| 144 | signatureCache.ComputeEntrySchnorr(entry, sighash, sig, pubkey); |
| 145 | if (signatureCache.Get(entry, !store)) return true; |
| 146 | if (!TransactionSignatureChecker::VerifySchnorrSignature(sig, pubkey, sighash)) return false; |
| 147 | if (store) signatureCache.Set(entry); |
| 148 | return true; |
| 149 | } |
| 150 | |
| 151 | // |
| 152 | // ELEMENTS CACHES |