Fulu update to spec v1.6.0-alpha.4 (#7890)

Fulu update to spec [v1.6.0-alpha.4](https://github.com/ethereum/consensus-specs/releases/tag/v1.6.0-alpha.4).
- Make `number_of_columns` a preset
- Optimise `get_custody_groups` to avoid computing if cgc = 128
- Add support for additional typenum values in type_dispatch macro
This commit is contained in:
Jimmy Chen
2025-08-20 12:05:04 +10:00
committed by GitHub
parent 95882bfa66
commit b4704eab4a
56 changed files with 214 additions and 400 deletions

View File

@@ -13,16 +13,14 @@ use std::collections::HashSet;
use std::time::{Duration, Instant};
use std::{collections::HashMap, marker::PhantomData, sync::Arc};
use tracing::{debug, warn};
use types::EthSpec;
use types::{DataColumnSidecar, Hash256, data_column_sidecar::ColumnIndex};
use types::{DataColumnSidecarList, EthSpec};
use super::{LookupRequestResult, PeerGroup, RpcResponseResult, SyncNetworkContext};
const FAILED_PEERS_CACHE_EXPIRY_SECONDS: u64 = 5;
const MAX_STALE_NO_PEERS_DURATION: Duration = Duration::from_secs(30);
type DataColumnSidecarList<E> = Vec<Arc<DataColumnSidecar<E>>>;
pub struct ActiveCustodyRequest<T: BeaconChainTypes> {
block_root: Hash256,
custody_id: CustodyId,

View File

@@ -1,8 +1,8 @@
use lighthouse_network::rpc::methods::DataColumnsByRootRequest;
use ssz_types::VariableList;
use std::sync::Arc;
use types::{
ChainSpec, DataColumnSidecar, DataColumnsByRootIdentifier, EthSpec, ForkName, Hash256,
RuntimeVariableList,
};
use super::{ActiveRequestItems, LookupVerifyError};
@@ -14,13 +14,12 @@ pub struct DataColumnsByRootSingleBlockRequest {
}
impl DataColumnsByRootSingleBlockRequest {
pub fn try_into_request(
pub fn try_into_request<E: EthSpec>(
self,
fork_name: ForkName,
spec: &ChainSpec,
) -> Result<DataColumnsByRootRequest, &'static str> {
let number_of_columns = spec.number_of_columns as usize;
let columns = RuntimeVariableList::new(self.indices, number_of_columns)
) -> Result<DataColumnsByRootRequest<E>, &'static str> {
let columns = VariableList::new(self.indices)
.map_err(|_| "Number of indices exceeds total number of columns")?;
Ok(DataColumnsByRootRequest::new(
vec![DataColumnsByRootIdentifier {