Dear Zcash community,
We’d like to share with you our update on what we have been working on towards getting ZSAs ready for NU7
ZIPs
- We opened a new pull request (PR#991) to the
zcash/zips
repository to the movement of the burn fields into the Action Groups in the V6 transaction format. We have received the green light from the ZIP Editors for this change. We have also responded to all current comments on this PR. - Note that the PR targets the draft PR#987 that has been opened by the ZIP Editors to create a new ZIP for the updated SIGHASH computation, instead of the
main
branch. This is because it causes less redundancy to make the changes on top of this branch.
Changes to the orchard
crate
- As mentioned in our previous update, the PCZT changes required various updates to allow support in the OrchardZSA protocol. We completed the support for the PCZT changes (in PR#143).
- We also updated our implementation to reflect the changes to the ZIPs in PR#975 (replacing the asset description with a hash) in PR#150.
Changes to the halo2
and sinsemilla
crates
- We have pulled upstream changes to the
halo2
crate and made them compatible with our fork (in PR#38). These changes mainly correspond to the shift of code fromhalo2_gadgets
into separatesinsemilla
andhalo2_poseidon
crates. - We have also submitted an upstream pull request (PR#2) to the new
sinsemilla
crate providing the changes needed to support the OrchardZSA protocol.
Changes to the librustzcash
crate
- We have propagated the changes mentioned in the updates to the
orchard
crate to librustzcash (such as PR#103). - We have also made the changes to support the move of the burn fields into the Action Groups (as in the ZIPs PR#991).
Changes to the Python reference implementation
- We updated the
zcash_test_vectors
repository to generate the test vectors for the changes in PR#150 of theorchard
crate (the move from the asset description string to an asset description hash). - We are in the process of merging the upstream changes that were made to remove the use of the std library in the generated Rust vectors.
Zebra Node
- Our development of the asset supply and state management functionality in Zebra is progressing.
- We have prepared the changes needed for the move to Action Groups in this crate as well. These include both serialization and consensus changes. This can be seen in PR#42 and PR#46.
Updates to zcash_tx_tool
- We have deployed a CI to the repository that will confirm the usage of a compatible Zebra version, helping automate our updates better.
- We are creating ways to allow a user to more easily create their own scenarios for testing, this is in review at present.
PRs ready for review
- We have submitted PR#823 to the
halo2
repository and PR#429 to theorchard
repository to support the halo2 gadget changes, as described in the previous update. We will be submitting further PRs after the initial review of this PR, since they build on this base. - We also have the suggested changes to the ZIPs for the V6 serialization format open for discussion in PR#991 of the
zips
repository. - We have opened PR#2 to the
sinsemilla
crate for changes needed to support OrchardZSA in that repository.
Best,
The QEDIT Team.