package tezos-protocol-012-Psithaca
val script_expr_hash_of_key_hash : key_hash -> Script_expr_hash.t
script_expr_hash_of_key_hash key_hash
returns a Script_expr_hash.t
value representation of the given key_hash
. This is useful for comparing and pretty-printing key-hash values.
val make_key_hash :
Raw_context.t ->
ticketer:Script_repr.node ->
typ:Script_repr.node ->
contents:Script_repr.node ->
owner:Script_repr.node ->
(key_hash * Raw_context.t)
Tezos_protocol_environment_012_Psithaca.Error_monad.tzresult
make_key_hash ctxt ~ticketer ~typ ~contents ~owner
creates a hashed representation of the given ticketer
, typ
, contents
and owner
.
val get_balance :
Raw_context.t ->
key_hash ->
(Tezos_protocol_environment_012_Psithaca.Z.t option * Raw_context.t)
Tezos_protocol_environment_012_Psithaca.Error_monad.tzresult
Tezos_protocol_environment_012_Psithaca.Lwt.t
get_balance ctxt key
receives the ticket balance for the given key
in the context ctxt
. The key
represents a ticket content and a ticket creator pair. In case there exists no value for the given key
, None
is returned.
val adjust_balance :
Raw_context.t ->
key_hash ->
delta:Tezos_protocol_environment_012_Psithaca.Z.t ->
(Tezos_protocol_environment_012_Psithaca.Z.t * Raw_context.t)
Tezos_protocol_environment_012_Psithaca.Error_monad.tzresult
Tezos_protocol_environment_012_Psithaca.Lwt.t
adjust_balance ctxt key ~delta
adjusts the balance of the given key (representing a ticket content, creator and owner pair) and delta
. The value of delta
can be positive as well as negative. If there is no pre-exising balance for the given ticket type and owner, it is assumed to be 0 and the new balance is delta
. The function also returns the difference between the old and the new size of the storage. Note that the difference may be negative. For example, because when setting the balance to zero, an entry is removed.
The function fails with a Negative_ticket_balance
error in case the resulting balance is negative.