Skip to content

Proto/Michelson: make entrypoint type abstract

Mehdi Bouaziz requested to merge mehdi@private_entrypoint into master

Context

Entrypoints are currently strings, 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, the Development Version section of CHANGES.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

Merge request reports

Loading