Snark_pool.Resource_pool
include Intf.Snark_resource_pool_intf
with type transition_frontier := Transition_frontier.t
include Intf.Resource_pool_base_intf
with type transition_frontier := Transition_frontier.t
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
module Config : sig ... end
val handle_transition_frontier_diff :
transition_frontier_diff ->
t ->
unit Async_kernel.Deferred.t
Diff from a transition frontier extension that would update the resource pool
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 Core_kernel.Option.t Pipe_lib.Broadcast_pipe.Reader.t ->
config:Config.t ->
logger:Logger.t ->
tf_diff_writer:
( transition_frontier_diff,
Pipe_lib.Strict_pipe.synchronous,
unit Async_kernel.Deferred.t )
Pipe_lib.Strict_pipe.Writer.t ->
t
val make_config :
trust_system:Trust_system.t ->
verifier:Verifier.t ->
disk_location:string ->
Config.t
val add_snark :
?is_local:bool ->
t ->
work:Transaction_snark_work.Statement.t ->
proof:Ledger_proof.t One_or_two.t ->
fee:Mina_base.Fee_with_prover.t ->
[ `Added | `Statement_not_referenced ] Async_kernel.Deferred.t
val request_proof :
t ->
Transaction_snark_work.Statement.t ->
Ledger_proof.t One_or_two.t Priced_proof.t option
val verify_and_act :
t ->
work:
(Transaction_snark_work.Statement.t
* Ledger_proof.t One_or_two.t Priced_proof.t) ->
sender:Network_peer.Envelope.Sender.t ->
bool Async_kernel.Deferred.t
val snark_pool_json : t -> Yojson.Safe.t
val all_completed_work : t -> Transaction_snark_work.Info.t list
val remove_solved_work : t -> Transaction_snark_work.Statement.t -> unit
module Diff : Intf.Snark_pool_diff_intf with type resource_pool := t