package octez-protocol-alpha-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=55ea1fb8bb3273a7fc270ca8f650d45c56449665619482aad9bc12f3ea736b7e
sha512=fec850fc2d17d7490bbabd5147d62aad13b3aaed8774270f8a38ab419670ed03e0fd30cf8642a97984eca5c2446726fe590ad99c015f7ec50919dc7652f25053
doc/octez-protocol-alpha-libs.test-helpers/Tezos_alpha_test_helpers/Liquidity_baking_machine/ValidationMachine/index.html
Module Liquidity_baking_machine.ValidationMachine
Source
The state of the ValidationMachine
.
A collections of functions to introspect the symbolic part of the ValidationMachine
state.
A collections of functions to introspect the concrete part of the ValidationMachine
state.
val build :
?invariant:
(Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t env ->
t ->
bool Tezos_base.TzPervasives.tzresult Lwt.t) ->
?subsidy:xtz ->
specs ->
(t * Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t env)
Tezos_base.TzPervasives.tzresult
Lwt.t
build specs
asynchronously computes (1) an initial state for the ValidationMachine
, and (2) the environment associated to this state.
The machine enforces the resulting state is consistent with the specs
given as inputs, and raises an Assert_failure
exception if it does not. It also enforces that the machines used underneath remain in sync.
One can use the optional argument subsidy
to set the subsidy amount to a given value (by default, we use the same as the main chain). Additionally, the invariant
optional argument can be used to verify that a given invariant holds at the end of the initialization.
val step :
?invariant:
(Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t env ->
t ->
bool Tezos_base.TzPervasives.tzresult Lwt.t) ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t step ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t env ->
t ->
t Tezos_base.TzPervasives.tzresult Lwt.t
step s env state
asynchronously executes a single step s
from state
.
The invariant
optional argument can be used to verify that a given invariant holds after each baked block.
val run :
?invariant:
(Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t env ->
t ->
bool Tezos_base.TzPervasives.tzresult Lwt.t) ->
contract_id step list ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t env ->
t ->
t Tezos_base.TzPervasives.tzresult Lwt.t
run lss env state
asynchronously executes a list of steps from state
.
The invariant
optional argument can be used to verify that a given invariant holds after each baked block.