package tezos-protocol-alpha
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=43723d096307603703a1a89ed1b2eb202b365f5e7824b96b0cbf813b343a6cf7
sha512=b2a637f2e965000d3d49ad85277ca24d6cb07a1a7cf2bc69d296d8b03ad78c3eaa8e21e94b9162e62c2e11649cd03bc845b2a3dafe623b91065df69d47dc8e4f
doc/tezos-protocol-alpha.raw/Tezos_raw_protocol_alpha/Contract_delegate_storage/index.html
Module Tezos_raw_protocol_alpha.Contract_delegate_storage
Source
This module deals with the delegates of a contract. It is responsible for maintaining the tables Storage.Contract.Delegate
and Storage.Contract.Delegated
.
type Tezos_protocol_environment_alpha.Error_monad.error +=
| Forbidden_tz4_delegate of Tezos_protocol_environment_alpha.Bls.Public_key_hash.t
(*Delegates cannot be tz4 accounts (i.e. BLS public key hashes). This error is returned when we try to register such a delegate.
*)
val check_not_tz4 :
Tezos_protocol_environment_alpha.Signature.public_key_hash ->
unit Tezos_protocol_environment_alpha.Error_monad.tzresult
check_not_tz4 pkh
checks that pkh
is not a BLS address.
val find :
Raw_context.t ->
Contract_repr.t ->
Tezos_protocol_environment_alpha.Signature.Public_key_hash.t option
Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t
find ctxt contract
returns the delegate associated to contract
, or None
if contract
has no delegate.
val init :
Raw_context.t ->
Contract_repr.t ->
Tezos_protocol_environment_alpha.Signature.Public_key_hash.t ->
Raw_context.t Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t
init ctxt contract delegate
sets the delegate
associated to contract
.
This function assumes that contract
does not have a delegate already.
val unlink :
Raw_context.t ->
Contract_repr.t ->
Raw_context.t Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t
unlink ctxt contract
removes contract
from the list of contracts that delegated to find ctxt contract
, i.e. the output of delegated_contracts
. This function does not affect the value of the expression find ctxt contract
.
This function assumes that contract
is allocated.
val delete :
Raw_context.t ->
Contract_repr.t ->
Raw_context.t Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t
delete ctxt contract
behaves as unlink ctxt contract
, but in addition removes the association of the contract
to its current delegate, leaving the former without delegate.
This function assumes that contract
is allocated.
val set :
Raw_context.t ->
Contract_repr.t ->
Tezos_protocol_environment_alpha.Signature.Public_key_hash.t ->
Raw_context.t Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t
set ctxt contract delegate
updates the delegate
associated to contract
.
This function assumes that contract
is allocated and has a delegate.
val delegated_contracts :
Raw_context.t ->
Tezos_protocol_environment_alpha.Signature.Public_key_hash.t ->
Contract_repr.t list Tezos_protocol_environment_alpha.Lwt.t
delegated_contracts ctxt delegate
returns the list of contracts (implicit or originated) that delegated to delegate
.