Skip to content
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

Update arkworks dependencies #207

Merged
merged 88 commits into from
Mar 22, 2023
Merged

Update arkworks dependencies #207

merged 88 commits into from
Mar 22, 2023

Conversation

tessico
Copy link
Contributor

@tessico tessico commented Mar 1, 2023

Description

Pay special attention to:

  • the few TODOs I left
  • usage of Projective/Affine representation
  • (de)serialization: compressed/uncompressed (flags are sometimes ignored) & checked/unchecked
  • creation of cosets for (i)FFTs

closes: #45


Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

  • Targeted PR against correct branch (main)
  • Linked to GitHub issue with discussion and accepted design OR have an explanation in the PR that describes this work.
  • Wrote unit tests
  • Updated relevant documentation in the code
  • Added a relevant changelog entry to the Pending section in CHANGELOG.md
  • Re-reviewed Files changed in the GitHub PR explorer

Fr, G1Projective, G2Projective, Fqk

move pairing imports and associated traits


pairing stuff
`short_weierstrass_jacobian` → `short_weierstrass` `twisted_edwards_extend` → `twisted_edwards`
no longer under `group` submodule
ark-serialize work on bls sigs


ark-serialization for aead structs


use the new ark-serialize interface in `to_bytes!` macro


remove mistaken serde import
group/projective rename
use the inner value on PairingOutput for checking if ==1
@tessico tessico marked this pull request as ready for review March 3, 2023 10:45
@tessico tessico requested a review from a team March 3, 2023 10:45
Copy link
Contributor

@mrain mrain left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interestingly, for serialization, arkworks currently does the same whether it's compressed/uncompreseed or checked/unchecked.

mrain
mrain previously approved these changes Mar 20, 2023
@@ -100,7 +100,7 @@ where
.chunks_exact(2)
.map(|chunk| {
if chunk.len() == 2 {
Commitment(Affine::new(chunk[0], chunk[1], false))
Copy link
Contributor

@alxiong alxiong Mar 21, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if we should use this constructor or Affine::new_unchecked ( cuz the former include is_on_curve and is_in_correct_subgroup by default)

(same for other changes in this commit)

alxiong
alxiong previously approved these changes Mar 21, 2023
Copy link
Contributor

@alxiong alxiong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also gone through it. LGTM! 🚀

Again, really appreciate the work Marti @tessico

@mrain mrain dismissed stale reviews from alxiong and themself via 1c5ac07 March 22, 2023 09:29
@alxiong alxiong merged commit 1a0f065 into main Mar 22, 2023
@alxiong alxiong deleted the update-arkworks branch March 22, 2023 15:28
@tessico
Copy link
Contributor Author

tessico commented Mar 22, 2023

I'm glad to see this merged! Just saw that since EspressoSystems/tagged-base64#47 hasn't been merged and tagged yet, the master here now depends on a branch of tagged-base64, which probably isn't ideal for long term, sth to keep in mind :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

sync up with arkwork's future release 0.4.0
3 participants