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

Upgrade to rand_core 0.6 #40

Closed
hdevalence opened this issue Feb 2, 2021 · 0 comments · Fixed by #44
Closed

Upgrade to rand_core 0.6 #40

hdevalence opened this issue Feb 2, 2021 · 0 comments · Fixed by #44

Comments

@hdevalence
Copy link
Contributor

There's a new version of the rand_core traits, and it would be great for ecosystem users outside of Zebra to be able to use it. This requires a version of the underlying curve library with support for rand_core 0.6, which is provided by curve25519-dalek-ng 4.0, as in #38.

However, this requires a major version bump, which poses a slight obstacle for the legacy zcash / zip215 split that the crate currently handles by using the 1.x series for the legacy zcash validation rules and the 2.x series for the zip215 rules. This versioning scheme means that there's not a clean way to make breaking changes to the API for legacy zcash validation rules -- at the time, I was expecting that there wouldn't be a need to do that prior to the full deprecation of the legacy rules in the Canopy network upgrade, at which point there's no need to maintain that code.

My sense is that the cleanest thing to do would be to only apply the rand_core bump on the 2.x zip215 series to get a 3.x version, since the primary benefit is for ecosystem users outside of Zebra. The only applications that need the 1.x series with the legacy rules are Zebra and zcashd, and neither have a need to upgrade to the latest rand_core prior to the Canopy upgrade.

This was referenced Mar 29, 2021
@dconnolly dconnolly linked a pull request Mar 30, 2021 that will close this issue
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 a pull request may close this issue.

1 participant