Merge remote-tracking branch 'sigp/unstable' into peerdas-devnet-7

This commit is contained in:
dapplion
2025-06-11 11:03:38 +02:00
21 changed files with 216 additions and 43 deletions

View File

@@ -181,7 +181,7 @@ pub fn compute_proposer_duties_from_head<T: BeaconChainTypes>(
ensure_state_is_in_epoch(&mut state, head_state_root, request_epoch, &chain.spec)?;
let indices = state
.get_beacon_proposer_indices(&chain.spec)
.get_beacon_proposer_indices(request_epoch, &chain.spec)
.map_err(BeaconChainError::from)?;
let dependent_root = state

View File

@@ -523,7 +523,8 @@ pub fn validate_blob_sidecar_for_gossip<T: BeaconChainTypes, O: ObservationStrat
&chain.spec,
)?;
let proposers = state.get_beacon_proposer_indices(&chain.spec)?;
let epoch = state.current_epoch();
let proposers = state.get_beacon_proposer_indices(epoch, &chain.spec)?;
let proposer_index = *proposers
.get(blob_slot.as_usize() % T::EthSpec::slots_per_epoch() as usize)
.ok_or_else(|| BeaconChainError::NoProposerForSlot(blob_slot))?;

View File

@@ -981,7 +981,8 @@ impl<T: BeaconChainTypes> GossipVerifiedBlock<T> {
&chain.spec,
)?;
let proposers = state.get_beacon_proposer_indices(&chain.spec)?;
let epoch = state.current_epoch();
let proposers = state.get_beacon_proposer_indices(epoch, &chain.spec)?;
let proposer_index = *proposers
.get(block.slot().as_usize() % T::EthSpec::slots_per_epoch() as usize)
.ok_or_else(|| BeaconChainError::NoProposerForSlot(block.slot()))?;

View File

@@ -669,7 +669,8 @@ fn verify_proposer_and_signature<T: BeaconChainTypes>(
&chain.spec,
)?;
let proposers = state.get_beacon_proposer_indices(&chain.spec)?;
let epoch = state.current_epoch();
let proposers = state.get_beacon_proposer_indices(epoch, &chain.spec)?;
// Prime the proposer shuffling cache with the newly-learned value.
Ok::<_, GossipDataColumnError>(EpochBlockProposers {
epoch: column_epoch,

View File

@@ -187,9 +187,9 @@ pub fn blobs_to_data_column_sidecars<E: EthSpec>(
.collect::<Vec<_>>();
// NOTE: assumes blob sidecars are ordered by index
let blob_cells_and_proofs_vec = blobs
let zipped: Vec<_> = blobs.iter().zip(proof_chunks).collect();
let blob_cells_and_proofs_vec = zipped
.into_par_iter()
.zip(proof_chunks.into_par_iter())
.map(|(blob, proofs)| {
let blob = blob
.as_ref()

View File

@@ -377,7 +377,7 @@ fn advance_head<T: BeaconChainTypes>(beacon_chain: &Arc<BeaconChain<T>>) -> Resu
state.current_epoch(),
head_block_root,
state
.get_beacon_proposer_indices(&beacon_chain.spec)
.get_beacon_proposer_indices(state.current_epoch(), &beacon_chain.spec)
.map_err(BeaconChainError::from)?,
state.fork(),
)