Merge sigp/unstable into gloas-lookup-sync-fixes

Brings in the gossip-blob deprecation (#9126) and 17 other unstable
commits. Conflict resolutions (8 files):

- Kept our unified `SyncMessage::UnknownParentSidecarHeader` design over
  unstable's separate `UnknownParentDataColumn`/`UnknownParentPartialDataColumn`
  variants (gossip_methods, manager, single_block_lookup, mod, tests).
- Adopted unstable's gossip-blob deprecation: dropped `process_gossip_blob`,
  `process_gossip_verified_blob`, and the blob parent-unknown test path.
- Took unstable's `process_gossip_verified_data_column` (Result-returning
  `to_partial`), router PayloadEnvelopesByRoot flattened match, and combined
  `BlockProcessType::id` arm.
- Dropped unstable's gloas-lookup-sync boilerplate stubs (#9322) that
  duplicated our real impls: `process_lookup_envelope`,
  `rpc_payload_envelope_received`, `on_single_payload_envelope_response`,
  and the `SinglePayloadEnvelope` processing-result arm.

cargo check -p network passes clean.
This commit is contained in:
dapplion
2026-06-01 06:15:12 +02:00
134 changed files with 3321 additions and 3910 deletions

View File

@@ -390,7 +390,6 @@ pub enum Work<E: EthSpec> {
process_batch: Box<dyn FnOnce(Vec<GossipAggregatePackage<E>>) + Send + Sync>,
},
GossipBlock(AsyncFn),
GossipBlobSidecar(AsyncFn),
GossipDataColumnSidecar(AsyncFn),
GossipPartialDataColumnSidecar(AsyncFn),
DelayedImportBlock {
@@ -473,7 +472,6 @@ pub enum WorkType {
UnknownLightClientOptimisticUpdate,
GossipAggregateBatch,
GossipBlock,
GossipBlobSidecar,
GossipDataColumnSidecar,
GossipPartialDataColumnSidecar,
DelayedImportBlock,
@@ -530,7 +528,6 @@ impl<E: EthSpec> Work<E> {
Work::GossipAggregate { .. } => WorkType::GossipAggregate,
Work::GossipAggregateBatch { .. } => WorkType::GossipAggregateBatch,
Work::GossipBlock(_) => WorkType::GossipBlock,
Work::GossipBlobSidecar(_) => WorkType::GossipBlobSidecar,
Work::GossipDataColumnSidecar(_) => WorkType::GossipDataColumnSidecar,
Work::GossipPartialDataColumnSidecar(_) => WorkType::GossipPartialDataColumnSidecar,
Work::DelayedImportBlock { .. } => WorkType::DelayedImportBlock,
@@ -845,8 +842,6 @@ impl<E: EthSpec> BeaconProcessor<E> {
} else if let Some(item) = work_queues.gossip_execution_payload_queue.pop()
{
Some(item)
} else if let Some(item) = work_queues.gossip_blob_queue.pop() {
Some(item)
} else if let Some(item) = work_queues.gossip_data_column_queue.pop() {
Some(item)
} else if let Some(item) =
@@ -1159,9 +1154,6 @@ impl<E: EthSpec> BeaconProcessor<E> {
Work::GossipBlock { .. } => {
work_queues.gossip_block_queue.push(work, work_id)
}
Work::GossipBlobSidecar { .. } => {
work_queues.gossip_blob_queue.push(work, work_id)
}
Work::GossipDataColumnSidecar { .. } => {
work_queues.gossip_data_column_queue.push(work, work_id)
}
@@ -1308,7 +1300,6 @@ impl<E: EthSpec> BeaconProcessor<E> {
}
WorkType::GossipAggregateBatch => 0, // No queue
WorkType::GossipBlock => work_queues.gossip_block_queue.len(),
WorkType::GossipBlobSidecar => work_queues.gossip_blob_queue.len(),
WorkType::GossipDataColumnSidecar => {
work_queues.gossip_data_column_queue.len()
}
@@ -1538,7 +1529,6 @@ impl<E: EthSpec> BeaconProcessor<E> {
| Work::ColumnReconstruction(process_fn) => task_spawner.spawn_async(process_fn),
Work::IgnoredRpcBlock { process_fn } => task_spawner.spawn_blocking(process_fn),
Work::GossipBlock(work)
| Work::GossipBlobSidecar(work)
| Work::GossipDataColumnSidecar(work)
| Work::GossipPartialDataColumnSidecar(work)
| Work::GossipExecutionPayload(work) => task_spawner.spawn_async(async move {

View File

@@ -125,7 +125,6 @@ pub struct BeaconProcessorQueueLengths {
chain_segment_queue: usize,
backfill_chain_segment: usize,
gossip_block_queue: usize,
gossip_blob_queue: usize,
gossip_data_column_queue: usize,
gossip_partial_data_column_queue: usize,
delayed_block_queue: usize,
@@ -202,7 +201,6 @@ impl BeaconProcessorQueueLengths {
chain_segment_queue: 64,
backfill_chain_segment: 64,
gossip_block_queue: 1024,
gossip_blob_queue: 1024,
gossip_data_column_queue: 1024,
gossip_partial_data_column_queue: 1024,
delayed_block_queue: 1024,
@@ -218,7 +216,7 @@ impl BeaconProcessorQueueLengths {
payload_envelopes_brange_queue: 1024,
payload_envelopes_broots_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`
// TODO(EIP-7732): verify 1024 is preferable.
gossip_execution_payload_queue: 1024,
// TODO(EIP-7732) how big should this queue be?
gossip_execution_payload_bid_queue: 1024,
@@ -261,7 +259,6 @@ pub struct WorkQueues<E: EthSpec> {
pub chain_segment_queue: FifoQueue<Work<E>>,
pub backfill_chain_segment: FifoQueue<Work<E>>,
pub gossip_block_queue: FifoQueue<Work<E>>,
pub gossip_blob_queue: FifoQueue<Work<E>>,
pub gossip_data_column_queue: FifoQueue<Work<E>>,
pub gossip_partial_data_column_queue: FifoQueue<Work<E>>,
pub delayed_block_queue: FifoQueue<Work<E>>,
@@ -332,7 +329,6 @@ impl<E: EthSpec> WorkQueues<E> {
let chain_segment_queue = FifoQueue::new(queue_lengths.chain_segment_queue);
let backfill_chain_segment = FifoQueue::new(queue_lengths.backfill_chain_segment);
let gossip_block_queue = FifoQueue::new(queue_lengths.gossip_block_queue);
let gossip_blob_queue = FifoQueue::new(queue_lengths.gossip_blob_queue);
let gossip_data_column_queue = FifoQueue::new(queue_lengths.gossip_data_column_queue);
let gossip_partial_data_column_queue =
FifoQueue::new(queue_lengths.gossip_partial_data_column_queue);
@@ -401,7 +397,6 @@ impl<E: EthSpec> WorkQueues<E> {
column_reconstruction_queue,
backfill_chain_segment,
gossip_block_queue,
gossip_blob_queue,
gossip_data_column_queue,
gossip_partial_data_column_queue,
delayed_block_queue,