package tezos-protocol-014-PtKathma
This module provides various helpers to manipulate tickets, that are used by the Transaction Rollups.
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_014_PtKathma.Error_monad.error
Tezos_protocol_environment_014_PtKathma.Error_monad.trace)
Tezos_protocol_environment_014_PtKathma.Pervasives.result
Tezos_protocol_environment_014_PtKathma.Lwt.t
parse_ticket ~consume_deserialization_gas ~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 ->
source:Alpha_context.Contract.t ->
destination:Alpha_context.Contract.t ->
entrypoint:Alpha_context.Entrypoint.t ->
amount:Tezos_protocol_environment_014_PtKathma.Z.t ->
Alpha_context.context ->
(Alpha_context.context
* Ticket_token.ex_token
* Script_typed_ir.packed_internal_operation)
Tezos_protocol_environment_014_PtKathma.Error_monad.tzresult
Tezos_protocol_environment_014_PtKathma.Lwt.t
Same as parse_ticket
, but in addition, build a transaction to let source
transfers amount
units of said ticket to destination
.
val make_withdraw_order :
Alpha_context.context ->
Alpha_context.Tx_rollup.t ->
Ticket_token.ex_token ->
Alpha_context.public_key_hash ->
Tx_rollup_l2_qty.t ->
(Alpha_context.context * Alpha_context.Tx_rollup_withdraw.order)
Tezos_protocol_environment_014_PtKathma.Error_monad.tzresult
Tezos_protocol_environment_014_PtKathma.Lwt.t
make_withdraw_order ctxt tx_rollup ex_token claimer amount
computes a withdraw order that specify that claimer
is entitled to get the ownership of amount
units of ex_token
which were deposited to tx_rollup
.
val transfer_ticket_with_hashes :
Alpha_context.context ->
src_hash:Alpha_context.Ticket_hash.t ->
dst_hash:Alpha_context.Ticket_hash.t ->
Tezos_protocol_environment_014_PtKathma.Z.t ->
(Alpha_context.context * Tezos_protocol_environment_014_PtKathma.Z.t)
Tezos_protocol_environment_014_PtKathma.Error_monad.tzresult
Tezos_protocol_environment_014_PtKathma.Lwt.t
transfer_ticket_with_hashes ctxt ~src_hash ~dst_hash qty
updates the table of tickets moves qty
units of a given ticket from a source to a destination, as encoded by src_hash
and dst_hash
.
Consistency between src_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 ->
src:Alpha_context.Destination.t ->
dst:Alpha_context.Destination.t ->
Ticket_token.ex_token ->
Alpha_context.counter ->
(Alpha_context.context * Alpha_context.counter,
Tezos_protocol_environment_014_PtKathma.Error_monad.error
Tezos_protocol_environment_014_PtKathma.Error_monad.trace)
Tezos_protocol_environment_014_PtKathma.Pervasives.result
Tezos_protocol_environment_014_PtKathma.Lwt.t
transfer_ticket ctxt ~src ~dst ex_token qty
updates the table of tickets moves qty
units of ex_token
from src
to dst
, as encoded by src_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.