Instance Method
isValidSignature(_:publicKey:nonce:for:)
Verifies one signer’s P256K.Schnorr.PartialSignature against this aggregate public key using secp256k1_musig_partial_sig_verify.
- iOS 13.0+
- macCatalyst 13.0+
- macOS 10.15+
- tvOS 13.0+
- visionOS 1.0+
- watchOS 6.0+
func isValidSignature<D>(_ partialSignature: P256K.Schnorr.PartialSignature, publicKey: P256K.Schnorr.PublicKey, nonce: P256K.Schnorr.Nonce, for digest: D) -> Bool where D : Digest
Parameters
-
partialSignature
-
The signer’s P256K.Schnorr.PartialSignature to verify.
-
publicKey
-
The individual signer’s P256K.Schnorr.PublicKey (not the aggregate).
-
nonce
-
The same signer’s public nonce used in this session.
-
digest
-
The message digest that was signed.
Return Value
true if the partial signature is valid for digest under this aggregate key, false otherwise.
Discussion
Partial signature verification is optional in regular MuSig2 sessions — if any partial signature is wrong, the final P256K.MuSig.AggregateSignature will simply fail to verify. Call this method to identify which signer produced an invalid partial signature.