Support tickets with implicit accounts
Clarification and motivation
With Mumbai, implicit accounts can receive, store and send tickets to other implicit accounts and originated contracts. In the previous protocols, tickets could only be stored in contract/TORU storage or sent to other contracts/TORUs. With this upgrade, contracts may also send tickets to implicit accounts so that they can store and send to other entities later; or tickets can be exchanged between implicit accounts.
To add some specifics (taken from the corresponding upstream MR):
-
TRANSFER_TOKENS
will accept implicit accounts as destination - implicit accounts now accept
ticket cty
argument on the default entrypoint -
CONTRACT (ticket ...)
will now accept implicit accounts - implicit accounts can parse as
contract (ticket ...)
in Micheline (the MR doesn't explicitly mention Michelson, but I expect it should also work)
Note that many of our typed address types assume that implicit addresses can only accept unit
argument. That has to change.
#929 (closed) may be helpful with this.
Acceptance criteria
- Tickets can be sent to/from implicit accounts in Morley
- Tickets can be sent to/from implicit accounts in Lorentz
Edited by Nikolay Yakimov