Make CGC queries dependant on the block slot

This commit is contained in:
dapplion
2025-03-28 13:10:17 -03:00
parent ca8eaea116
commit 0978156987
15 changed files with 165 additions and 110 deletions

View File

@@ -2922,7 +2922,7 @@ pub fn serve<T: BeaconChainTypes>(
p2p_addresses,
discovery_addresses,
metadata: from_meta_data::<T::EthSpec>(
&network_globals.local_metadata,
&network_globals.local_metadata(),
&chain.spec,
),
}))
@@ -4816,11 +4816,7 @@ pub fn serve<T: BeaconChainTypes>(
Ok(http_server)
}
fn from_meta_data<E: EthSpec>(
meta_data: &RwLock<MetaData<E>>,
spec: &ChainSpec,
) -> api_types::MetaData {
let meta_data = meta_data.read();
fn from_meta_data<E: EthSpec>(meta_data: &MetaData<E>, spec: &ChainSpec) -> api_types::MetaData {
let format_hex = |bytes: &[u8]| format!("0x{}", hex::encode(bytes));
let seq_number = *meta_data.seq_number();

View File

@@ -137,8 +137,10 @@ pub async fn publish_block<T: BeaconChainTypes, B: IntoGossipVerifiedBlock<T>>(
spawn_build_data_sidecar_task(chain.clone(), block.clone(), unverified_blobs)?;
// Gossip verify the block and blobs/data columns separately.
let gossip_verified_block_result = unverified_block
.into_gossip_verified_block(&chain, network_globals.custody_columns_count() as usize);
let gossip_verified_block_result = unverified_block.into_gossip_verified_block(
&chain,
network_globals.custody_columns_count(block.slot()) as usize,
);
let block_root = block_root.unwrap_or_else(|| {
gossip_verified_block_result.as_ref().map_or_else(
|_| block.canonical_root(),
@@ -223,7 +225,7 @@ pub async fn publish_block<T: BeaconChainTypes, B: IntoGossipVerifiedBlock<T>>(
publish_column_sidecars(network_tx, &gossip_verified_columns, &chain).map_err(|_| {
warp_utils::reject::custom_server_error("unable to publish data column sidecars".into())
})?;
let sampling_columns_indices = &network_globals.sampling_columns;
let sampling_columns_indices = &network_globals.sampling_columns(block.slot());
let sampling_columns = gossip_verified_columns
.into_iter()
.flatten()