Module Rollup_node.Make

Instantiate a module of type Services_backend_sig.S that communicates with a rollup node endpoint given by Base.base.

Parameters

module Base : sig ... end

Signature

current_block_number ~root returns the current block number of the L2 chain prefixed by root (depending on the chain_family in the configuration)

chain_id () returns chain id defined by the rollup.

chain_family chain_id returns chain family defined for the chain with id chain_id.

single_chain_id_and_family should only be called if the node is expected to follow a single chain. It compares the configuration of the node and the one of the kernel regarding the chain id and chain family.

If the multichain feature is disabled in both the kernel and the node, the default value (None, EVM) is returned.

If the multichain feature is enabled in the kernel, check that it is also enabled in the node, that the node is configured to follow exactly one of the chains, that its chain id is among the configured ones in the kernel, and that the chain families for this chain agree in the node and the kernel.

If the multichain feature is disabled in the kernel but enabled in the node, a warning is emmitted, the configured chain family is ignored and the returned chain family is the default EVM.

val storage_version : unit -> int Tezos_base.TzPervasives.tzresult Lwt.t

storage_version () returns the latest storage version known to the current kernel. This can be used to determine which features are and are not supported.

val kernel_version : unit -> string Tezos_base.TzPervasives.tzresult Lwt.t

kernel_version () returns the internal kernel version (i.e the commit hash where the kernel was compiled).

val kernel_root_hash : unit -> string option Tezos_base.TzPervasives.tzresult Lwt.t

kernel_root_hash () returns the internal kernel root hash (i.e the latest root hash that was applied during an upgrade).

val smart_rollup_address : string
val is_multichain_enabled : unit -> bool Tezos_base.TzPervasives.tzresult Lwt.t
val list_l1_l2_levels : from_l1_level:int32 -> (int32 * Evm_store.L1_l2_finalized_levels.t) list Tezos_base.TzPervasives.tzresult Lwt.t
val l2_levels_of_l1_level : int32 -> Evm_store.L1_l2_finalized_levels.t option Tezos_base.TzPervasives.tzresult Lwt.t