package tezos-protocol-alpha

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

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
  1. | Implicit of Tezos_crypto.Signature.public_key_hash
  2. | Originated of Contract_hash.t

A contract is simply an account on the blockchain ledger. There are two types of contracts:

  • implicit contracts represent accounts of users of the blockchain;
  • originated are special accounts with a Michelson script attached to them. Every time a transaction is sent to an originated account, its associated script is run in order to trigger some action in response.

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
val (=) : contract -> contract -> bool
val (<>) : contract -> contract -> bool
val (<) : contract -> contract -> bool
val (<=) : contract -> contract -> bool
val (>=) : contract -> contract -> bool
val (>) : contract -> contract -> bool
val compare : contract -> contract -> int
val equal : contract -> contract -> bool
val max : contract -> contract -> contract
val min : contract -> contract -> contract
val public_key_hash_in_memory_size : Cache_memory_helpers.sint
val in_memory_size : t -> Cache_memory_helpers.sint

Implicit contracts

Originated contracts

val originated_contract : Origination_nonce.t -> contract

originated_contract nonce is the contract address originated from nonce.

val originated_contracts : since:Origination_nonce.t -> until:Origination_nonce.t -> contract list

originated_contracts ~since ~until is the contract addresses originated from since until until. The operation hash of nonce since and until must be the same or it will fail with an assert. since < until or the returned list is empty

val is_originated : contract -> Contract_hash.t option

Human readable notation

type Tezos_protocol_environment_alpha__Environment.Error_monad.error +=
  1. | Invalid_contract_notation of string
val to_b58check : contract -> string
val of_b58check : string -> (contract, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result
val pp : Stdlib.Format.formatter -> contract -> unit
val pp_short : Stdlib.Format.formatter -> contract -> unit

Serializers

val encoding : contract Data_encoding.t
val rpc_arg : contract Tezos_protocol_environment_alpha__Environment.RPC_arg.t
module Index : Storage_description.INDEX with type t = t
OCaml

Innovation. Community. Security.