Network_pool.Snark_pool
module type S = sig ... end
module type Transition_frontier_intf = sig ... end
module Make
(Base_ledger : Intf.Base_ledger_intf)
(Staged_ledger : sig ... end)
(Transition_frontier :
Transition_frontier_intf with type staged_ledger := Staged_ledger.t) :
S with type transition_frontier := Transition_frontier.t
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
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 )
module Broadcast_callback :
Intf.Broadcast_callback
with type resource_pool_diff := Resource_pool.Diff.t
and type rejected_diff := Resource_pool.Diff.rejected
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 broadcasts : t -> Resource_pool.Diff.t Pipe_lib.Linear_pipe.Reader.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 get_completed_work :
t ->
Transaction_snark_work.Statement.t ->
Transaction_snark_work.Checked.t option
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