# Functions
ChallengeHash returns the value the signer must use to demonstrate knowledge of the secret key
NB: for parity with the on-chain hash, it's important that public and r marshall to the big-endian x ordinate, followed by a byte which is 0 if the y ordinate is even, 1 if it's odd.
NewSignature allocates space for a Signature, and returns it.
Sign creates a signature from a msg and a private key.
ValidSignature(s) is true iff s.Signature represents an element of secp256k1.
Verify verifies the given Schnorr signature.