Mavkit_smart_rollup_node.Rollup_node_daemon
type state = {
mutable plugin : (module Protocol_plugin_sig.S);
mutable degraded : bool;
rpc_server : Rpc_server.t;
configuration : Configuration.t;
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 missing_data_error :
Mavryk_base.TzPervasives.error Mavryk_base.TzPervasives.TzTrace.trace ->
Mavryk_base.TzPervasives.Block_hash.t option
val report_missing_data :
('a, Mavryk_base.TzPervasives.error Mavryk_base.TzPervasives.TzTrace.trace)
Stdlib.result ->
('a, Mavryk_base.TzPervasives.error Mavryk_base.TzPervasives.TzTrace.trace)
Stdlib.result
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 plugin_of_first_block :
Mavryk_rpc.Context.simple ->
Layer1.header ->
(Mavryk_base.TzPervasives.Protocol_hash.t * Protocol_plugins.proto_plugin,
Mavryk_base.TzPervasives.tztrace)
Stdlib.result
Lwt.t
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