package tezos-protocol-019-PtParisB
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 =
| Implicit of Tezos_protocol_environment_019_PtParisB.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:
- 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).
include Tezos_protocol_environment_019_PtParisB.Compare.S with type t := t
val in_memory_size : t -> Cache_memory_helpers.sint
Originated contracts
val originated_contract : Origination_nonce.t -> t
originated_contract nonce
is the contract address originated from nonce
.
val originated_contracts :
since:Origination_nonce.t ->
until:Origination_nonce.t ->
Contract_hash.t 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
Human readable notation
val to_b58check : t -> string
val of_b58check :
string ->
t Tezos_protocol_environment_019_PtParisB.Error_monad.tzresult
val of_b58data :
Tezos_protocol_environment_019_PtParisB.Base58.data ->
t option
val pp : Tezos_protocol_environment_019_PtParisB.Format.formatter -> t -> unit
val pp_short :
Tezos_protocol_environment_019_PtParisB.Format.formatter ->
t ->
unit
Serializers
val encoding : t Tezos_protocol_environment_019_PtParisB.Data_encoding.t
val implicit_encoding :
Tezos_protocol_environment_019_PtParisB.Signature.Public_key_hash.t
Tezos_protocol_environment_019_PtParisB.Data_encoding.t
implicit_encoding
is an encoding for public key hashes that is compatible with the encoding
of contracts for implicit accounts.
val originated_encoding :
Contract_hash.t Tezos_protocol_environment_019_PtParisB.Data_encoding.t
originated_encoding
is an encoding for contract hashes that is compatible with the encoding
of contracts for originated accounts.
val cases :
('a -> t option) ->
(t -> 'a) ->
'a Tezos_protocol_environment_019_PtParisB.Data_encoding.case list
cases f g
exports the Data_encoding.case
s used to define encoding
.
The only reason why we export that is to let Destination_repr.encoding
use it. This allows the latter to be compatible with encoding
, which is of key importance for backward compatibility reasons.
val rpc_arg : t Tezos_protocol_environment_019_PtParisB.RPC_arg.arg
module Index : Storage_description.INDEX with type t = t