Module Evm_node_lib_dev.Evm_ro_context

type t = {
  1. preimages : string;
  2. preimages_endpoint : Uri.t option;
  3. native_execution_policy : Evm_node_config.Configuration.native_execution_policy;
  4. data_dir : string;
  5. store : Evm_store.t;
  6. smart_rollup_address : Tezos_crypto.Hashed.Smart_rollup_address.t;
  7. index : Tezos_layer2_irmin_context.Irmin_context.ro_index;
  8. finalized_view : bool;
  9. block_storage_sqlite3 : bool;
}

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.

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.

preload_kernel_from_level ctxt level uses ctxt to preload the kernel used to apply the block at level level.

val ro_backend : ?evm_node_endpoint:Uri.t -> t -> Evm_node_config.Configuration.t -> (module Services_backend_sig.S)
type replay_result =
  1. | Replay_success of {
    1. block : Evm_node_lib_dev_encoding.Ethereum_types.legacy_transaction_object Evm_node_lib_dev_encoding.L2_types.block;
    2. evm_state : Evm_state.t;
    3. diverged : bool;
    4. process_time : Ptime.span;
    5. execution_gas : Evm_node_lib_dev_encoding.Ethereum_types.quantity;
    }
  2. | Replay_failure
val blueprints_range : t -> Blueprints_publisher.blueprints_range