package tezos-protocol-alpha
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=7062cd57addd452852598a2214ade393130efa087b99068d53713bdf912b3680
sha512=08e4091144a03ce3c107fb91a66501bd8b65ca3278917c455a2eaac6df3e108ade63f6ab8340a4bb152d60f404326e464d0ec95d26cafe8e82f870465d24a5fc
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
.