toJson method
Wire form: payload fields first, then the envelope keys — v/id/
op are RESERVED: a payload field reusing one is shadowed on the
wire, never allowed to corrupt the envelope.
Implementation
Map<String, dynamic> toJson() => {
...fields,
'v': bridgeProtocolVersion,
'id': id,
'op': op,
};