forked from ZcashFoundation/zebra
-
Notifications
You must be signed in to change notification settings - Fork 0
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
Initial Tx V6 support #3
Draft
PaulLaux
wants to merge
40
commits into
zsa1
Choose a base branch
from
tx_v6_update
base: zsa1
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…nsaction methods, fix compilation errors
This commit introduces the initial support for V6 transactions, which include support for Zcash Shielded Assets (ZSA) features, such as burn and issuance. The changes encompass the necessary code adjustments and implementations to enable V6 transactions with these features. Additional testing and further refinements will follow.
…Note directly in arbitrary.rs + other minor changes
… it instead of HAS_BURN etc.
…the last version of the main branch)
…n to OrchardVariant
… Cargo.toml for now to resolve cargo conflict with orchard_zsa
…ts field as copies instead of refs, for clarity and simplicity
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
This pull request aims to implement the Transaction V6 format as specified in ZIP 230 (https://qed-it.github.io/zips/zip-0230), enabling support for Zcash Shielded Assets (ZSA) features, such as burn and issuance.
This is an early PR to have a discussion around the proposed structure and the way forward.
The main objective is to have an agreement about extending the
ShieldedData
struct:PR Author Checklist
Check before marking the PR as ready for review:
For significant changes:
Specifications
This PR focuses on structural changes in zebra-chain to accommodate the future implementation of the Zcash Transaction Version 6 format. Serialization/deserialization for V6 has not been implemented in this iteration.
Complex Code or Requirements
No significant changes to concurrency, unsafe code, or complex consensus rules have been introduced.
Solution
tx-v6
Rust feature flag to enable conditional compilationTesting
Unit tests have been updated to support the generic ShieldedData and validate the behavior of both V5 and V6 transactions. While new tests specific to V6 have not been added at this stage, existing tests ensure compatibility with V5 transactions.
Review
This PR is not blocking any other work. Reviewers are invited to verify that the scope aligns with the ticket, tests cover the PR's motivation, and any potential blockers have been addressed.
Reviewer Checklist
Check before approving the PR:
PR blockers can be dealt with in new tickets or PRs.
Follow Up Work
The next steps may include implementing V6 serialization/deserialization and adding specific tests for V6 transactions.