Module Transition_handler.Block_sink

type Structured_log_events.t +=
| Block_received of {
state_hash : Mina_base.State_hash.t;
sender : Network_peer.Envelope.Sender.t;
}
val block_received_structured_events_id : Structured_log_events.id
val block_received_structured_events_repr : Structured_log_events.repr
include Mina_net2.Sink.S_with_void with type msg := [ `Transition of Mina_block.t Network_peer.Envelope.Incoming.t ] * [ `Time_received of Block_time.t ] * [ `Valid_cb of Mina_net2.Validation_callback.t ]
include Mina_net2.Sink.S with type msg := [ `Transition of Mina_block.t Network_peer.Envelope.Incoming.t ] * [ `Time_received of Block_time.t ] * [ `Valid_cb of Mina_net2.Validation_callback.t ]
type t
val push : t -> ([ `Transition of Mina_block.t Network_peer.Envelope.Incoming.t ] * [ `Time_received of Block_time.t ] * [ `Valid_cb of Mina_net2.Validation_callback.t ]) -> unit Async_kernel.Deferred.t
val void : t
type block_sink_config = {
logger : Logger.t;
slot_duration_ms : Block_time.Span.t;
on_push : unit -> unit Async_kernel.Deferred.t;
time_controller : Block_time.Controller.t;
log_gossip_heard : bool;
consensus_constants : Consensus.Constants.t;
genesis_constants : Genesis_constants.t;
}