-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rust implementation of the MultiPairingCheck calldata builder #202
Rust implementation of the MultiPairingCheck calldata builder #202
Conversation
I think I reached a good point with this PR. I might have missed some obvious improvements/simplifications though. Please, let me know. |
I also intend to remove file test_mpc.py from the merge. It has been useful but in the end it can be removed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good Job.
We can indeed optimize and clean here and there but overall it's good and it's better to move forward.
On top of the suggestions on a file-to-file basis and fixing conflicts with main, please make sure the wasm binding handles panics caused by rust asserts
gracefully for the following cases (similarly to the msm calldata builder with the Result
usage)
- Points are not on curve // deserialization of bigints fails
- Parameters are stupids (n_fixed_g2 > len(pairs))
- Mpc final result is != Polynomial::One. In that case return something " pairing check is not == 1 " .
hydra/garaga/starknet/tests_and_calldata_generators/test_mpc.py
Outdated
Show resolved
Hide resolved
…small adjustments
All requests resolved @feltroidprime, please check it out. Thanks |
Pull Request type
Please check the type of change your PR introduces:
Issue Number: #191
Does this introduce a breaking change?