Skip to content

Conversation

@dmidem
Copy link
Collaborator

@dmidem dmidem commented Dec 3, 2025

Switch Orchard ShieldedData to the ZIP 230 action-group layout so V6 transactions can carry multiple Orchard action groups instead of a single flat section.

Flags, shared anchor, burn data, proof, actions, and the per–action-group expiry height now live inside an ActionGroup structure. ShieldedData now holds a non-empty list of action groups, plus the shared value balance and binding signature. Transaction serialization / deserialization and Orchard-related callers are updated to use this layout.

By default, serialization asserts that there is exactly one action group, so behaviour for a single action group remains equivalent to the previous layout. Real multi–action-group support in the serialization is gated behind the new zsa-swap feature flag. This PR is mainly structural, to match the V6 format and prepare for swaps and other multiple–action-group use cases.

@dmidem dmidem added the swaps label Dec 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant