Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
type t = {
hash : Tezos_crypto.Block_hash.t;
header : Tezos_protocol_alpha.Protocol.Alpha_context.Block_header.t;
operations : Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed list;
context : Tezos_protocol_environment.Context.t;
Resulting context
*)}
type block = t
val rpc_ctxt : t Tezos_protocol_alpha.Protocol.Environment.RPC_context.simple
type baker_policy =
| By_priority of int
| By_account of Tezos_protocol_alpha.Protocol.Alpha_context.public_key_hash
| Excluding of Tezos_protocol_alpha.Protocol.Alpha_context.public_key_hash list
Policies to select the next baker:
By_priority p
selects the baker at priority p
By_account pkh
selects the first slot for baker pkh
Excluding pkhs
selects the first baker that doesn't belong to pkhs
val get_next_baker :
?policy:baker_policy ->
t ->
(Tezos_protocol_alpha.Protocol.Alpha_context.public_key_hash
* int
* Tezos_base.Time.Protocol.t,
Tezos_error_monad.TzCore.error list)
Stdlib.result
Lwt.t
Returns (account, priority, timestamp) of the next baker given a policy, defaults to By_priority 0.
val get_endorsing_power :
block ->
(int, Tezos_error_monad.TzCore.error list) Stdlib.result Lwt.t
module Forge : sig ... end
val check_constants_consistency :
Tezos_protocol_alpha.Protocol.Alpha_context.Constants.parametric ->
(unit, Tezos_error_monad.TzCore.error list) Stdlib.result Lwt.t
val genesis :
?with_commitments:bool ->
?endorsers_per_block:int ->
?initial_endorsers:int ->
?min_proposal_quorum:int32 ->
?time_between_blocks:
Tezos_protocol_alpha.Protocol.Alpha_context.Period.t list ->
?minimal_block_delay:Tezos_protocol_alpha.Protocol.Alpha_context.Period.t ->
?delay_per_missing_endorsement:
Tezos_protocol_alpha.Protocol.Alpha_context.Period.t ->
?bootstrap_contracts:
Tezos_protocol_alpha.Protocol.Alpha_context.Parameters.bootstrap_contract
list ->
?level:int32 ->
(Account.t * Tezos_protocol_alpha.Protocol.Alpha_context.Tez.tez) list ->
(block, Tezos_error_monad.TzCore.error list) Stdlib.result Lwt.t
genesis <opts> accounts
: generates an initial block with the given constants <opts>
and initializes accounts
with their associated amounts.
val genesis_with_parameters :
Tezos_protocol_alpha.Protocol.Alpha_context.Parameters.t ->
(block, Tezos_error_monad.TzCore.error list) Stdlib.result Lwt.t
val alpha_context :
?with_commitments:bool ->
?endorsers_per_block:int ->
?initial_endorsers:int ->
?min_proposal_quorum:int32 ->
(Account.t * Tezos_protocol_alpha.Protocol.Alpha_context.Tez.tez) list ->
(Tezos_protocol_alpha.Protocol.Alpha_context.t,
Tezos_error_monad.TzCore.error list)
Stdlib.result
Lwt.t
alpha_context <opts> accounts
: instantiates an alpha_context with the given constants <opts>
and initializes accounts
with their associated amounts.
val apply :
Tezos_protocol_alpha.Protocol.Alpha_context.Block_header.block_header ->
?operations:Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed list ->
t ->
(t, Tezos_error_monad.TzCore.error list) Stdlib.result Lwt.t
applies a signed header and its operations to a block and obtains a new block
val bake :
?policy:baker_policy ->
?timestamp:Tezos_protocol_alpha.Protocol.Alpha_context.Timestamp.time ->
?operation:Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed ->
?operations:Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed list ->
?liquidity_baking_escape_vote:bool ->
t ->
(t, Tezos_error_monad.TzCore.error list) Stdlib.result Lwt.t
bake b
returns a block b'
which has as predecessor block b
. Optional parameter policy
allows to pick the next baker in several ways. This function bundles together forge_header
, sign_header
and apply
. These functions should be used instead of bake to craft unusual blocks for testing together with setters for properties of the headers. For examples see seed.ml or double_baking.ml
val bake_n :
?policy:baker_policy ->
?liquidity_baking_escape_vote:bool ->
int ->
t ->
(block, Tezos_error_monad.TzCore.error list) Stdlib.result Lwt.t
Bakes n
blocks.
val bake_n_with_all_balance_updates :
?policy:baker_policy ->
?liquidity_baking_escape_vote:bool ->
int ->
t ->
(block * Tezos_protocol_alpha.Protocol.Alpha_context.Receipt.balance_updates,
Tezos_error_monad.TzCore.error list)
Stdlib.result
Lwt.t
Version of bake_n that returns a list of all balance updates included in the metadata of baked blocks. *
val bake_n_with_origination_results :
?policy:baker_policy ->
int ->
t ->
(block
* Tezos_protocol_alpha.Protocol.Alpha_context.Kind.origination
Tezos_protocol_alpha.Protocol.Apply_results.successful_manager_operation_result
list,
Tezos_error_monad.TzCore.error list)
Stdlib.result
Lwt.t
Version of bake_n that returns a list of all origination results in the metadata of baked blocks. *
val bake_n_with_liquidity_baking_escape_ema :
?policy:baker_policy ->
?liquidity_baking_escape_vote:bool ->
int ->
t ->
(block
* Tezos_protocol_alpha.Protocol.Alpha_context.Liquidity_baking.escape_ema,
Tezos_error_monad.TzCore.error list)
Stdlib.result
Lwt.t
Version of bake_n that returns the liquidity baking escape EMA after n
blocks. *
val current_cycle :
t ->
(Tezos_protocol_alpha.Protocol.Alpha_context.Cycle.t,
Tezos_error_monad.TzCore.error list)
Stdlib.result
Lwt.t
val bake_until_cycle_end :
?policy:baker_policy ->
t ->
(t, Tezos_error_monad.TzCore.error list) Stdlib.result Lwt.t
Given a block b
at level l
bakes enough blocks to complete a cycle, that is blocks_per_cycle - (l % blocks_per_cycle)
.
val bake_until_n_cycle_end :
?policy:baker_policy ->
int ->
t ->
(t, Tezos_error_monad.TzCore.error list) Stdlib.result Lwt.t
Bakes enough blocks to end n
cycles.
val bake_until_cycle :
?policy:baker_policy ->
Tezos_protocol_alpha.Protocol.Alpha_context.Cycle.t ->
t ->
(t, Tezos_error_monad.TzCore.error list) Stdlib.result Lwt.t
Bakes enough blocks to reach the cycle.
val prepare_initial_context_params :
?endorsers_per_block:int ->
?initial_endorsers:int ->
?time_between_blocks:
Tezos_protocol_alpha.Protocol.Alpha_context.Period.t list ->
?minimal_block_delay:Tezos_protocol_alpha.Protocol.Alpha_context.Period.t ->
?delay_per_missing_endorsement:
Tezos_protocol_alpha.Protocol.Alpha_context.Period.t ->
?min_proposal_quorum:int32 ->
?level:int32 ->
(Account.t * Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t) list ->
(Tezos_protocol_alpha.Protocol.Alpha_context.Constants.parametric
* Tezos_protocol_alpha.Protocol.Alpha_context.Block_header.shell_header
* Tezos_crypto.Block_hash.t,
Tezos_error_monad.TzCore.error list)
Stdlib.result
Lwt.t
Common util function to create parameters for initial_context
function