Gloas gossip boilerplate (#8700)

All the required boilerplate for gloas gossip. We'll include the gossip message processing logic in a separate PR


  


Co-Authored-By: Eitan Seri- Levi <eserilev@gmail.com>

Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>
This commit is contained in:
Eitan Seri-Levi
2026-01-27 23:12:48 -08:00
committed by GitHub
parent f7b5c7ee3f
commit b202e98dd9
11 changed files with 532 additions and 12 deletions

View File

@@ -135,6 +135,10 @@ pub struct BeaconProcessorQueueLengths {
dcbroots_queue: usize,
dcbrange_queue: usize,
gossip_bls_to_execution_change_queue: usize,
gossip_execution_payload_queue: usize,
gossip_execution_payload_bid_queue: usize,
gossip_payload_attestation_queue: usize,
gossip_proposer_preferences_queue: usize,
lc_bootstrap_queue: usize,
lc_rpc_optimistic_update_queue: usize,
lc_rpc_finality_update_queue: usize,
@@ -201,6 +205,15 @@ impl BeaconProcessorQueueLengths {
dcbroots_queue: 1024,
dcbrange_queue: 1024,
gossip_bls_to_execution_change_queue: 16384,
// TODO(EIP-7732): verify 1024 is preferable. I used same value as `gossip_block_queue` and `gossip_blob_queue`
gossip_execution_payload_queue: 1024,
// TODO(EIP-7732) how big should this queue be?
gossip_execution_payload_bid_queue: 1024,
// PTC size ~512 per slot, buffer 2-3 slots for reorgs and processing delays (512 * 3 = 1536)
// TODO(EIP-7732): verify if this is preferable queue length or otherwise
gossip_payload_attestation_queue: 1536,
// TODO(EIP-7732): verify if this is preferable queue length
gossip_proposer_preferences_queue: 1024,
lc_gossip_finality_update_queue: 1024,
lc_gossip_optimistic_update_queue: 1024,
lc_bootstrap_queue: 1024,
@@ -245,6 +258,10 @@ pub struct WorkQueues<E: EthSpec> {
pub dcbroots_queue: FifoQueue<Work<E>>,
pub dcbrange_queue: FifoQueue<Work<E>>,
pub gossip_bls_to_execution_change_queue: FifoQueue<Work<E>>,
pub gossip_execution_payload_queue: FifoQueue<Work<E>>,
pub gossip_execution_payload_bid_queue: FifoQueue<Work<E>>,
pub gossip_payload_attestation_queue: FifoQueue<Work<E>>,
pub gossip_proposer_preferences_queue: FifoQueue<Work<E>>,
pub lc_gossip_finality_update_queue: FifoQueue<Work<E>>,
pub lc_gossip_optimistic_update_queue: FifoQueue<Work<E>>,
pub lc_bootstrap_queue: FifoQueue<Work<E>>,
@@ -310,6 +327,15 @@ impl<E: EthSpec> WorkQueues<E> {
let gossip_bls_to_execution_change_queue =
FifoQueue::new(queue_lengths.gossip_bls_to_execution_change_queue);
let gossip_execution_payload_queue =
FifoQueue::new(queue_lengths.gossip_execution_payload_queue);
let gossip_execution_payload_bid_queue =
FifoQueue::new(queue_lengths.gossip_execution_payload_bid_queue);
let gossip_payload_attestation_queue =
FifoQueue::new(queue_lengths.gossip_payload_attestation_queue);
let gossip_proposer_preferences_queue =
FifoQueue::new(queue_lengths.gossip_proposer_preferences_queue);
let lc_gossip_optimistic_update_queue =
FifoQueue::new(queue_lengths.lc_gossip_optimistic_update_queue);
let lc_gossip_finality_update_queue =
@@ -357,6 +383,10 @@ impl<E: EthSpec> WorkQueues<E> {
dcbroots_queue,
dcbrange_queue,
gossip_bls_to_execution_change_queue,
gossip_execution_payload_queue,
gossip_execution_payload_bid_queue,
gossip_payload_attestation_queue,
gossip_proposer_preferences_queue,
lc_gossip_optimistic_update_queue,
lc_gossip_finality_update_queue,
lc_bootstrap_queue,