Module Gossip_net.Libp2p

type ('q, 'r) dispatch = Async.Versioned_rpc.Connection_with_menu.t -> 'q -> 'r Async.Deferred.Or_error.t
module Connection_with_state : sig ... end
type pubsub_topic_mode_t =
| RO
| RW
| N
val v1_topic_block : string
val v1_topic_tx : string
val v1_topic_snark_work : string
val v1_topics : string list
val v0_topic : string
module Config : sig ... end
module type S = sig ... end
val rpc_transport_proto : string
val download_seed_peer_list : Uri.t -> Mina_net2.Multiaddr.t list Async_kernel__Deferred.t
type publish_functions = {
publish_v0 : Gossip_net__Message.Master.T.msg -> unit Async.Deferred.t;
publish_v1_block : Mina_block.t -> unit Async.Deferred.t;
publish_v1_tx : Network_pool.Transaction_pool.Resource_pool.Diff.t -> unit Async.Deferred.t;
publish_v1_snark_work : Network_pool.Snark_pool.Resource_pool.Diff.t -> unit Async.Deferred.t;
}
val empty_publish_functions : publish_functions
val validate_gossip_base : fn: ( ('a Network_peer.Envelope.Incoming.t * Mina_net2.Validation_callback.t) -> unit Async.Deferred.t ) -> Network_peer.Peer.Id.t -> 'a Network_peer.Envelope.Incoming.t -> Mina_net2.Validation_callback.t -> unit Async.Deferred.t
val on_gossip_decode_failure : Config.t -> 'a Network_peer.Envelope.Incoming.t -> Core.Error.t -> unit