Module Network_pool.Snark_pool

module type S = sig ... end
module type Transition_frontier_intf = sig ... end
include S with type transition_frontier := Transition_frontier.t
module Resource_pool : sig ... end
module For_tests : sig ... end
include Intf.Network_pool_base_intf with type resource_pool := Resource_pool.t and type resource_pool_diff := Resource_pool.Diff.t and type resource_pool_diff_verified := Resource_pool.Diff.verified and type transition_frontier := Transition_frontier.t and type config := Resource_pool.Config.t and type transition_frontier_diff := Resource_pool.transition_frontier_diff and type rejected_diff := Resource_pool.Diff.rejected
type t
module Local_sink : Mina_net2.Sink.S_with_void with type msg := Resource_pool.Diff.t * ( ([ `Broadcasted | `Not_broadcasted ] * Resource_pool.Diff.t * Resource_pool.Diff.rejected) Core_kernel.Or_error.t -> unit )
val create : config:Resource_pool.Config.t -> constraint_constants:Genesis_constants.Constraint_constants.t -> consensus_constants:Consensus.Constants.t -> time_controller:Block_time.Controller.t -> frontier_broadcast_pipe: Transition_frontier.t Core_kernel.Option.t Pipe_lib.Broadcast_pipe.Reader.t -> logger:Logger.t -> log_gossip_heard:bool -> on_remote_push:( unit -> unit Async_kernel.Deferred.t ) -> t * Remote_sink.t * Local_sink.t
val of_resource_pool_and_diffs : Resource_pool.t -> logger:Logger.t -> constraint_constants:Genesis_constants.Constraint_constants.t -> tf_diffs:Resource_pool.transition_frontier_diff Pipe_lib.Strict_pipe.Reader.t -> log_gossip_heard:bool -> on_remote_push:( unit -> unit Async_kernel.Deferred.t ) -> t * Remote_sink.t * Local_sink.t
val resource_pool : t -> Resource_pool.t
val create_rate_limiter : unit -> Rate_limiter.t
val apply_and_broadcast : t -> Resource_pool.Diff.verified Network_peer.Envelope.Incoming.t -> Broadcast_callback.t -> unit Async_kernel.Deferred.t
val load : ?allow_multiple_instances_for_tests:bool -> config:Resource_pool.Config.t -> logger:Logger.t -> constraint_constants:Genesis_constants.Constraint_constants.t -> consensus_constants:Consensus.Constants.t -> time_controller:Block_time.Controller.t -> frontier_broadcast_pipe: Transition_frontier.t option Pipe_lib.Broadcast_pipe.Reader.t -> log_gossip_heard:bool -> on_remote_push:( unit -> unit Async_kernel.Deferred.t ) -> unit -> (t * Remote_sink.t * Local_sink.t) Async_kernel.Deferred.t
module Diff_versioned : sig ... end