public SchnorrSignature(byte[] bytes) { if (bytes == null) { throw new ArgumentNullException(nameof(bytes)); } if (bytes.Length != 64) { throw new ArgumentException(paramName: nameof(bytes), message: "Invalid schnorr signature length."); } #if HAS_SPAN if (!Secp256k1.SecpSchnorrSignature.TryCreate(bytes, out var s)) { throw new ArgumentException(paramName: nameof(bytes), message: "Invalid schnorr signature."); } secpShnorr = s; #else R = new BigInteger(1, bytes, 0, 32); S = new BigInteger(1, bytes, 32, 32); #endif }
internal SchnorrSignature(Secp256k1.SecpSchnorrSignature secpShnorr) { this.secpShnorr = secpShnorr; }