package tezos-protocol-alpha
Install
    
    dune-project
 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_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_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.tzresultcheck_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.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_alpha.Signature.Public_key_hash.t ->
  Raw_context.t Tezos_protocol_environment_alpha.Error_monad.tzresult
    Tezos_protocol_environment_alpha.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_alpha.Error_monad.tzresult
    Tezos_protocol_environment_alpha.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_alpha.Error_monad.tzresult
    Tezos_protocol_environment_alpha.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_alpha.Signature.Public_key_hash.t ->
  Raw_context.t Tezos_protocol_environment_alpha.Error_monad.tzresult
    Tezos_protocol_environment_alpha.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_alpha.Signature.Public_key_hash.t ->
  Contract_repr.t list Tezos_protocol_environment_alpha.Lwt.tdelegated_contracts ctxt delegate returns the list of contracts (implicit or originated) that delegated to delegate.