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

Replace mod redjubjub by pub use redjubjub_zebra as redjubjub #183

Closed
hdevalence opened this issue Dec 9, 2019 · 2 comments
Closed

Replace mod redjubjub by pub use redjubjub_zebra as redjubjub #183

hdevalence opened this issue Dec 9, 2019 · 2 comments

Comments

@hdevalence
Copy link
Contributor

We needed a RedJubjub implementation for use in Zebra (cf ZcashFoundation/zebra#125), so I made a small, mostly self-contained one for that purpose using the new version of the jubjub crate. It's not yet on crates.io just because we didn't publish it yet; it's otherwise functionally complete. One nice thing about its API is that unlike the existing redjubjub implementation, it enforces the BindingSig/SpendAuthSig distinction at the type level.

I think that it would integrate nicely into zcash_primitives, replacing mod redjubjub; with a re-export pub use redjubjub_zebra as redjubjub;, and I would be happy to prepare such a PR, but because it requires propagating type changes through zcash_primitives, I wanted to check first rather than doing work that doesn't fit with future plans for librustzcash.

This would supersede #179.

@str4d
Copy link
Contributor

str4d commented Dec 10, 2019

Eventually yes, this seems reasonable. However, zcash_primitives et al don't yet use the jubjub crate (it's the next step in the refactor), and I suspect it will be more complicated to try and pull this in beforehand. You're welcome to try though - it might be that the wrappers around redjubjub to map from jubjub to zcash_primitives::jubjub aren't too terrible.

Additionally, we'll be vendoring jubjub inside our codebase while doing the refactor, so that we can adapt jubjub's API as necessary while we go (in particular to end up with jubjub implementing the ff and group traits, which themselves will be adapted to more closely match jubjub's API), which probably means vendoring redjubjub as well.

@str4d
Copy link
Contributor

str4d commented Nov 30, 2023

Instead of a re-export, we'll just drop the redjubjub module entirely (#581).

@str4d str4d closed this as completed Nov 30, 2023
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

No branches or pull requests

2 participants