Module Transition_handler.Validator

module type CONTEXT = sig ... end
val validate_transition : context:(module CONTEXT) -> frontier:Transition_frontier.t -> unprocessed_transition_cache:Unprocessed_transition_cache.t -> ( [ `Time_received ] * unit Truth.true_t, [ `Genesis_state ] * unit Truth.true_t, [ `Proof ] * unit Truth.true_t, [ `Delta_block_chain ] * Mina_base.State_hash.t Mina_stdlib.Nonempty_list.t Truth.true_t, [ `Frontier_dependencies ] * unit Truth.false_t, [ `Staged_ledger_diff ] * unit Truth.false_t, [ `Protocol_versions ] * unit Truth.true_t ) Mina_block.Validation.with_block Network_peer.Envelope.Incoming.t -> ( ( Unprocessed_transition_cache.source, Unprocessed_transition_cache.target ) Cache_lib.Cached.t, [> `Disconnected | `In_frontier of Data_hash_lib.State_hash.Stable.V1.t | `In_process of Unprocessed_transition_cache.target Cache_lib.Intf.final_state ] ) Core_kernel__Result.t
val run : context:(module CONTEXT) -> trust_system:Trust_system.t -> time_controller:Block_time.Controller.t -> frontier:Transition_frontier.t -> transition_reader: ([< `Block of ( [ `Time_received ] * unit Truth.true_t, [ `Genesis_state ] * unit Truth.true_t, [ `Proof ] * unit Truth.true_t, [ `Delta_block_chain ] * Mina_base.State_hash.t Mina_stdlib.Nonempty_list.t Truth.true_t, [ `Frontier_dependencies ] * unit Truth.false_t, [ `Staged_ledger_diff ] * unit Truth.false_t, [ `Protocol_versions ] * unit Truth.true_t ) Mina_block.Validation.with_block Network_peer.Envelope.Incoming.t ] * [< `Valid_cb of Mina_net2.Validation_callback.t option ]) Pipe_lib.Strict_pipe.Reader.t -> valid_transition_writer: ( [ `Block of ( Mina_block.initial_valid_block Network_peer.Envelope.Incoming.t, Mina_base.State_hash.t ) Cache_lib.Cached.t ] * [ `Valid_cb of Mina_net2.Validation_callback.t option ], Pipe_lib.Strict_pipe.drop_head Pipe_lib.Strict_pipe.buffered, unit ) Pipe_lib.Strict_pipe.Writer.t -> unprocessed_transition_cache:Unprocessed_transition_cache.t -> unit