Skip to content

Step3: Add initial Transaction V6 support to Zebra (currently copies V5 behavior)#9

Closed
dmidem wants to merge 10 commits into
switch-to-zsa-crates-nu6from
switch-to-zsa-crates-nu6-txv6
Closed

Step3: Add initial Transaction V6 support to Zebra (currently copies V5 behavior)#9
dmidem wants to merge 10 commits into
switch-to-zsa-crates-nu6from
switch-to-zsa-crates-nu6-txv6

Conversation

@dmidem
Copy link
Copy Markdown
Collaborator

@dmidem dmidem commented Aug 29, 2024

This PR introduces initial support for Transaction version 6 (Tx V6) in the Zebra codebase as part of the broader effort to add ZSA (Zcash Shielded Assets) support.

Key changes

  • Added a new V6 variant to the Transaction enum in the zebra-chain crate, currently replicating the behavior of V5.
  • Updated relevant code paths across the project to handle the new V6 variant, ensuring basic compatibility.
  • Tx V6 currently functions as a copy of Tx V5 (including tests); its behavior will be updated in future PRs to reflect the true V6 specification, incorporating ZSA-specific features and changes.
  • Placeholder/dummy values are used for activation height, group ID, etc., which will be replaced with proper values in future updates.

Notes

  • This implementation provides a foundational structure for Tx V6 but does not yet include ZSA-specific features, new transaction structures, or detailed serialization/deserialization changes.
  • Future work will focus on completing Tx V6 support with ZSA-specific elements, proper configuration values, and full integration into the consensus layer.

Next steps

  • Address any FIXME comments in the code.
  • Convert zebra-chain::orchard::ShieldedData struct to be a generic that supports both V5 and V6.
  • Implement serialization/deserialization for V6 (previous work from the /tx_v6_with_ser_1.8.0 branch can be utilized).
  • Update Tx V6 to perform its intended behaviors distinct from V5 in subsequent PRs.
  • Implement verification processes for Tx V6 transactions.
  • Add tests for Tx V6 transactions.

dmidem added 10 commits August 28, 2024 18:43
This commit introduces basic support for Transaction version 6 (Tx V6). This initial implementation treats Tx V6
as a simple copy of Tx V5, without yet integrating ZSA-specific features or the new transaction structure.

- Added a new V6 variant to the Transaction enum in the zebra-chain crate.
- Updated relevant code to handle the new V6 variant.

Note: Tests and additional adjustments are still pending, and will be addressed in subsequent commits.
@dmidem dmidem changed the title Add initial Transaction V6 support to Zebra (currently copies V5 behavior) Step3: Add initial Transaction V6 support to Zebra (currently copies V5 behavior) Oct 17, 2024
@dmidem dmidem deleted the branch switch-to-zsa-crates-nu6 October 17, 2024 07:55
@dmidem dmidem closed this Oct 17, 2024
@dmidem dmidem deleted the switch-to-zsa-crates-nu6-txv6 branch October 17, 2024 07:55
@dmidem
Copy link
Copy Markdown
Collaborator Author

dmidem commented Oct 17, 2024

Closed in favour of #16 due to the branch renaming.

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 this pull request may close these issues.

1 participant