Module Distributed_db.Advertise

val current_head : chain_db -> ?mempool:Mavryk_base.Mempool.t -> Mavryk_store.Store.Block.t -> unit

current_head chain_db ?mempool head sends a Current_head (chain_id, head_header, mempool) message to all known active peers for this chain. If mempool isn't specified, or if remote peer has disabled its mempool, mempool is empty. chain_id is the identifier for this chain_db.

val prechecked_head : chain_db -> ?mempool:Mavryk_base.Mempool.t -> Mavryk_base.Block_header.t -> unit

prechecked_head chain_db ?mempool head sends a Current_head (chain_id, head_header, mempool) message to all known active peers for this chain. If mempool isn't specified, or if remote peer has disabled its mempool, mempool is empty. chain_id is the identifier for this chain_db.

The message is only sent when the peer's network version is at least 2. For former protocol versions, we could get kicked kicked for having send an invalid block that passes the precheck.

val current_branch : chain_db -> unit Lwt.t

current_branch chain_db sends a Current_branch (chain_id, locator) message to all known active peers for this chain. locator is constructed based on the seed (remote_peer_id, this_peer_id).