ZenGo-X / curv

Rust language general purpose elliptic curve cryptography.
MIT License
265 stars 111 forks source link

Feature request: serialization in v0.7 #140

Open nskybytskyi opened 3 years ago

nskybytskyi commented 3 years ago

Recently you released curv v0.8, which is a very good thing. Unfortunately, using it comes with certain limitations. In particular, it appears to me, that we won't be able to use v0.8 in our products for a long time to come. The reason behind this is that many of our dependencies (your other libraries) depend on curv v0.7.

I am not sure what are your plans regarding your other libraries that use curv. It appears to me that changing them to support curv v0.8 is a ton of work. Hence I would not expect it to happen any time soon.

However, we would still like to use some of the non-API-breaking changes introduces in v0.8. One prominent example is fixed and improved BigInt serialization. May I therefore ask you to add commit 5ee04005a0e832879ae8917cdc0981a2cbd78d54 (and possibly others related to serialization of Secp256k1{Scalar,Point}) to v0.7?

survived commented 3 years ago

Updating downstream crates is easier than it may seem to be. I would expect most of our libraries (multi-party-ecdsa and its deps) to be updated to use new curv in a few months. So improving curv v0.7 is not priority (unless critical issue appears), but if you want to backport features, PRs are welcome! 🙂