Module type Mina_intf.Transition_router_intf

type transition_frontier
type transition_frontier_persistent_root
type transition_frontier_persistent_frontier
type breadcrumb
type network
val run : ?sync_local_state:bool -> context:(module CONTEXT) -> trust_system:Trust_system.t -> verifier:Verifier.t -> network:network -> is_seed:bool -> is_demo_mode:bool -> time_controller:Block_time.Controller.t -> consensus_local_state:Consensus.Data.Local_state.t -> persistent_root_location:string -> persistent_frontier_location:string -> frontier_broadcast_pipe: (transition_frontier option Pipe_lib.Broadcast_pipe.Reader.t * transition_frontier option Pipe_lib.Broadcast_pipe.Writer.t) -> network_transition_reader: ([ `Transition of Mina_block.t Network_peer.Envelope.Incoming.t ] * [ `Time_received of Block_time.t ] * [ `Valid_cb of Mina_net2.Validation_callback.t ]) Pipe_lib.Strict_pipe.Reader.t -> producer_transition_reader:breadcrumb Pipe_lib.Strict_pipe.Reader.t -> most_recent_valid_block: (Mina_block.initial_valid_block Pipe_lib.Broadcast_pipe.Reader.t * Mina_block.initial_valid_block Pipe_lib.Broadcast_pipe.Writer.t) -> catchup_mode:[ `Normal | `Super ] -> notify_online:( unit -> unit Async_kernel.Deferred.t ) -> unit -> ([ `Transition of Mina_block.Validated.t ] * [ `Source of [ `Gossip | `Catchup | `Internal ] ] * [ `Valid_cb of Mina_net2.Validation_callback.t option ]) Pipe_lib.Strict_pipe.Reader.t * unit Async_kernel.Ivar.t

sync_local_state is `true` by default, may be set to `false` for tests