Module Mavkit_smart_rollup_node.Rollup_node_daemon

type state = {
  1. mutable plugin : (module Protocol_plugin_sig.S);
  2. mutable degraded : bool;
  3. rpc_server : Rpc_server.t;
  4. configuration : Configuration.t;
  5. node_ctxt : Node_context.rw;
}
val is_before_origination : [< `Read | `Write Read ] Node_context.t -> Layer1.header -> bool
val previous_context : [< `Read | `Write Read ] as 'a Node_context.t -> predecessor:Layer1.header -> 'b Mavryk_layer2_store.Context.t Mavryk_base.TzPervasives.tzresult Lwt.t
val start_workers : (module Protocol_plugin_sig.S) -> [ `Read | `Write ] Node_context.t -> (unit, Mavryk_base.TzPervasives.tztrace) Stdlib.result Lwt.t
val handle_protocol_migration : catching_up:bool -> state -> Layer1.header -> (unit, Mavryk_base.TzPervasives.tztrace) Stdlib.result Lwt.t
val maybe_split_context : [ `Read | `Write ] Node_context.t -> 'a option -> int32 -> (unit, Mavryk_base.TzPervasives.tztrace) Stdlib.result Lwt.t
val process_unseen_head : state -> catching_up:bool -> predecessor:Layer1.header -> Layer1.header -> ((Mavkit_smart_rollup.Sc_rollup_block.header, unit) Mavkit_smart_rollup.Sc_rollup_block.block, Mavryk_base.TzPervasives.tztrace) Stdlib.result Lwt.t
val process_l1_block : state -> catching_up:bool -> Layer1.header -> ([ `Already_processed of Mavkit_smart_rollup.Sc_rollup_block.t | `New of (Mavkit_smart_rollup.Sc_rollup_block.header, unit) Mavkit_smart_rollup.Sc_rollup_block.block | `Nothing ], Mavryk_base.TzPervasives.tztrace) Stdlib.result Lwt.t
val update_l2_chain : state -> catching_up:bool -> Layer1.header -> unit Mavryk_base.TzPervasives.tzresult Lwt.t
val notify_synchronized : [< `Read | `Write Read ] Node_context.t -> unit
val notify_synchronization : [< `Read | `Write Read ] Node_context.t -> int32 -> unit
val on_layer_1_head : state -> Layer1.header -> (unit, Mavryk_base.TzPervasives.tztrace) Stdlib.result Lwt.t
val daemonize : state -> unit Mavryk_base.TzPervasives.tzresult Lwt.t
val simple_refutation_loop : Layer1.header -> unit Mavryk_base.TzPervasives.tzresult Lwt.t
val degraded_refutation_loop : state -> Layer1.header -> (unit, Mavryk_base.TzPervasives.tztrace) Stdlib.result Lwt.t
val refutation_loop : state -> Layer1.header -> unit Mavryk_base.TzPervasives.tzresult Lwt.t
val refutation_daemon : ?restart:bool -> state -> unit
val install_finalizer : state -> Lwt_exit.clean_up_callback_id
val maybe_recover_bond : state -> (unit, Mavryk_base.TzPervasives.error list) Stdlib.result Lwt.t
val make_signers_for_injector : Purpose.operators -> (Mavryk_crypto.Signature.Public_key_hash.t list * [> `Delay_block of float | `Each_block ] * Mavkit_smart_rollup.Operation_kind.t list) list
val process_daemon : state -> unit Mavryk_base.TzPervasives.tzresult Lwt.t
module Internal_for_tests : sig ... end
val run : data_dir:string -> irmin_cache_size:int -> index_buffer_size:int -> ?log_kernel_debug_file:string -> Configuration.t -> Mavryk_client_base.Client_context.full -> (unit, Mavryk_base.TzPervasives.Error_monad.tztrace) Stdlib.result Lwt.t