mirror of
https://github.com/sigp/lighthouse.git
synced 2026-06-15 09:48:20 +00:00
Closes the TODO in single_block_lookup.rs's PayloadRequestState::Downloaded arm: the lookup now actually submits the downloaded envelope to the beacon processor instead of transitioning to Processing without sending anything. Without this Gloas lookups can never complete — the completion check requires PayloadRequest::Complete which is only reached via on_payload_processing_result. Pieces added: - BlockProcessType::SinglePayloadEnvelope(Id) variant + dispatcher arm in on_processing_result routing it to on_payload_processing_result. - beacon_processor: dedicated Work::RpcEnvelope(AsyncFn) variant + rpc_envelope_queue (FIFO, capacity 1024) drained in the worker pop loop after rpc_custody_column_queue. - NetworkBeaconProcessor::send_lookup_envelope wrapping the new Work variant; process_lookup_envelope async fn calling verify_envelope_for_gossip + process_execution_payload_envelope. - classify_envelope_result mapping EnvelopeError variants to the new BlockProcessingResult shape; non-attributable errors carry no penalty, attributable ones penalize the block peer. - SyncNetworkContext::send_payload_for_processing as the lookup-side entry point. - PayloadRequestState::Downloaded now carries the envelope alongside the peer_group so we have something to submit. - on_payload_processing_result switched from `bool` to the BlockProcessingResult shape for parity with on_block/on_data; removes the `#[allow(dead_code)]`.