The following question has been asked on Telegram:
If I want to have a ticket that is being created in the contract, to be stored in storage, what should my storage init look like? especially if it is supposed to be empty at deployment? Do I need / can I define the types and how to define an empty storage of certain type?
@sp.entrypoint
def withdraw(self, receiver):
# Unwrap the ticket and fetch its value
my_ticket = self.data.my_ticket.unwrap_some(error="NoTicket")
# ...
What is the best way/practice to store multiple different tickets (lets imagine sort of wallet contract that stores different tickets) - should it be a map, or a record etc? Anything note worthy that should be considered here (besides that you cannot make a copy) when handling tickets?