@@ -226,7 +226,7 @@ SECP256K1_API secp256k1_context* secp256k1_context_create(
226226 * memory allocation entirely, see the functions in secp256k1_preallocated.h.
227227 *
228228 * Returns: a newly created context object.
229- * Args: ctx: an existing context to copy (cannot be NULL)
229+ * Args: ctx: an existing context to copy
230230 */
231231SECP256K1_API secp256k1_context * secp256k1_context_clone (
232232 const secp256k1_context * ctx
@@ -278,11 +278,11 @@ SECP256K1_API void secp256k1_context_destroy(
278278 * fails. In this case, the corresponding default handler will be called with
279279 * the data pointer argument set to NULL.
280280 *
281- * Args: ctx: an existing context object (cannot be NULL)
281+ * Args: ctx: an existing context object.
282282 * In: fun: a pointer to a function to call when an illegal argument is
283283 * passed to the API, taking a message and an opaque pointer.
284284 * (NULL restores the default handler.)
285- * data: the opaque pointer to pass to fun above.
285+ * data: the opaque pointer to pass to fun above, must be NULL for the default handler .
286286 *
287287 * See also secp256k1_context_set_error_callback.
288288 */
@@ -302,12 +302,12 @@ SECP256K1_API void secp256k1_context_set_illegal_callback(
302302 * for that). After this callback returns, anything may happen, including
303303 * crashing.
304304 *
305- * Args: ctx: an existing context object (cannot be NULL)
305+ * Args: ctx: an existing context object.
306306 * In: fun: a pointer to a function to call when an internal error occurs,
307307 * taking a message and an opaque pointer (NULL restores the
308308 * default handler, see secp256k1_context_set_illegal_callback
309309 * for details).
310- * data: the opaque pointer to pass to fun above.
310+ * data: the opaque pointer to pass to fun above, must be NULL for the default handler .
311311 *
312312 * See also secp256k1_context_set_illegal_callback.
313313 */
@@ -320,7 +320,7 @@ SECP256K1_API void secp256k1_context_set_error_callback(
320320/** Create a secp256k1 scratch space object.
321321 *
322322 * Returns: a newly created scratch space.
323- * Args: ctx: an existing context object (cannot be NULL)
323+ * Args: ctx: an existing context object.
324324 * In: size: amount of memory to be available as scratch space. Some extra
325325 * (<100 bytes) will be allocated for extra accounting.
326326 */
@@ -480,16 +480,16 @@ SECP256K1_API int secp256k1_ecdsa_signature_serialize_compact(
480480 * Returns: 1: correct signature
481481 * 0: incorrect or unparseable signature
482482 * Args: ctx: a secp256k1 context object, initialized for verification.
483- * In: sig: the signature being verified (cannot be NULL)
484- * msghash32: the 32-byte message hash being verified (cannot be NULL) .
483+ * In: sig: the signature being verified.
484+ * msghash32: the 32-byte message hash being verified.
485485 * The verifier must make sure to apply a cryptographic
486486 * hash function to the message by itself and not accept an
487487 * msghash32 value directly. Otherwise, it would be easy to
488488 * create a "valid" signature without knowledge of the
489489 * secret key. See also
490490 * https://bitcoin.stackexchange.com/a/81116/35586 for more
491491 * background on this topic.
492- * pubkey: pointer to an initialized public key to verify with (cannot be NULL)
492+ * pubkey: pointer to an initialized public key to verify with.
493493 *
494494 * To avoid accepting malleable signatures, only ECDSA signatures in lower-S
495495 * form are accepted.
@@ -515,8 +515,7 @@ SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdsa_verify(
515515 * or copy if the input was already normalized. (can be NULL if
516516 * you're only interested in whether the input was already
517517 * normalized).
518- * In: sigin: a pointer to a signature to check/normalize (cannot be NULL,
519- * can be identical to sigout)
518+ * In: sigin: a pointer to a signature to check/normalize (can be identical to sigout)
520519 *
521520 * With ECDSA a third-party can forge a second distinct signature of the same
522521 * message, given a single initial signature, but without knowing the key. This
@@ -568,12 +567,16 @@ SECP256K1_API extern const secp256k1_nonce_function secp256k1_nonce_function_def
568567 *
569568 * Returns: 1: signature created
570569 * 0: the nonce generation function failed, or the secret key was invalid.
571- * Args: ctx: pointer to a context object, initialized for signing (cannot be NULL)
572- * Out: sig: pointer to an array where the signature will be placed (cannot be NULL)
573- * In: msghash32: the 32-byte message hash being signed (cannot be NULL)
574- * seckey: pointer to a 32-byte secret key (cannot be NULL)
575- * noncefp: pointer to a nonce generation function. If NULL, secp256k1_nonce_function_default is used
576- * ndata: pointer to arbitrary data used by the nonce generation function (can be NULL)
570+ * Args: ctx: pointer to a context object, initialized for signing.
571+ * Out: sig: pointer to an array where the signature will be placed.
572+ * In: msghash32: the 32-byte message hash being signed.
573+ * seckey: pointer to a 32-byte secret key.
574+ * noncefp: pointer to a nonce generation function. If NULL,
575+ * secp256k1_nonce_function_default is used.
576+ * ndata: pointer to arbitrary data used by the nonce generation function
577+ * (can be NULL). If it is non-NULL and
578+ * secp256k1_nonce_function_default is used, then ndata must be a
579+ * pointer to 32-bytes of additional data.
577580 *
578581 * The created signature is always in lower-S form. See
579582 * secp256k1_ecdsa_signature_normalize for more details.
@@ -596,8 +599,8 @@ SECP256K1_API int secp256k1_ecdsa_sign(
596599 *
597600 * Returns: 1: secret key is valid
598601 * 0: secret key is invalid
599- * Args: ctx: pointer to a context object (cannot be NULL)
600- * In: seckey: pointer to a 32-byte secret key (cannot be NULL)
602+ * Args: ctx: pointer to a context object.
603+ * In: seckey: pointer to a 32-byte secret key.
601604 */
602605SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_seckey_verify (
603606 const secp256k1_context * ctx ,
@@ -606,11 +609,11 @@ SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_seckey_verify(
606609
607610/** Compute the public key for a secret key.
608611 *
609- * Returns: 1: secret was valid, public key stores
610- * 0: secret was invalid, try again
611- * Args: ctx: pointer to a context object, initialized for signing (cannot be NULL)
612- * Out: pubkey: pointer to the created public key (cannot be NULL)
613- * In: seckey: pointer to a 32-byte secret key (cannot be NULL)
612+ * Returns: 1: secret was valid, public key stores.
613+ * 0: secret was invalid, try again.
614+ * Args: ctx: pointer to a context object, initialized for signing.
615+ * Out: pubkey: pointer to the created public key.
616+ * In: seckey: pointer to a 32-byte secret key.
614617 */
615618SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_create (
616619 const secp256k1_context * ctx ,
@@ -626,8 +629,7 @@ SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_create(
626629 * In/Out: seckey: pointer to the 32-byte secret key to be negated. If the
627630 * secret key is invalid according to
628631 * secp256k1_ec_seckey_verify, this function returns 0 and
629- * seckey will be set to some unspecified value. (cannot be
630- * NULL)
632+ * seckey will be set to some unspecified value.
631633 */
632634SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_seckey_negate (
633635 const secp256k1_context * ctx ,
@@ -645,7 +647,7 @@ SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_negate(
645647 *
646648 * Returns: 1 always
647649 * Args: ctx: pointer to a context object
648- * In/Out: pubkey: pointer to the public key to be negated (cannot be NULL)
650+ * In/Out: pubkey: pointer to the public key to be negated.
649651 */
650652SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_negate (
651653 const secp256k1_context * ctx ,
@@ -657,15 +659,15 @@ SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_negate(
657659 * Returns: 0 if the arguments are invalid or the resulting secret key would be
658660 * invalid (only when the tweak is the negation of the secret key). 1
659661 * otherwise.
660- * Args: ctx: pointer to a context object (cannot be NULL) .
662+ * Args: ctx: pointer to a context object.
661663 * In/Out: seckey: pointer to a 32-byte secret key. If the secret key is
662664 * invalid according to secp256k1_ec_seckey_verify, this
663665 * function returns 0. seckey will be set to some unspecified
664- * value if this function returns 0. (cannot be NULL)
666+ * value if this function returns 0.
665667 * In: tweak32: pointer to a 32-byte tweak. If the tweak is invalid according to
666668 * secp256k1_ec_seckey_verify, this function returns 0. For
667669 * uniformly random 32-byte arrays the chance of being invalid
668- * is negligible (around 1 in 2^128) (cannot be NULL) .
670+ * is negligible (around 1 in 2^128).
669671 */
670672SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_seckey_tweak_add (
671673 const secp256k1_context * ctx ,
@@ -686,14 +688,13 @@ SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_add(
686688 * Returns: 0 if the arguments are invalid or the resulting public key would be
687689 * invalid (only when the tweak is the negation of the corresponding
688690 * secret key). 1 otherwise.
689- * Args: ctx: pointer to a context object initialized for validation
690- * (cannot be NULL).
691+ * Args: ctx: pointer to a context object initialized for validation.
691692 * In/Out: pubkey: pointer to a public key object. pubkey will be set to an
692- * invalid value if this function returns 0 (cannot be NULL) .
693+ * invalid value if this function returns 0.
693694 * In: tweak32: pointer to a 32-byte tweak. If the tweak is invalid according to
694695 * secp256k1_ec_seckey_verify, this function returns 0. For
695696 * uniformly random 32-byte arrays the chance of being invalid
696- * is negligible (around 1 in 2^128) (cannot be NULL) .
697+ * is negligible (around 1 in 2^128).
697698 */
698699SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_tweak_add (
699700 const secp256k1_context * ctx ,
@@ -704,15 +705,15 @@ SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_tweak_add(
704705/** Tweak a secret key by multiplying it by a tweak.
705706 *
706707 * Returns: 0 if the arguments are invalid. 1 otherwise.
707- * Args: ctx: pointer to a context object (cannot be NULL) .
708+ * Args: ctx: pointer to a context object.
708709 * In/Out: seckey: pointer to a 32-byte secret key. If the secret key is
709710 * invalid according to secp256k1_ec_seckey_verify, this
710711 * function returns 0. seckey will be set to some unspecified
711- * value if this function returns 0. (cannot be NULL)
712+ * value if this function returns 0.
712713 * In: tweak32: pointer to a 32-byte tweak. If the tweak is invalid according to
713714 * secp256k1_ec_seckey_verify, this function returns 0. For
714715 * uniformly random 32-byte arrays the chance of being invalid
715- * is negligible (around 1 in 2^128) (cannot be NULL) .
716+ * is negligible (around 1 in 2^128).
716717 */
717718SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_seckey_tweak_mul (
718719 const secp256k1_context * ctx ,
@@ -731,14 +732,13 @@ SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_mul(
731732/** Tweak a public key by multiplying it by a tweak value.
732733 *
733734 * Returns: 0 if the arguments are invalid. 1 otherwise.
734- * Args: ctx: pointer to a context object initialized for validation
735- * (cannot be NULL).
735+ * Args: ctx: pointer to a context object initialized for validation.
736736 * In/Out: pubkey: pointer to a public key object. pubkey will be set to an
737- * invalid value if this function returns 0 (cannot be NULL) .
737+ * invalid value if this function returns 0.
738738 * In: tweak32: pointer to a 32-byte tweak. If the tweak is invalid according to
739739 * secp256k1_ec_seckey_verify, this function returns 0. For
740740 * uniformly random 32-byte arrays the chance of being invalid
741- * is negligible (around 1 in 2^128) (cannot be NULL) .
741+ * is negligible (around 1 in 2^128).
742742 */
743743SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_tweak_mul (
744744 const secp256k1_context * ctx ,
@@ -749,7 +749,7 @@ SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_tweak_mul(
749749/** Updates the context randomization to protect against side-channel leakage.
750750 * Returns: 1: randomization successfully updated or nothing to randomize
751751 * 0: error
752- * Args: ctx: pointer to a context object (cannot be NULL)
752+ * Args: ctx: pointer to a context object.
753753 * In: seed32: pointer to a 32-byte random seed (NULL resets to initial state)
754754 *
755755 * While secp256k1 code is written to be constant-time no matter what secret
@@ -780,18 +780,17 @@ SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_context_randomize(
780780 *
781781 * Returns: 1: the sum of the public keys is valid.
782782 * 0: the sum of the public keys is not valid.
783- * Args: ctx: pointer to a context object
784- * Out: out: pointer to a public key object for placing the resulting public key
785- * (cannot be NULL)
786- * In: ins: pointer to array of pointers to public keys (cannot be NULL)
787- * n: the number of public keys to add together (must be at least 1)
783+ * Args: ctx: pointer to a context object.
784+ * Out: out: pointer to a public key object for placing the resulting public key.
785+ * In: ins: pointer to array of pointers to public keys.
786+ * n: the number of public keys to add together (must be at least 1).
788787 */
789788SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_combine (
790789 const secp256k1_context * ctx ,
791790 secp256k1_pubkey * out ,
792791 const secp256k1_pubkey * const * ins ,
793792 size_t n
794- ) SECP256K1_ARG_NONNULL (2 ) SECP256K1_ARG_NONNULL (3 );
793+ ) SECP256K1_ARG_NONNULL (1 ) SECP256K1_ARG_NONNULL ( 2 ) SECP256K1_ARG_NONNULL (3 );
795794
796795/** Compute a tagged hash as defined in BIP-340.
797796 *
0 commit comments