Draft: Proto/Michelson: separate internal instructions
Context
This request has been subsumed by the ones referenced in the original issue (#2035 (closed)). It is kept opened until all threads have been resolved in the other requests, and will be closed then without being merged.
Internal operations are defined by a new type. As a first step, it borrows the structures from the previous type for operations, but restricted to actual internal operations, i.e. the ones that the interpreter produces (transactions, originations and delegations).
The new type is used in the Apply module that is responsible for actually applying operations.
Then, the internal operations are enriched to carry typed fields, which avoids to unparse and reparse scripts and script parameters.
(Some commits are empty in the sequence. They are used to give indications to reviewers, and will be dropped when the request is ready to be merged.)
Manually testing the MR
Continuous integration.
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide).Existing tests cover the modifications. -
For new features and bug fixes, add an item in the appropriate changelog (No new feature or bug fix.docs/protocols/alpha.rstfor the protocol and the environment, theDevelopment Versionsection ofCHANGES.mdfor everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR