diff --git a/beacon_node/beacon_chain/src/payload_envelope_verification/execution_pending_envelope.rs b/beacon_node/beacon_chain/src/payload_envelope_verification/execution_pending_envelope.rs index e0b1c2b2a5..dbabe9b96f 100644 --- a/beacon_node/beacon_chain/src/payload_envelope_verification/execution_pending_envelope.rs +++ b/beacon_node/beacon_chain/src/payload_envelope_verification/execution_pending_envelope.rs @@ -9,7 +9,9 @@ use crate::{ PayloadVerificationOutcome, block_verification::PayloadVerificationHandle, payload_envelope_verification::{ - AvailableEnvelope, EnvelopeError, EnvelopeImportData, MaybeAvailableEnvelope, gossip_verified_envelope::GossipVerifiedEnvelope, load_snapshot_from_state_root, payload_notifier::PayloadNotifier + AvailableEnvelope, EnvelopeError, EnvelopeImportData, MaybeAvailableEnvelope, + gossip_verified_envelope::GossipVerifiedEnvelope, load_snapshot_from_state_root, + payload_notifier::PayloadNotifier, }, }; @@ -88,13 +90,12 @@ impl GossipVerifiedEnvelope { // once the da cache is implemented we should set this envelope to pending and let the da cache // handle the availability logic. Ok(ExecutionPendingEnvelope { - signed_envelope: MaybeAvailableEnvelope::Available(AvailableEnvelope { - execution_block_hash: payload.block_hash, - envelope: signed_envelope, - columns: vec![].into(), - columns_available_timestamp: None, - spec: chain.spec.clone(), - }), + signed_envelope: MaybeAvailableEnvelope::Available(AvailableEnvelope::new( + payload.block_hash, + signed_envelope, + vec![].into(), + chain.spec.clone(), + )), import_data: EnvelopeImportData { block_root, _phantom: Default::default(), diff --git a/beacon_node/beacon_chain/src/payload_envelope_verification/mod.rs b/beacon_node/beacon_chain/src/payload_envelope_verification/mod.rs index 39fd742bce..85907dcd2a 100644 --- a/beacon_node/beacon_chain/src/payload_envelope_verification/mod.rs +++ b/beacon_node/beacon_chain/src/payload_envelope_verification/mod.rs @@ -50,14 +50,29 @@ pub struct EnvelopeImportData { #[derive(Debug)] pub struct AvailableEnvelope { - pub execution_block_hash: ExecutionBlockHash, - pub envelope: Arc>, - pub columns: DataColumnSidecarList, - pub columns_available_timestamp: Option, + execution_block_hash: ExecutionBlockHash, + envelope: Arc>, + columns: DataColumnSidecarList, + columns_available_timestamp: Option, pub spec: Arc, } impl AvailableEnvelope { + pub fn new( + execution_block_hash: ExecutionBlockHash, + envelope: Arc>, + columns: DataColumnSidecarList, + spec: Arc, + ) -> Self { + Self { + execution_block_hash, + envelope, + columns, + columns_available_timestamp: None, + spec, + } + } + pub fn message(&self) -> &ExecutionPayloadEnvelope { &self.envelope.message }