Add tickets support
Clarification and motivation
See https://tezos.gitlab.io/008/michelson.html#michelsontickets-008.
Note that a major issue with this feature is that values containing ticket
cannot be duplicated, this even includes the map
and big_map
. As a consequence, lambdas pushing non-dupable values are also non-dupable. We need to think
- how to include the new restriction (and whether should we do this)
- and how can we work with tickets now.
getField
,setField
,get
and all methods on top of them won't work on tickets in Lorentz, duplicating a storage containing tickets is also not possible anymore, we have to use primitives from #470 (closed). Whether will tickets work in Indigo at all is also a nice question.
I personally think that the DUP
restriction complicates inclusion of tickets
into any non-small contract too much (i.e. developer cannot write much of the code he used to write), so we should provide a very lightweight support for this feature just in case and hope that no one ever needs it.
Acceptance criteria
-
ticket
type and new instructions to work with tickets are added. - A reasonable non-burdening way to implement the new
DUP
restriction is implemented.
Edited by Konstantin Ivanov