Tezos_raw_protocol_012_Psithaca.Contract_repr
This module defines identifiers for two basic types of contracts. It also specifies how to compute originated contract's hash from origination nonce.
type t = private
| Implicit of Tezos_protocol_environment_012_Psithaca.Signature.Public_key_hash.t
| Originated of Contract_hash.t
A contract is simply an account on the blockchain ledger. There are two types of contracts:
An implicit account is identified by the hash of the public key which was used to create it. The owner of the corresponding private key is the holder of the account. An originated contract's hash is derived from its origination nonce (see below).
type contract = t
include Tezos_protocol_environment_012_Psithaca.Compare.S
with type t := contract
val public_key_hash_in_memory_size : Cache_memory_helpers.sint
val in_memory_size : t -> Cache_memory_helpers.sint
val implicit_contract :
Tezos_protocol_environment_012_Psithaca.Signature.Public_key_hash.t ->
contract
val is_implicit :
contract ->
Tezos_protocol_environment_012_Psithaca.Signature.Public_key_hash.t option
Originated contracts handles are crafted from the hash of the operation that triggered their origination (and nothing else). As a single operation can trigger several originations, the corresponding handles are forged from a deterministic sequence of nonces, initialized with the hash of the operation.
val originated_contract : origination_nonce -> contract
val originated_contracts :
since:origination_nonce ->
until:origination_nonce ->
contract list
val initial_origination_nonce :
Tezos_protocol_environment_012_Psithaca.Operation_hash.t ->
origination_nonce
val incr_origination_nonce : origination_nonce -> origination_nonce
val is_originated : contract -> Contract_hash.t option
val to_b58check : contract -> string
val of_b58check :
string ->
contract Tezos_protocol_environment_012_Psithaca.Error_monad.tzresult
val pp :
Tezos_protocol_environment_012_Psithaca.Format.formatter ->
contract ->
unit
val pp_short :
Tezos_protocol_environment_012_Psithaca.Format.formatter ->
contract ->
unit
val encoding : contract Tezos_protocol_environment_012_Psithaca.Data_encoding.t
val origination_nonce_encoding :
origination_nonce Tezos_protocol_environment_012_Psithaca.Data_encoding.t
val rpc_arg : contract Tezos_protocol_environment_012_Psithaca.RPC_arg.arg
module Index : Storage_description.INDEX with type t = t