BREAKING!
Before: The message format for private transactions included separate
fields for private transaction state identifiers such as commitments
and nullifiers.
After: The commitments/nullifiers/ciphertexts are bound in an Action
struct, likewise for public state-bearing messages.
Mitigation: assume incoming messages are in a newly-specified format.