package octez-protocol-019-PtParisB-libs
type contract_parameters = {
probability : float;
(*The probability of calling this smart contract
*)invocation_fee : Tezos_protocol_019_PtParisB.Protocol.Alpha_context.Tez.t;
(*Fee to use for invocations during the stress test
*)invocation_gas_limit : Tezos_protocol_019_PtParisB.Protocol.Alpha_context.Gas.Arith.integral;
(*Gas limit to use for invocations during the stress test
*)
}
The information that the user has to provide for every smart contract they want to call during the stress test.
val contract_parameters_encoding :
contract_parameters Tezos_base.TzPervasives.Data_encoding.t
Encoding of contract_parameters
.
val contract_parameters_collection_encoding :
(string * contract_parameters) list Tezos_base.TzPervasives.Data_encoding.t
Contract parameters collection encoding.
An opaque type that stores all the information that is necessary for efficient sampling of smart contract calls.
val no_contracts : t
A value with no smart contracts.
val init :
Tezos_client_019_PtParisB.Protocol_client_context.full ->
(string * contract_parameters) list ->
t Tezos_base.TzPervasives.tzresult Lwt.t
Convert a map of probabilities per smart contract alias to a t
value.
type invocation_parameters = {
destination : Tezos_protocol_019_PtParisB.Protocol.Alpha_context.Contract.t;
entrypoint : Tezos_protocol_019_PtParisB.Protocol.Entrypoint_repr.t;
arg : Tezos_protocol_019_PtParisB.Protocol.Alpha_context.Script.expr;
fee : Tezos_protocol_019_PtParisB.Protocol.Alpha_context.Tez.t;
gas_limit : Tezos_protocol_019_PtParisB.Protocol.Alpha_context.Gas.Arith.integral;
}
All information that is necessary for performing a smart contract call during the stress test.
val select : t -> float -> invocation_parameters option
Given t
initialized earlier and a float
in 0;1
, decide which smart contract is going to be chosen for the next call, if any.
val originate_command :
Tezos_client_019_PtParisB.Protocol_client_context.full Tezos_clic.command
A ready-to-use command that originates all supported smart contracts.
val with_every_known_smart_contract :
Tezos_client_019_PtParisB.Protocol_client_context.full ->
(t -> 'a Tezos_base.TzPervasives.tzresult Lwt.t) ->
(string * 'a) list Tezos_base.TzPervasives.tzresult Lwt.t
Call the callback function once per supported smart contract by passing it t
that only selects that smart contract. Collect the results and pair them with the respective smart contract aliases. This is used for e.g. gas estimations.