package octez-protocol-020-PsParisC-libs
The state of the ValidationMachine
.
module Symbolic : sig ... end
A collections of functions to introspect the symbolic part of the ValidationMachine
state.
module Concrete : sig ... end
A collections of functions to introspect the concrete part of the ValidationMachine
state.
val build :
?invariant:
(Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Contract.t env ->
t ->
bool Tezos_base.TzPervasives.tzresult Lwt.t) ->
?subsidy:xtz ->
specs ->
(t * Tezos_protocol_020_PsParisC.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_020_PsParisC.Protocol.Alpha_context.Contract.t env ->
t ->
bool Tezos_base.TzPervasives.tzresult Lwt.t) ->
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Contract.t step ->
Tezos_protocol_020_PsParisC.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_020_PsParisC.Protocol.Alpha_context.Contract.t env ->
t ->
bool Tezos_base.TzPervasives.tzresult Lwt.t) ->
contract_id step list ->
Tezos_protocol_020_PsParisC.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.