Mavryk_raw_protocol_001_PtAtLas.Ticket_transfer
val parse_ticket :
consume_deserialization_gas:Alpha_context.Script.consume_deserialization_gas ->
ticketer:Alpha_context.Contract.t ->
contents:Alpha_context.Script.lazy_expr ->
ty:Alpha_context.Script.lazy_expr ->
Alpha_context.context ->
(Alpha_context.context * Ticket_token.ex_token,
Mavryk_protocol_environment_001_PtAtLas.Error_monad.error
Mavryk_protocol_environment_001_PtAtLas.Error_monad.trace)
Mavryk_protocol_environment_001_PtAtLas.Pervasives.result
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
parse_ticket ~ticketer ~contents ~ty
ctxt
reconstructs a ticket from individual parts submitted as part of a layer-1 operation.
val parse_ticket_and_operation :
consume_deserialization_gas:Alpha_context.Script.consume_deserialization_gas ->
ticketer:Alpha_context.Contract.t ->
contents:Alpha_context.Script.lazy_expr ->
ty:Alpha_context.Script.lazy_expr ->
sender:Alpha_context.Destination.t ->
destination:Contract_hash.t ->
entrypoint:Alpha_context.Entrypoint.t ->
amount:Script_typed_ir.ticket_amount ->
Alpha_context.context ->
(Alpha_context.context
* Ticket_token.ex_token
* Script_typed_ir.packed_internal_operation)
Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
Same as parse_ticket
, but in addition, build a transaction to let sender
transfers amount
units of said ticket to destination
.
val transfer_ticket_with_hashes :
Alpha_context.context ->
sender_hash:Alpha_context.Ticket_hash.t ->
dst_hash:Alpha_context.Ticket_hash.t ->
Ticket_amount.t ->
(Alpha_context.context * Mavryk_protocol_environment_001_PtAtLas.Z.t)
Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
transfer_ticket_with_hashes ctxt ~sender_hash ~dst_hash qty
updates the table of tickets moves qty
units of a given ticket from a sender to a destination, as encoded by sender_hash
and dst_hash
.
Consistency between sender_hash
and dst_hash
is the responsibility of the caller. Whenever possible, transfer_ticket
should be preferred, but transfer_ticket_with_hashes
could be preferred to reduce gas comsumption (e.g., to reuse hashes already computed).
In addition to an updated context, this function returns the number of bytes that were newly allocated for the table of tickets.
val transfer_ticket :
Alpha_context.context ->
sender:Alpha_context.Destination.t ->
dst:Alpha_context.Destination.t ->
Ticket_token.ex_token ->
Ticket_amount.t ->
(Alpha_context.context * Mavryk_protocol_environment_001_PtAtLas.Z.t,
Mavryk_protocol_environment_001_PtAtLas.Error_monad.error
Mavryk_protocol_environment_001_PtAtLas.Error_monad.trace)
Mavryk_protocol_environment_001_PtAtLas.Pervasives.result
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
transfer_ticket ctxt ~sender ~dst ex_token qty
updates the table of tickets moves qty
units of ex_token
from sender
to dst
, as encoded by sender_hash
and dst_hash
.
In addition to an updated context, this function returns the number of bytes that were newly allocated for the table of tickets.