package tezos-protocol-alpha
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=ddfb5076eeb0b32ac21c1eed44e8fc86a6743ef18ab23fff02d36e365bb73d61
sha512=d22a827df5146e0aa274df48bc2150b098177ff7e5eab52c6109e867eb0a1f0ec63e6bfbb0e3645a6c2112de3877c91a17df32ccbff301891ce4ba630c997a65
doc/tezos_raw_protocol_alpha/Tezos_raw_protocol_alpha/Contract_repr/index.html
Module Tezos_raw_protocol_alpha.Contract_reprSource
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_alpha.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_alpha.Compare.S with type t := t
Originated contracts
originated_contract nonce is the contract address originated from nonce.
val originated_contracts :
since:Origination_nonce.t ->
until:Origination_nonce.t ->
Contract_hash.t listoriginated_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
Serializers
val implicit_encoding :
Tezos_protocol_environment_alpha.Signature.Public_key_hash.t
Tezos_protocol_environment_alpha.Data_encoding.timplicit_encoding is an encoding for public key hashes compatible with the encoding of contracts in the specific case of implicit accounts.
originated_encoding is an encoding for contract hashes that is compatible with the encoding of contracts in the specific case of originated accounts.
val cases :
('a -> t option) ->
(t -> 'a) ->
'a Tezos_protocol_environment_alpha.Data_encoding.case listcases f g exports the Data_encoding.cases 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.