Make sure that all actions properly serialize their request-related fields #514
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.
Some maneuvers in the FinTs protocol (like multi-TAN, which we don't currently support, or VOP, which we're adding support for) require re-submitting the same action later, using an identical request. If the application wants to do this in a separate PHP process (because the maneuver requires interactions with the user, during which the PHP process can't be kept alive), then during the serialization+deserialization roundtrip, we need to ensure that at least those fields survive which are required to construct the request.
While this doesn't happen for all action types in practice (e.g. a simple
GetBalancerequest will never ask for VOP and at least today doesn't ask for a TAN either), this commit implements proper serialization in all actions for consistency (so that if someone forks an action in the future, they don't forget about this).CC @ampaze