Follow-up from "Proto: Fix gas accounting for deserialization of Micheline in operations"
The following discussion from !3930 (merged) should be addressed:
-
@igarnier started a discussion: Processing this as a followup issue: It is possible to simplify the
precheck
and remove the statefulness by relaxing the notion of valid operation to 'operation that can pay fees' from the current 'operation that can pay fees AND whose parameters deserialize'. Using relaxed semantics, it would be enough to check that there's enough gas to deserialize -- without performing deserialization.An issue is that (iiuc) JSON
data-encoding
fails ungracefully on operations whose parameters do not deserialize