bitcoin-core / secp256k1

Optimized C library for EC operations on curve secp256k1
MIT License
2.1k stars 1.01k forks source link

Human-readable error messages #897

Open real-or-random opened 3 years ago

real-or-random commented 3 years ago

https://github.com/bitcoin-core/secp256k1/issues/573 and a recent discussion on IRC show that it would be nice to have human-readable messages in some ARG_CHECK cases, e.g., when the context was created with the wrong flags.

[libsecp256k1] illegal argument: secp256k1_ecmult_gen_context_is_built(&ctx->ecmult_ctx) is not exactly helpful to the user, and passing the wrong context is a likely mistake, not only for new users. The same is true for example for !secp256k1_fe_is_zero(&ge->x) (in pubkey_load).

I believe for most ARG_CHECKs, it's not that big of an issue because they're of the form prealloc != NULL and this is easy to parse.

memestylz commented 3 years ago

573 and a recent discussion on IRC show that it would be nice to have human-readable messages in some ARG_CHECK cases, e.g., when the context was created with the wrong flags.

[libsecp256k1] illegal argument: secp256k1_ecmult_gen_context_is_built(&ctx->ecmult_ctx) is not exactly helpful to the user, and passing the wrong context is a likely mistake, not only for new users. The same is true for example for !secp256k1_fe_is_zero(&ge->x) (in pubkey_load).

I believe for most ARG_CHECKs, it's not that big of an issue because they're of the form prealloc != NULL and this is easy to parse.

Did you guys get everything you need