package tezos-protocol-017-PtNairob
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=7062cd57addd452852598a2214ade393130efa087b99068d53713bdf912b3680
sha512=08e4091144a03ce3c107fb91a66501bd8b65ca3278917c455a2eaac6df3e108ade63f6ab8340a4bb152d60f404326e464d0ec95d26cafe8e82f870465d24a5fc
doc/tezos-protocol-017-PtNairob.raw/Tezos_raw_protocol_017_PtNairob/Contract_delegate_storage/index.html
Module Tezos_raw_protocol_017_PtNairob.Contract_delegate_storageSource
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_017_PtNairob.Error_monad.error += | Forbidden_tz4_delegate of Tezos_protocol_environment_017_PtNairob.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_017_PtNairob.Signature.public_key_hash ->
unit Tezos_protocol_environment_017_PtNairob.Error_monad.tzresultcheck_not_tz4 pkh checks that pkh is not a BLS address.
val find :
Raw_context.t ->
Contract_repr.t ->
Tezos_protocol_environment_017_PtNairob.Signature.Public_key_hash.t option
Tezos_protocol_environment_017_PtNairob.Error_monad.tzresult
Tezos_protocol_environment_017_PtNairob.Lwt.tfind 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_017_PtNairob.Signature.Public_key_hash.t ->
Raw_context.t Tezos_protocol_environment_017_PtNairob.Error_monad.tzresult
Tezos_protocol_environment_017_PtNairob.Lwt.tinit 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_017_PtNairob.Error_monad.tzresult
Tezos_protocol_environment_017_PtNairob.Lwt.tunlink 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_017_PtNairob.Error_monad.tzresult
Tezos_protocol_environment_017_PtNairob.Lwt.tdelete 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_017_PtNairob.Signature.Public_key_hash.t ->
Raw_context.t Tezos_protocol_environment_017_PtNairob.Error_monad.tzresult
Tezos_protocol_environment_017_PtNairob.Lwt.tset 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_017_PtNairob.Signature.Public_key_hash.t ->
Contract_repr.t list Tezos_protocol_environment_017_PtNairob.Lwt.tdelegated_contracts ctxt delegate returns the list of contracts (implicit or originated) that delegated to delegate.