Skip to content

[#191] Add ability to store annotation in the key of map, set, and big_map

Moremi Vannak requested to merge rinn7e/#191-specify-annotation-in-map into master

Description

Problem: Due to the way Notes of NTMap, NTSet and NTBigMap are define, there is no way to store annotation information of the key. Various instructions on those types do not do annotation check as well.

Solution: Add ability to store annotation in those types, by changing: NTBigMap :: TypeAnn -> TypeAnn -> Notes v -> Notes ('TBigMap k v) to NTBigMap :: TypeAnn -> Notes k -> Notes v -> Notes ('TBigMap k v). Make sure instructions (GET, UPDATE, and MEM) on those types do proper annotation check as well.

Related issue(s)

Resolves #191 (closed)

Checklist for your Merge Request

Related changes (conditional)

  • Tests (see short guidelines)

    • If I added new functionality, I added tests covering it.
    • If I fixed a bug, I added a regression test to prevent the bug from silently reappearing again.
  • Documentation

    • I checked whether I should update the docs and did so if necessary:
    • I updated changelog files of all affected packages released to Hackage if my changes are externally visible.

Stylistic guide (mandatory)

Edited by Moremi Vannak

Merge request reports