Module Mina_lib.Subscriptions

type 'a reader_and_writer = 'a Async_kernel.Pipe.Reader.t * 'a Async_kernel.Pipe.Writer.t
module Optional_public_key : sig ... end
val add_new_subscription : t -> pk:Signature_lib.Public_key.Compressed.t -> unit
val create : logger:Logger.t -> constraint_constants:Genesis_constants.Constraint_constants.t -> wallets:Secrets.Wallets.t -> new_blocks:Mina_block.Validated.t Pipe_lib.Strict_pipe.Reader.t -> transition_frontier: Transition_frontier.t option Pipe_lib.Broadcast_pipe.Reader.t -> is_storing_all:bool -> time_controller:Block_time.Controller.t -> upload_blocks_to_gcloud:bool -> precomputed_block_writer: ([< `Path of Base.string ] option * 'a option) Core_kernel.ref -> t
val add_block_subscriber : t -> Optional_public_key.Table.key Core_kernel.Hashtbl.key -> ( Filtered_external_transition.t, Mina_base.State_hash.t ) With_hash.t Async_kernel.Pipe.Reader.t
val add_payment_subscriber : t -> Signature_lib.Public_key.Compressed.Table.key Core_kernel.Hashtbl.key -> Mina_base.Signed_command.t Async_kernel.Pipe.Reader.t
val add_reorganization_subscriber : t -> [ `Changed ] Async_kernel.Pipe.Reader.t