Dear Zcash community,
We’d like to share with you here our update on what we have been working on in the last few weeks.
The orchard crate
-
The ECC performed reviews on our OrchardZSA PR (PR#471). We have discussed the comments with them, and have successfully resolved those comments - progress which can be seen in our internal pull requests. We are in the process of the final cleanup, and responding on the review pointing to the changes made.
Significant changes include:
- Replacing
k256dependency withsecp256k1to be eco-system compatible. - Introduce
zsa-issuancefeature flag - Change (mostly reduce) visibility modifiers for various data structures.
- Various fixes and changes requested by the reviewers.
- Replacing
The Python reference implementation
- We had opened a new PR (PR#112) to upstream to perform some of the changes requested to be separated out into an independent PR in the review of our ZSA changes to the test vectors (PR#108).
- We discussed these changes with str4d, and decided that the formatting changes can be reviewed independently. Therefore, we continue to have PR#112 for the
rustfmtformatting changes, and we have opened PR#114 for the other output format changes we had proposed. These include the addition of thepub(crate)visibility for the Rust test vectors, and some indentations changes that help match it where it is - We have accordingly reverted these formatting changes from our ZSA changes PR#108 and responded to all existing comments on it, so that we can proceed with that review and get feedback - we look forward to further comments!
Changes to the librustzcash crate
- We have made a number of changes to
librustzcashare done to support the OrchardZSA review fixes. These can all be seen here. - We also updated the
librustzcashcrate to account for the updated test vectors after the upstream merge. The test vectors now work with the addition of thezip233Amountto the transaction format. This can be seen in PR#184. - Post OrchardZSA review fixes are in progress.
Zebra
- We have similarly performed various changes in Zebra to support the OrchardZSA review changes. These can be seen here.
- The state management work continues to progress, and we will submit a subsequent PR with those changes post the review of the current PR (PR Link). We have also added this functionality to the demo (PR#89).
- We are continuing to discuss the changes in our pull request (PR#9560) to the upstream repository that covers partial support for ZSAs, via parsing, (de)serialisation and validation of V6 transactions with the Zcash Foundation.
- We have continued syncing with Zebra - v2.4.2 (PR#87, PR#88).
ZIPs
- We opened a minor pull request to fix the specification of the
flagsOrchardencoding, which happened to get removed during an earlier merge of the specification.
Updates to zcash_tx_tool
- Blockchain caching development is in progress - the
tx_toolwill cache the relevant data from the blockchain (block headers and notes) in order to avoid re-sync after shutdown, just like a real blockchain client. Some of the latest changes here can be seen in PR#44. - We have continued with automatic pushes of the latest stable Docker images to the ECR.
- The Docker images are currently being published to ECR at gallery.ecr.aws/j7v0v6n9/tx-tool
ZSA Single node testnet
- The node for the ZSA single node testnet is now feature complete and includes
- Issuance, Transfer, Burn, Finalize (due to the addition of the global state logic)
PRs ready for review
- The ZIPs repository has the minor PR#1159 approved but waiting to be merged by the ZIP Editors.
- The
zcash_test_vectorschanges PR#112 and PR#114 for formatting updates. - The
orchardcrate changes for ZSA are in PR#471. (Review fixes in progress)
Best,
The QEDIT Team.