# Transfer tickets from and to implicit accounts --- # Implicit <-> Implicit - Intuitively, to generate this operation from `tezos-client` ``` tezos-client transfer 0 from alice to bob \ --entrypoint 'receive_tickets' \ --burn-cap 0.1 \ --arg 'Pair string (Pair "0x...." (Pair "I am a ticket" 4))' ``` --- - Note that `Pair "0x...." (Pair "I am a ticket" 4)` is of type `ticket string`, because it is written as `Pair string ...` saying that the ticket content is of type `string` --- # Originated -> Implicit - Michelson ``` CONTRACT %receive_tickets (ticket string) ; IF_NONE { PUSH string "should not happen" ; FAILWITH } { PUSH nat 4; PUSH string "I am a ticket"; TICKET; SWAP; TRANSFER_TOKEN ; ... } ``` - We enforce that the parameter is always `ticket 'a` for some `'a` - `TRANSFER_TOKEN` generates a `Transaction_to_implicit` internal operation --- # Implicit -> Originated - It is the same as a contract call ``` tezos-client transfer 0 from alice to contract \ --entrypoint 'submit_my_ticket_and_do_whatever_you_want' \ --burn-cap 0.1 \ --arg 'Pair (Pair "0x...." (Pair "I am a ticket" 4)) (Pair "0x...." (Pair (Pair "0xdeadbeef" Unit) 4))' ``` --- # Originated -> Originated - It stays the same
{"metaMigratedAt":"2023-06-17T06:30:58.340Z","metaMigratedFrom":"YAML","title":"Transfer tickets from and to implicit accounts","breaks":true,"contributors":"[{\"id\":\"09ec042c-67c9-4202-a7df-0f0c8410e4fa\",\"add\":1600,\"del\":262}]"}
    307 views