diff --git a/beacon_node/beacon_chain/src/beacon_chain.rs b/beacon_node/beacon_chain/src/beacon_chain.rs index ff67fc0b3b..e17b4789f8 100644 --- a/beacon_node/beacon_chain/src/beacon_chain.rs +++ b/beacon_node/beacon_chain/src/beacon_chain.rs @@ -3453,7 +3453,7 @@ impl BeaconChain { &merge_result.full_columns, ) .map_err(BlockError::from)?; - self.process_payload_availability(slot, availability, || Ok(())) + self.process_payload_envelope_availability(slot, availability, || Ok(())) .await? } else { let availability = self @@ -3702,7 +3702,7 @@ impl BeaconChain { }; Ok(self - .process_payload_availability(slot, availability, || Ok(())) + .process_payload_envelope_availability(slot, availability, || Ok(())) .await .map(|status| Some((status, data_columns_to_publish)))?) } @@ -4011,7 +4011,7 @@ impl BeaconChain { .pending_payload_cache .put_gossip_verified_data_columns(block_root, bid, data_columns)?; Ok(self - .process_payload_availability(slot, availability, publish_fn) + .process_payload_envelope_availability(slot, availability, publish_fn) .await?) } else { let availability = self @@ -4118,7 +4118,7 @@ impl BeaconChain { .put_kzg_verified_custody_data_columns(block_root, bid, &data_columns) .map_err(BlockError::from)?; Ok(self - .process_payload_availability(slot, availability, || Ok(())) + .process_payload_envelope_availability(slot, availability, || Ok(())) .await?) } else { let availability = self @@ -4162,7 +4162,7 @@ impl BeaconChain { .put_rpc_custody_columns(block_root, bid, custody_columns) .map_err(BlockError::from)?; Ok(self - .process_payload_availability(slot, availability, || Ok(())) + .process_payload_envelope_availability(slot, availability, || Ok(())) .await?) } else { let availability = self @@ -4229,7 +4229,7 @@ impl BeaconChain { } } - async fn process_payload_availability( + pub(crate) async fn process_payload_envelope_availability( self: &Arc, slot: Slot, availability: PayloadAvailability, diff --git a/beacon_node/beacon_chain/src/payload_envelope_verification/import.rs b/beacon_node/beacon_chain/src/payload_envelope_verification/import.rs index 975a684e95..10d97add1d 100644 --- a/beacon_node/beacon_chain/src/payload_envelope_verification/import.rs +++ b/beacon_node/beacon_chain/src/payload_envelope_verification/import.rs @@ -6,14 +6,13 @@ use fork_choice::PayloadVerificationStatus; use slot_clock::SlotClock; use store::StoreOp; use tracing::{debug, error, info, info_span, instrument, warn}; -use types::{BlockImportSource, Hash256, SignedExecutionPayloadEnvelope, Slot}; +use types::{BlockImportSource, Hash256, SignedExecutionPayloadEnvelope}; use super::{ AvailableEnvelope, AvailableExecutedEnvelope, EnvelopeError, gossip_verified_envelope::GossipVerifiedEnvelope, }; use crate::data_column_verification::load_gloas_payload_bid; -use crate::pending_payload_cache::Availability as PayloadAvailability; use crate::{ AvailabilityProcessingStatus, BeaconChain, BeaconChainError, BeaconChainTypes, BlockError, NotifyExecutionLayer, @@ -156,28 +155,6 @@ impl BeaconChain { } } - /// Imports a fully available payload envelope. Otherwise, returns `AvailabilityProcessingStatus::MissingComponents` - /// - /// An error is returned if the enveope was unable to be imported. It may be partially imported - /// (i.e., this function is not atomic). - async fn process_payload_envelope_availability( - self: &Arc, - slot: Slot, - availability: PayloadAvailability, - publish_fn: impl FnOnce() -> Result<(), BlockError>, - ) -> Result { - match availability { - PayloadAvailability::Available(available_envelope) => { - publish_fn()?; - self.import_available_execution_payload_envelope(available_envelope) - .await - } - PayloadAvailability::MissingComponents(block_root) => Ok( - AvailabilityProcessingStatus::MissingComponents(slot, block_root), - ), - } - } - #[instrument(skip_all)] async fn check_envelope_availability_and_import( self: &Arc,