package tezos-protocol-018-Proxford
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,
Tezos_protocol_environment_018_Proxford.Error_monad.error
Tezos_protocol_environment_018_Proxford.Error_monad.trace)
Tezos_protocol_environment_018_Proxford.Pervasives.result
Tezos_protocol_environment_018_Proxford.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)
Tezos_protocol_environment_018_Proxford.Error_monad.tzresult
Tezos_protocol_environment_018_Proxford.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 * Tezos_protocol_environment_018_Proxford.Z.t)
Tezos_protocol_environment_018_Proxford.Error_monad.tzresult
Tezos_protocol_environment_018_Proxford.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 * Tezos_protocol_environment_018_Proxford.Z.t,
Tezos_protocol_environment_018_Proxford.Error_monad.error
Tezos_protocol_environment_018_Proxford.Error_monad.trace)
Tezos_protocol_environment_018_Proxford.Pervasives.result
Tezos_protocol_environment_018_Proxford.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.