Proto/Michelson: make entrypoint type abstract
Context
Entrypoints are currently string
s, which should be between 1 and 31 characters long. We had issues in the past on how entrypoints were serialized because we couldn't maintain this invariant.
This MR is based on !3746 (merged) and makes this type private abstract to ensure the invariant.
At first I made it abstract so a few added functions are remains of it: is_default
, compare
, Set/Map
, in_memory_size
, pp
. I can remove them if needed.
I can also make the type abstract, which would basically just require adding a to_string
.
-
Many of these changes were previously written by @rafoo_ in metastatedev/tezos!113 and I shall probably add him as a co-author of most commits.
Prerequisite for #2025 (closed).
Manually testing the MR
CI
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). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rst
for the protocol and the environment, theDevelopment Version
section ofCHANGES.md
for everything else). -
Select suitable reviewers using the Reviewers
field below. -
Select as Assignee
the next person who should take action on that MR
Edited by Mehdi Bouaziz