Evm_node_lib_dev.Evm_ro_contexttype t = {preimages : string;preimages_endpoint : Uri.t option;native_execution_policy : Evm_node_config.Configuration.native_execution_policy;data_dir : string;store : Evm_store.t;smart_rollup_address : Tezos_crypto.Hashed.Smart_rollup_address.t;index : Pvm.Context.ro_index;finalized_view : bool;execution_pool : Lwt_domain.pool;trace_host_funs : bool;}val load :
pool:Lwt_domain.pool ->
?network:Evm_node_config.Configuration.supported_network ->
?smart_rollup_address:Octez_smart_rollup.Address.t ->
Evm_node_config.Configuration.t ->
t Tezos_base.TzPervasives.tzresult Lwt.tload configuration creates a new read-only handler on the node’s context. You can have as many read-only handlers as you want split over as many processes.
If smart_rollup_address is omitted, the argument is fetched from the store.
If network is set, the function performs additional sanity checks to ensure its local context is consistent with the expected network.
val read_chain_family :
t ->
Evm_node_lib_dev_encoding.L2_types.chain_id ->
Evm_node_lib_dev_encoding.L2_types.ex_chain_family
Tezos_base.TzPervasives.tzresult
Lwt.tread_chain_family chain_id returns the chain_family associated to the chain_id passed on parameter.
val read_enable_multichain_flag :
t ->
bool Tezos_base.TzPervasives.tzresult Lwt.tread_enable_multichain_flag reads the value of the `enable_multichain` feature_flag that enables multichain and tezos compatibility on the l2_node.
val preload_known_kernels : t -> unit Tezos_base.TzPervasives.tzresult Lwt.tpreload_known_kernels ctxt uses ctxt to preload every kernel known to the node in the Fast Execution kernel cache.
val preload_kernel_from_level :
t ->
Evm_node_lib_dev_encoding.Ethereum_types.quantity ->
unit Tezos_base.TzPervasives.tzresult Lwt.tpreload_kernel_from_level ctxt level uses ctxt to preload the kernel used to apply the block at level level.
val chain_id :
t ->
Evm_node_lib_dev_encoding.L2_types.chain_id Tezos_base.TzPervasives.tzresult
Lwt.tchain_id ctxt returns the chain id defined by the rollup.
val michelson_runtime_chain_id :
t ->
Evm_node_lib_dev_encoding.L2_types.chain_id Tezos_base.TzPervasives.tzresult
Lwt.tmichelson_runtime_chain_id ctxt returns the chain id of the Michelson runtime defined by the rollup.
val michelson_activation_level :
t ->
int64 option Tezos_base.TzPervasives.tzresult Lwt.tmichelson_activation_level ctxt returns the EVM block level at which the Michelson runtime was activated, or None if it has not been activated.
val current_block_number_durable :
t ->
chain_family:_ Evm_node_lib_dev_encoding.L2_types.chain_family ->
Evm_node_lib_dev_encoding.Ethereum_types.quantity
Tezos_base.TzPervasives.tzresult
Lwt.tcurrent_block_number_durable ctxt ~chain_family returns the current block number of the L2 chain for the given chain_family from durable storage.
val storage_version : t -> int Tezos_base.TzPervasives.tzresult Lwt.tstorage_version ctxt returns the latest storage version known to the current kernel.
val kernel_version : t -> string Tezos_base.TzPervasives.tzresult Lwt.tkernel_version ctxt returns the internal kernel version.
val kernel_root_hash :
t ->
Evm_node_lib_dev_encoding.Ethereum_types.hex option
Tezos_base.TzPervasives.tzresult
Lwt.tkernel_root_hash ctxt returns the internal kernel root hash.
val list_runtimes :
t ->
Tezosx.runtime list Tezos_base.TzPervasives.tzresult Lwt.tlist_runtimes ctxt returns the list of runtimes activated in the kernel.
val list_l1_l2_levels :
t ->
from_l1_level:int32 ->
(int32 * Evm_store.L1_l2_finalized_levels.t) list
Tezos_base.TzPervasives.tzresult
Lwt.tval l2_levels_of_l1_level :
t ->
int32 ->
Evm_store.L1_l2_finalized_levels.t option Tezos_base.TzPervasives.tzresult
Lwt.tval block_param_to_block_number :
t ->
chain_family:_ Evm_node_lib_dev_encoding.L2_types.chain_family ->
?hash_column:[ `Evm | `Michelson ] ->
Evm_node_lib_dev_encoding.Ethereum_types.Block_parameter.extended ->
Evm_node_lib_dev_encoding.Ethereum_types.quantity
Tezos_base.TzPervasives.tzresult
Lwt.tblock_param_to_block_number ctxt ~chain_family block_param returns the block number of the block identified by block_param. Uses the store for hash lookups.
val single_chain_id_and_family :
t ->
config:Evm_node_config.Configuration.t ->
enable_multichain:bool ->
(Evm_node_lib_dev_encoding.L2_types.chain_id option
* Evm_node_lib_dev_encoding.L2_types.ex_chain_family)
Tezos_base.TzPervasives.tzresult
Lwt.tsingle_chain_id_and_family ctxt ~config ~enable_multichain should only be called if the node is expected to follow a single chain.
val current_block_number :
t ->
Evm_node_lib_dev_encoding.Ethereum_types.quantity
Tezos_base.TzPervasives.tzresult
Lwt.tcurrent_block_number ctxt returns the most recent stored block number.
val nth_block :
t ->
full_transaction_object:bool ->
Z.t ->
Transaction_object.t Evm_node_lib_dev_encoding.Ethereum_types.block
Tezos_base.TzPervasives.tzresult
Lwt.tval block_by_hash :
t ->
full_transaction_object:bool ->
Evm_node_lib_dev_encoding.Ethereum_types.block_hash ->
Transaction_object.t Evm_node_lib_dev_encoding.Ethereum_types.block
Tezos_base.TzPervasives.tzresult
Lwt.tval block_receipts :
t ->
Z.t ->
Evm_node_lib_dev_encoding.Transaction_receipt.t list
Tezos_base.TzPervasives.tzresult
Lwt.tval block_range_receipts :
t ->
?mask:Ethbloom.t ->
Z.t ->
int ->
Evm_node_lib_dev_encoding.Transaction_receipt.t list
Tezos_base.TzPervasives.tzresult
Lwt.tval transaction_receipt :
t ->
Evm_node_lib_dev_encoding.Ethereum_types.hash ->
Evm_node_lib_dev_encoding.Transaction_receipt.t option
Tezos_base.TzPervasives.tzresult
Lwt.tval transaction_object :
t ->
Evm_node_lib_dev_encoding.Ethereum_types.hash ->
Transaction_object.t option Tezos_base.TzPervasives.tzresult Lwt.tval get_state :
t ->
?block:Evm_node_lib_dev_encoding.Ethereum_types.Block_parameter.extended ->
unit ->
Evm_state.t Tezos_base.TzPervasives.tzresult Lwt.tget_state ctxt ?block () returns the EVM state at the given block parameter. Defaults to Latest.
val read_state :
Evm_state.t ->
Durable_storage_path.path ->
bytes option Tezos_base.TzPervasives.tzresult Lwt.tread_state state path reads a value from the durable storage at path in the given state. Uses Durable_storageV2.read_opt internally.
val subkeys :
Evm_state.t ->
Durable_storage_path.path ->
string list Tezos_base.TzPervasives.tzresult Lwt.tsubkeys state path returns the list of subkeys under path in the durable storage of state.
val execute_entrypoint :
t ->
Evm_state.t ->
input_path:string ->
input:bytes ->
output_path:string ->
entrypoint:string ->
bytes Tezos_base.TzPervasives.tzresult Lwt.texecute_entrypoint ctxt state ~input_path ~input ~output_path ~entrypoint writes input to input_path in durable storage, calls the kernel entrypoint, and reads the result bytes from output_path.
val execute_entrypoint_with_insights :
t ->
Evm_state.t ->
input_path:string ->
input:bytes ->
insight_requests:Simulation.Encodings.insight_request list ->
entrypoint:string ->
bytes option list Tezos_base.TzPervasives.tzresult Lwt.tLike execute_entrypoint but reads multiple insight paths from durable storage after calling the kernel entrypoint.
module Etherlink : sig ... endmodule Tracer_etherlink : sig ... endval tezlink_nth_block :
t ->
Z.t ->
Evm_node_lib_dev_encoding.L2_types.Tezos_block.t
Tezos_base.TzPervasives.tzresult
Lwt.tval tezlink_nth_block_hash :
t ->
Z.t ->
Evm_node_lib_dev_encoding.Ethereum_types.block_hash option
Tezos_base.TzPervasives.tzresult
Lwt.tval tezosx_nth_block :
t ->
Z.t ->
Evm_node_lib_dev_encoding.L2_types.Tezos_block.t
Tezos_base.TzPervasives.tzresult
Lwt.tval tezosx_nth_block_hash :
t ->
Z.t ->
Evm_node_lib_dev_encoding.Ethereum_types.block_hash option
Tezos_base.TzPervasives.tzresult
Lwt.tval next_blueprint_number :
t ->
Evm_node_lib_dev_encoding.Ethereum_types.quantity
Tezos_base.TzPervasives.tzresult
Lwt.ttype evm_services_methods = {next_blueprint_number : unit ->
Evm_node_lib_dev_encoding.Ethereum_types.quantity Lwt.t;find_blueprint : Evm_node_lib_dev_encoding.Ethereum_types.quantity ->
Blueprint_types.with_events option Tezos_base.TzPervasives.tzresult Lwt.t;find_blueprint_legacy : Evm_node_lib_dev_encoding.Ethereum_types.quantity ->
Blueprint_types.Legacy.with_events option Tezos_base.TzPervasives.tzresult
Lwt.t;smart_rollup_address : Octez_smart_rollup.Address.t;time_between_blocks : Evm_node_config.Configuration.time_between_blocks;}val evm_services_methods :
t ->
Evm_node_config.Configuration.time_between_blocks ->
evm_services_methodstype replay_result = | Replay_success of {block : Evm_node_lib_dev_encoding.Ethereum_types.legacy_transaction_object
Evm_node_lib_dev_encoding.L2_types.block;evm_state : Evm_state.t;diverged : bool;process_time : Ptime.span;execution_gas : Evm_node_lib_dev_encoding.Ethereum_types.quantity;tezos_block : Evm_node_lib_dev_encoding.L2_types.Tezos_block.t option;}| Replay_failureval replay :
t ->
?log_file:string ->
?profile:Evm_node_config.Configuration.profile_mode ->
?evm_state:Pvm.State.t ->
?alter_evm_state:
(Pvm.State.t ->
(Pvm.State.t, Tezos_base.TzPervasives.tztrace) Stdlib.result Lwt.t) ->
replay_strategy ->
Evm_node_lib_dev_encoding.Ethereum_types.quantity ->
replay_result Tezos_base.TzPervasives.tzresult Lwt.tval blueprints_range : t -> Blueprints_publisher.blueprints_range