smol cleanup

This commit is contained in:
Eitan Seri-Levi
2026-05-01 10:51:05 +02:00
parent 73ba76312e
commit 8510bb462d
4 changed files with 40 additions and 31 deletions

View File

@@ -71,7 +71,6 @@ use crate::pending_payload_cache::PendingPayloadCache;
use crate::pending_payload_cache::{ use crate::pending_payload_cache::{
Availability as PayloadAvailability, Availability as PayloadAvailability,
DataColumnReconstructionResult as DataColumnReconstructionResultGloas, DataColumnReconstructionResult as DataColumnReconstructionResultGloas,
signed_payload_bid_from_block,
}; };
use crate::pending_payload_envelopes::PendingPayloadEnvelopes; use crate::pending_payload_envelopes::PendingPayloadEnvelopes;
use crate::persisted_beacon_chain::PersistedBeaconChain; use crate::persisted_beacon_chain::PersistedBeaconChain;
@@ -3835,7 +3834,13 @@ impl<T: BeaconChainTypes> BeaconChain<T> {
let block = execution_pending.block.block_cloned(); let block = execution_pending.block.block_cloned();
if block.fork_name_unchecked().gloas_enabled() { if block.fork_name_unchecked().gloas_enabled() {
let bid = signed_payload_bid_from_block(block.as_ref())?; let bid = Arc::new(
block
.message()
.body()
.signed_execution_payload_bid()?
.clone(),
);
chain.pending_payload_cache.insert_bid(block_root, bid); chain.pending_payload_cache.insert_bid(block_root, bid);
} }

View File

@@ -9,7 +9,6 @@ use crate::kzg_utils::{
use crate::observed_data_sidecars::{ use crate::observed_data_sidecars::{
Error as ObservedDataSidecarsError, ObservationKey, ObservationStrategy, Observe, Error as ObservedDataSidecarsError, ObservationKey, ObservationStrategy, Observe,
}; };
use crate::pending_payload_cache::signed_payload_bid_from_block;
use crate::{BeaconChain, BeaconChainError, BeaconChainTypes, metrics}; use crate::{BeaconChain, BeaconChainError, BeaconChainTypes, metrics};
use educe::Educe; use educe::Educe;
use fork_choice::ProtoBlock; use fork_choice::ProtoBlock;
@@ -1313,19 +1312,36 @@ pub(crate) fn load_gloas_payload_bid<T: BeaconChainTypes>(
} }
let bid = if let Some(block) = chain.early_attester_cache.get_block(block_root) { let bid = if let Some(block) = chain.early_attester_cache.get_block(block_root) {
signed_payload_bid_from_block(block.as_ref()).map_err(BeaconChainError::BeaconStateError)? Arc::new(
block
.message()
.body()
.signed_execution_payload_bid()
.map_err(BeaconChainError::BeaconStateError)?
.clone(),
)
} else { } else {
match chain match chain
.store .store
.try_get_full_block(&block_root) .try_get_full_block(&block_root)
.map_err(BeaconChainError::DBError)? .map_err(BeaconChainError::DBError)?
{ {
Some(DatabaseBlock::Full(block)) => { Some(DatabaseBlock::Full(block)) => Arc::new(
signed_payload_bid_from_block(&block).map_err(BeaconChainError::BeaconStateError)? block
} .message()
Some(DatabaseBlock::Blinded(block)) => { .body()
signed_payload_bid_from_block(&block).map_err(BeaconChainError::BeaconStateError)? .signed_execution_payload_bid()
} .map_err(BeaconChainError::BeaconStateError)?
.clone(),
),
Some(DatabaseBlock::Blinded(block)) => Arc::new(
block
.message()
.body()
.signed_execution_payload_bid()
.map_err(BeaconChainError::BeaconStateError)?
.clone(),
),
None => { None => {
return Ok(None); return Ok(None);
} }

View File

@@ -41,7 +41,6 @@ use crate::metrics::{
KZG_DATA_COLUMN_RECONSTRUCTION_ATTEMPTS, KZG_DATA_COLUMN_RECONSTRUCTION_FAILURES, KZG_DATA_COLUMN_RECONSTRUCTION_ATTEMPTS, KZG_DATA_COLUMN_RECONSTRUCTION_FAILURES,
}; };
use crate::observed_data_sidecars::ObservationStrategy; use crate::observed_data_sidecars::ObservationStrategy;
pub use pending_components::signed_payload_bid_from_block;
use pending_components::{PendingComponents, ReconstructColumnsDecision}; use pending_components::{PendingComponents, ReconstructColumnsDecision};
use types::SignedExecutionPayloadBid; use types::SignedExecutionPayloadBid;
use types::new_non_zero_usize; use types::new_non_zero_usize;
@@ -725,7 +724,14 @@ mod data_availability_checker_tests {
let (block, data_columns) = let (block, data_columns) =
generate_rand_block_and_data_columns::<E>(ForkName::Gloas, num_blobs, &mut rng, spec); generate_rand_block_and_data_columns::<E>(ForkName::Gloas, num_blobs, &mut rng, spec);
let block_root = block.canonical_root(); let block_root = block.canonical_root();
let bid = signed_payload_bid_from_block(&block).expect("should get payload bid"); let bid = Arc::new(
block
.message()
.body()
.signed_execution_payload_bid()
.expect("should get payload bid")
.clone(),
);
cache.insert_bid(block_root, bid.clone()); cache.insert_bid(block_root, bid.clone());
(bid, block_root, data_columns) (bid, block_root, data_columns)
} }

View File

@@ -9,25 +9,7 @@ use std::collections::HashMap;
use std::sync::Arc; use std::sync::Arc;
use tracing::{Span, debug, debug_span}; use tracing::{Span, debug, debug_span};
use types::DataColumnSidecar; use types::DataColumnSidecar;
use types::{ use types::{ColumnIndex, EthSpec, Hash256, SignedExecutionPayloadBid};
AbstractExecPayload, BeaconStateError, ColumnIndex, EthSpec, Hash256, SignedBeaconBlock,
SignedExecutionPayloadBid,
};
/// Extract the signed execution payload bid from a Gloas block as a shareable `Arc`.
///
/// Returns `Err` if the block is not a Gloas block.
pub fn signed_payload_bid_from_block<E: EthSpec, P: AbstractExecPayload<E>>(
block: &SignedBeaconBlock<E, P>,
) -> Result<Arc<SignedExecutionPayloadBid<E>>, BeaconStateError> {
Ok(Arc::new(
block
.message()
.body()
.signed_execution_payload_bid()?
.clone(),
))
}
/// This represents the components of a payload pending data availability. /// This represents the components of a payload pending data availability.
/// ///