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

Add feature-gated Arkworks compatibility #62

Closed
Tracked by #3526
hdevalence opened this issue Dec 24, 2023 · 4 comments · Fixed by #73
Closed
Tracked by #3526

Add feature-gated Arkworks compatibility #62

hdevalence opened this issue Dec 24, 2023 · 4 comments · Fixed by #73
Assignees

Comments

@hdevalence
Copy link
Member

No description provided.

@hdevalence
Copy link
Member Author

Blocked by #65

@TalDerei TalDerei self-assigned this Dec 28, 2023
@TalDerei
Copy link
Collaborator

TalDerei commented Dec 29, 2023

Unblocked by #66.

@hdevalence Implementing the arkworks PrimeField trait seems to require satisfying many trait bounds. PrimeField further includes type BigInt: BigInteger with even more trait bounds. I thought about using type BigInt = BigInt<N> since an existing BigInt already implements the BigInteger trait, but BigInteger is a smart wrapper around hard-coded u64-bit limbs, which wouldn't work for our context.

I'm wondering what the optimal approach to implementing the PrimeField trait is, and if it's in fact simpler than I suspect?

@hdevalence
Copy link
Member Author

Yes, there are lots of trait bounds. I think it makes sense to start with just one impl — say Fq, u32 — and see about filling that in. For the BigInt bound we can just use the arkworks type. It's not used for operations that are on the critical path so it doesn't have to be fast. I think it's used for stuff like debug impls.

@cronokirby cronokirby removed this from Testnets Jan 11, 2024
@github-project-automation github-project-automation bot moved this to 🗄️ Backlog in Penumbra Jan 11, 2024
@cronokirby cronokirby self-assigned this Jan 11, 2024
@cronokirby cronokirby moved this from 🗄️ Backlog to 🏗 In progress in Penumbra Jan 11, 2024
@cronokirby
Copy link
Contributor

This isn't optional yet though, so not closing quite yet.

@github-project-automation github-project-automation bot moved this from In progress to Done in Penumbra Jan 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants