package tezos-scoru-wasm-helpers

  1. Overview
  2. Docs

Module Tezos_scoru_wasm_helpers.Wasm_utilsSource

Sourcemodule Wasm : sig ... end
Sourcemodule Wasm_fast : sig ... end
Sourceval parse_module : string -> Tezos_webassembly_interpreter.Ast.module_
Sourceval wat2wasm : string -> string Lwt.t
Sourceval default_max_tick : int64
Sourceval production_max_tick : int64
Sourceval default_outbox_validity_period : int32
Sourceval default_outbox_message_limit : Z.t
Sourceval initial_tree : version:Tezos_scoru_wasm.Wasm_pvm_state.version -> ?ticks_per_snapshot:int64 -> ?max_reboots:Z.t -> ?from_binary:bool -> ?outbox_validity_period:int32 -> ?outbox_message_limit:Z.t -> string -> Wasm.tree Lwt.t
Sourceval eval_to_snapshot : ?reveal_builtins:Tezos_scoru_wasm.Builtins.reveals -> ?write_debug:Tezos_scoru_wasm.Builtins.write_debug -> ?max_steps:int64 -> Wasm.tree -> Wasm.tree Lwt.t
Sourceval eval_until_input_requested : ?reveal_builtins:Tezos_scoru_wasm.Builtins.reveals option -> ?write_debug:Tezos_scoru_wasm.Builtins.write_debug -> ?after_fast_exec:(unit -> unit) -> ?fast_exec:bool -> ?max_steps:int64 -> Wasm.tree -> Wasm_fast.tree Lwt.t

eval_until_input_requested tree will either

  • return tree if input is required
  • or run compute_step_many to reach a point where input is required
Sourceval eval_until_input_or_reveal_requested : ?write_debug:Tezos_scoru_wasm.Builtins.write_debug -> ?after_fast_exec:(unit -> unit) -> ?fast_exec:bool -> ?max_steps:int64 -> Wasm.tree -> Wasm_fast.tree Lwt.t
Sourceval input_info : int32 -> Z.t -> Tezos_scoru_wasm.Wasm_pvm_state.input_info
Sourceval new_message_counter : unit -> unit -> Z.t
Sourceval set_sol_input : int32 -> Wasm.tree -> Wasm.tree Lwt.t
Sourceval set_protocol_migration_input : Tezos_scoru_wasm.Pvm_input_kind.protocol -> int32 -> Wasm.tree -> Wasm.tree Lwt.t
Sourceval set_info_per_level_input : ?migration_block:bool -> int32 -> Wasm.tree -> Wasm.tree Lwt.t
Sourceval set_raw_message : int32 -> Z.t -> string -> Wasm.tree -> Wasm.tree Lwt.t
Sourceval set_internal_message : int32 -> Z.t -> string -> Wasm.tree -> Wasm.tree Lwt.t
Sourceval set_eol_input : int32 -> Z.t -> Wasm.tree -> Wasm.tree Lwt.t
Sourceval set_inputs_step : ?migrate_to:Tezos_scoru_wasm.Pvm_input_kind.protocol -> (int32 -> Z.t -> 'a -> Wasm.tree -> Wasm.tree Lwt.t) -> 'a list -> int32 -> Wasm.tree -> Wasm.tree Lwt.t
Sourceval set_full_input_step_gen : ?migrate_to:Tezos_scoru_wasm.Pvm_input_kind.protocol -> (int32 -> Z.t -> 'a -> Wasm.tree -> Wasm.tree Lwt.t) -> 'a list -> int32 -> Wasm.tree -> Wasm.tree Lwt.t
Sourceval set_full_input_step : ?migrate_to:Tezos_scoru_wasm.Pvm_input_kind.protocol -> string list -> int32 -> Wasm.tree -> Wasm.tree Lwt.t
Sourceval set_full_raw_input_step : ?migrate_to:Tezos_scoru_wasm.Pvm_input_kind.protocol -> string list -> int32 -> Wasm.tree -> Wasm.tree Lwt.t
Sourceval set_empty_inbox_step : ?migrate_to:Tezos_scoru_wasm.Pvm_input_kind.protocol -> int32 -> Wasm.tree -> Wasm.tree Lwt.t
Sourceval eval_until_init : Wasm.tree -> Wasm.tree Lwt.t

eval_to_result tree tries to evaluates the PVM until the next `SK_Result` or `SK_Trap`, and stops in case of reveal tick or input tick. It has the property that the memory hasn't been flushed yet and can be inspected.

Sourceval set_input_step : string -> int -> Wasm.tree -> Wasm.tree Lwt.t
Sourceval print_error_state : Tezos_scoru_wasm.Wasm_pvm_errors.t -> string
Sourceval check_error : ?expected_kind: [> `Decode | `Eval | `Init | `Invalid_state | `Link | `No_fallback_decode | `No_fallback_init | `No_fallback_link | `Too_many_reboots | `Too_many_ticks | `Unknown ] -> ?expected_reason:string -> Tezos_scoru_wasm.Wasm_pvm_errors.t -> bool

check_error kind reason error checks a Wasm PVM error error is of a given kind with a possible reason.

  • If kind is None, returns true.
  • If reason is None, it simply check the given kind, otherwise it actually check the reason in the error.
Sourceval is_stuck : ?step: [> `Decode | `Eval | `Init | `Invalid_state | `Link | `No_fallback_decode | `No_fallback_init | `No_fallback_link | `Too_many_reboots | `Too_many_ticks | `Unknown ] -> ?reason:string -> Tezos_scoru_wasm.Wasm_pvm_state.Internal_state.tick_state -> bool
Sourceval wrap_as_durable_storage : Encodings_util.Tree_encoding_runner.tree -> Tezos_webassembly_interpreter.Durable_storage.t Lwt.t
Sourceval has_stuck_flag : Encodings_util.Tree_encoding_runner.tree -> bool Lwt.t
Sourceval make_durable : (string * string) list -> Tezos_webassembly_interpreter.Durable_storage.t Lwt.t
Sourceval make_module_inst : version:Tezos_scoru_wasm.Wasm_pvm_state.version -> string list -> Tezos_webassembly_interpreter.Memory.address -> Tezos_webassembly_interpreter.Instance.module_inst Tezos_webassembly_interpreter.Instance.ModuleMap.t * Tezos_webassembly_interpreter.Instance.module_key * Tezos_webassembly_interpreter.Host_funcs.registry
Sourceval retrieve_memory : Tezos_webassembly_interpreter.Instance.module_inst Tezos_webassembly_interpreter.Instance.ModuleMap.t -> Tezos_webassembly_interpreter.Instance.memory_inst Lwt.t
Sourcemodule Kernels : sig ... end
Sourceval project_root : string
Sourceval (//) : string -> string -> string
Sourceval test_with_kernel : string -> (string -> (unit, 'a) result Lwt.t) -> unit -> (unit, 'a) result Lwt.t
Sourceval read_test_messages : string list -> string list Lwt.t

Can be passed to be used as a host function compute_step_many ~write_debug:write_debug_on_stdout ...