#ifndef SECP256K1_SCHNORRSIG_H #define SECP256K1_SCHNORRSIG_H #include "secp256k1.h" #include "extrakeys.h" /** This module implements a variant of Schnorr signatures compliant with * Bitcoin Improvement Proposal 340 "Schnorr Signatures for secp256k1" * (https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki). */ /** Verify a Schnorr signature. * * Returns: 1: correct signature * 0: incorrect signature * In: sig64: pointer to the 64-byte signature to verify. * msg: the message being verified. Can only be NULL if msglen is 0. * msglen: length of the message * pubkey: pointer to an x-only public key to verify with (cannot be NULL) */ static SECP256K1_WARN_UNUSED_RESULT int secp256k1_schnorrsig_verify( const unsigned char *sig64, const unsigned char *msg, size_t msglen, const secp256k1_xonly_pubkey *pubkey ) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(4); #endif /* SCHNORRSIG_H */