Refactor Orchard ShieldedData to support multiple action groups #93
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.
Switch Orchard
ShieldedDatato theZIP 230action-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
ActionGroupstructure.ShieldedDatanow 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-swapfeature flag. This PR is mainly structural, to match the V6 format and prepare for swaps and other multiple–action-group use cases.