package tezos-protocol-014-PtKathma
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=7062cd57addd452852598a2214ade393130efa087b99068d53713bdf912b3680
sha512=08e4091144a03ce3c107fb91a66501bd8b65ca3278917c455a2eaac6df3e108ade63f6ab8340a4bb152d60f404326e464d0ec95d26cafe8e82f870465d24a5fc
doc/tezos-protocol-014-PtKathma.raw/Tezos_raw_protocol_014_PtKathma/Ticket_accounting/index.html
Module Tezos_raw_protocol_014_PtKathma.Ticket_accounting
Source
val ticket_diffs :
Alpha_context.context ->
arg_type_has_tickets:'arg Ticket_scanner.has_tickets ->
storage_type_has_tickets:'storage Ticket_scanner.has_tickets ->
arg:'arg ->
old_storage:'storage ->
new_storage:'storage ->
lazy_storage_diff:Alpha_context.Lazy_storage.diffs_item list ->
(Tezos_protocol_environment_014_PtKathma.Z.t Ticket_token_map.t
* Alpha_context.t)
Tezos_protocol_environment_014_PtKathma.Error_monad.tzresult
Tezos_protocol_environment_014_PtKathma.Lwt.t
ticket_diffs ctxt ~arg_type_has_tickets ~storage_type_has_tickets arg old_storage new_storage lazy_storage_diff
returns a map from ticket-tokens to balance-differences that represents the change in balance for a contract due to changes of tickets in the storage. The assumption is that before calling ticket_diffs
, all tickets that are owned by a contract exist either in the old_storage
or the arg
. After execution, only tickets in new_storage
are owned by the contract. Note that this function avoids traversing the lazy part of the storage.
val update_ticket_balances :
Alpha_context.context ->
self:Alpha_context.Contract.t ->
ticket_diffs:Tezos_protocol_environment_014_PtKathma.Z.t Ticket_token_map.t ->
Script_typed_ir.packed_internal_operation list ->
(Tezos_protocol_environment_014_PtKathma.Z.t * Alpha_context.t)
Tezos_protocol_environment_014_PtKathma.Error_monad.tzresult
Tezos_protocol_environment_014_PtKathma.Lwt.t
update_ticket_balances ctxt self ~ticket_diffs operations
updates the ticket balances according to the ticket_diffs
map and the set of operations. The function also returns the storage size diff resulting from updating the ticket-balance table in the context.
Invariant: this function must be called after applying the lazy-storage diffs affecting any contracts in the given operations.
The function fails in case an invalid ticket-token-balance update is detected. The ticket_diffs
argument represents the change of ticket-tokens for the self
contract. It also specifies a "budget" for outgoing ticket-tokens.