Module Make0.Resource_pool

type transition_frontier_diff = Transition_frontier.best_tip_diff * Base_ledger.t
val label : string
module Config : sig ... end
val make_config : trust_system:Trust_system.t -> pool_max_size:int -> verifier:Verifier.t -> genesis_constants:Genesis_constants.t -> Config.t
module Batcher = Batcher.Transaction_pool
module Lru_cache : sig ... end
module Mutex : sig ... end
type t = {
mutable pool : Indexed_pool.t;
recently_seen : Lru_cache.t;
locally_generated_uncommitted : ( Mina_transaction.Transaction_hash.User_command_with_valid_signature.t, Core.Time.t * [ `Batch of int ] ) Core.Hashtbl.t;(*

Commands generated on this machine, that are not included in the current best tip, along with the time they were added.

*)
locally_generated_committed : ( Mina_transaction.Transaction_hash.User_command_with_valid_signature.t, Core.Time.t * [ `Batch of int ] ) Core.Hashtbl.t;(*

Ones that are included in the current best tip.

*)
mutable current_batch : int;
mutable remaining_in_batch : int;
config : Config.t;
logger : Logger.t;
batcher : Batcher.t;
mutable best_tip_diff_relay : unit Async.Deferred.t Core.Option.t;
mutable best_tip_ledger : Base_ledger.t Core.Option.t;
}
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
val member : t -> ( Mina_base.User_command.Valid.Stable.V2.t, Mina_transaction__Transaction_hash.Stable.V1.t ) With_hash.Stable.V1.t -> bool
val get_best_tip_ledger : Transition_frontier.t -> Base_ledger.t

Get the best tip ledger

val drop_until_below_max_size : pool_max_size:int -> Indexed_pool.t -> Indexed_pool.t * Mina_transaction.Transaction_hash.User_command_with_valid_signature.t Core.Sequence.t
val has_sufficient_fee : pool_max_size:Core_kernel__Int.t -> Indexed_pool.t -> Mina_base.User_command.Stable.Latest.t -> bool
val diff_error_of_indexed_pool_error : Indexed_pool.Command_error.t -> Diff_versioned.Diff_error.t
val indexed_pool_error_metadata : Indexed_pool.Command_error.t -> (string * Yojson.Safe.t) list
val indexed_pool_error_log_info : Indexed_pool.Command_error.t -> string * (string * Yojson.Safe.t) list
val handle_transition_frontier_diff : (Transition_frontier.best_tip_diff * Base_ledger.t) -> t -> unit Async.Deferred.t
val create : 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 -> config:Config.t -> logger:Logger.t -> tf_diff_writer: ( Transition_frontier.best_tip_diff * Base_ledger.t, 'a, unit Async.Deferred.t ) Pipe_lib.Strict_pipe.Writer.t -> t
type pool = t
module Diff : sig ... end
val get_rebroadcastable : t -> has_timed_out:( Core.Time.t -> [< `Ok | `Timed_out ] ) -> Mina_base.User_command.t list list