Evm_node_lib_dev.Evm_ro_context
type 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 : Tezos_layer2_irmin_context.Irmin_context.ro_index;
finalized_view : bool;
block_storage_sqlite3 : bool;
}
val load :
?network:Evm_node_config.Configuration.supported_network ->
?smart_rollup_address:Octez_smart_rollup.Address.t ->
data_dir:string ->
Evm_node_config.Configuration.t ->
t Tezos_base.TzPervasives.tzresult Lwt.t
load ~data_dir 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.t
read_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.t
read_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.t
preload_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.t
preload_kernel_from_level ctxt level
uses ctxt
to preload the kernel used to apply the block at level level
.
val next_blueprint_number :
t ->
Evm_node_lib_dev_encoding.Ethereum_types.quantity
Tezos_base.TzPervasives.tzresult
Lwt.t
val ro_backend :
?evm_node_endpoint:Uri.t ->
t ->
Evm_node_config.Configuration.t ->
(module Services_backend_sig.S)
type 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;
}
| Replay_failure
val replay :
t ->
?log_file:string ->
?profile:Evm_node_config.Configuration.profile_mode ->
?alter_evm_state:
(Tezos_layer2_irmin_context.Irmin_context.tree ->
(Tezos_layer2_irmin_context.Irmin_context.tree,
Tezos_base.TzPervasives.tztrace)
Stdlib.result
Lwt.t) ->
Evm_node_lib_dev_encoding.Ethereum_types.quantity ->
replay_result Tezos_base.TzPervasives.tzresult Lwt.t
val evm_services_methods :
t ->
Evm_node_config.Configuration.time_between_blocks ->
Rpc_server.evm_services_methods
val blueprints_range : t -> Blueprints_publisher.blueprints_range