package octez-protocol-019-PtParisB-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=ddfb5076eeb0b32ac21c1eed44e8fc86a6743ef18ab23fff02d36e365bb73d61
sha512=d22a827df5146e0aa274df48bc2150b098177ff7e5eab52c6109e867eb0a1f0ec63e6bfbb0e3645a6c2112de3877c91a17df32ccbff301891ce4ba630c997a65
doc/octez-protocol-019-PtParisB-libs.test-helpers/Tezos_019_PtParisB_test_helpers/Liquidity_baking_machine/ConcreteMachine/index.html
Module Liquidity_baking_machine.ConcreteMachine
Source
A machine that can execute scenarios onchain.
The state of the ConcreteMachine
.
val get_xtz_balance :
Tezos_protocol_019_PtParisB.Protocol.Alpha_context.Contract.t ->
t ->
xtz Tezos_base.TzPervasives.tzresult Lwt.t
get_xtz_balance c state
returns the amount of mutez owned by c
in state
.
val get_tzbtc_balance :
Tezos_protocol_019_PtParisB.Protocol.Alpha_context.Contract.t ->
Tezos_protocol_019_PtParisB.Protocol.Alpha_context.Contract.t env ->
t ->
tzbtc Tezos_base.TzPervasives.tzresult Lwt.t
get_tzbtc_balance c env state
returns the amount of TzBTC owned by c
in state
, according to the TzBTC
contract.
val get_liquidity_balance :
Tezos_protocol_019_PtParisB.Protocol.Alpha_context.Contract.t ->
Tezos_protocol_019_PtParisB.Protocol.Alpha_context.Contract.t env ->
t ->
liquidity Tezos_base.TzPervasives.tzresult Lwt.t
get_liquidity_balance c env state
returns the amount of liquidity token owned by c
in state
, according to the Liquidity
contract.
val get_cpmm_total_liquidity :
Tezos_protocol_019_PtParisB.Protocol.Alpha_context.Contract.t env ->
t ->
liquidity Tezos_base.TzPervasives.tzresult Lwt.t
get_cpmm_total_liquidity env state
fetches the current amount of liquidity tokens distributed by the CPMM contract from the state state
.
val build :
?invariant:
(Tezos_protocol_019_PtParisB.Protocol.Alpha_context.Contract.t env ->
t ->
bool Tezos_base.TzPervasives.tzresult Lwt.t) ->
?subsidy:xtz ->
specs ->
(t * Tezos_protocol_019_PtParisB.Protocol.Alpha_context.Contract.t env)
Tezos_base.TzPervasives.tzresult
Lwt.t
build specs
asynchronously computes (1) an initial block for the ConcreteMachine
, and (2) the environment associated to this block.
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_019_PtParisB.Protocol.Alpha_context.Contract.t env ->
t ->
bool Tezos_base.TzPervasives.tzresult Lwt.t) ->
Tezos_protocol_019_PtParisB.Protocol.Alpha_context.Contract.t step ->
Tezos_protocol_019_PtParisB.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_019_PtParisB.Protocol.Alpha_context.Contract.t env ->
t ->
bool Tezos_base.TzPervasives.tzresult Lwt.t) ->
contract_id step list ->
Tezos_protocol_019_PtParisB.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.