ZcashFoundation / zebra

Zcash - Financial Privacy in Rust 🦓
https://zfnd.org/zebra/
Apache License 2.0
410 stars 102 forks source link

Upgrade to NU5 testnet 2 versions of librustzcash, zcash_script, orchard, halo2_proofs #2982

Closed teor2345 closed 2 years ago

teor2345 commented 3 years ago

Motivation

Currently, Zebra and zcash_script depend on a git version of the following shared Zcash crates:

And we depend on pre-NU5 versions of:

We need to update to the NU5 testnet 2 versions of these crates.

Tasks

  1. Wait until the zcashd team releases 4.7.0, with the NU5 testnet 2 versions of librustzcash and orchard

halo2_proofs

Try:

halo2 = { package = "halo2_proofs", version = "=0.1.0-beta.2" }

"and then you only need to focus on the API changes, not renaming the imports everywhere."

See also the changelog for `halo2_proofs 0.1.0-beta.2 for all of the API changes relevant to this upgrade.

(This was a separate ticket before, for reference: #3600)

librustzcash

If https://github.com/zcash/librustzcash/pull/459 got merged:

  1. In the next steps, update zcash_script and Zebra to the latest git commit of zcash/librustzcash/master

If https://github.com/zcash/librustzcash/pull/459 is still open:

  1. Merge zcash/librustzcash/master into ZcashFoundation/librustzcash/download-sprout-params
  2. Tag ZcashFoundation/librustzcash/download-sprout-params as a beta release, so zcash_script and Zebra can depend on it

zcash_script

  1. Upgrade zcash_script to the NU5 testnet 2 orchard and librustzcash, removing the git versions in Cargo.toml
  2. Revert module structure changes if needed: https://github.com/ZcashFoundation/zcash_script/pull/27
  3. Remove the git patches in zcash_script/Cargo.toml
  4. Merge the upgrade and module structure PRs to zcash_script/master
  5. Tag a zcash_script beta release

Zebra

  1. Upgrade Zebra to the NU5 testnet 2 orchard and librustzcash, removing the git versions in Cargo.toml
  2. Upgrade Zebra to the latest version ofzcash_script (git tag)
  3. Remove the exceptions for orchard, librustzcash, and dependencies in deny.toml
  4. Merge the Zebra upgrade PR along with the PR for ticket #3018
mpguerra commented 2 years ago

Hey team! Please add your planning poker estimate with ZenHub @conradoplg @dconnolly @jvff @oxarbitrage @teor2345 @upbqdn