mirror of
https://github.com/sigp/lighthouse.git
synced 2026-04-17 04:48:21 +00:00
Use DataColumnSidecarList
This commit is contained in:
@@ -554,7 +554,7 @@ impl<T: BeaconChainTypes> NetworkBeaconProcessor<T> {
|
||||
pub fn send_rpc_validate_data_columns(
|
||||
self: &Arc<Self>,
|
||||
block_root: Hash256,
|
||||
data_columns: Vec<Arc<DataColumnSidecar<T::EthSpec>>>,
|
||||
data_columns: DataColumnSidecarList<T::EthSpec>,
|
||||
seen_timestamp: Duration,
|
||||
id: SamplingId,
|
||||
) -> Result<(), Error<T::EthSpec>> {
|
||||
|
||||
@@ -1216,7 +1216,7 @@ impl<T: BeaconChainTypes> SyncNetworkContext<T> {
|
||||
id: DataColumnsByRootRequestId,
|
||||
peer_id: PeerId,
|
||||
rpc_event: RpcEvent<Arc<DataColumnSidecar<T::EthSpec>>>,
|
||||
) -> Option<RpcResponseResult<Vec<Arc<DataColumnSidecar<T::EthSpec>>>>> {
|
||||
) -> Option<RpcResponseResult<DataColumnSidecarList<T::EthSpec>>> {
|
||||
let resp = self
|
||||
.data_columns_by_root_requests
|
||||
.on_response(id, rpc_event);
|
||||
@@ -1314,7 +1314,7 @@ impl<T: BeaconChainTypes> SyncNetworkContext<T> {
|
||||
id: CustodyId,
|
||||
req_id: DataColumnsByRootRequestId,
|
||||
peer_id: PeerId,
|
||||
resp: RpcResponseResult<Vec<Arc<DataColumnSidecar<T::EthSpec>>>>,
|
||||
resp: RpcResponseResult<DataColumnSidecarList<T::EthSpec>>,
|
||||
) -> Option<CustodyRequestResult<T::EthSpec>> {
|
||||
let span = span!(
|
||||
Level::INFO,
|
||||
@@ -1381,7 +1381,7 @@ impl<T: BeaconChainTypes> SyncNetworkContext<T> {
|
||||
id: CustodyByRangeRequestId,
|
||||
req_id: DataColumnsByRangeRequestId,
|
||||
peer_id: PeerId,
|
||||
resp: RpcResponseResult<Vec<Arc<DataColumnSidecar<T::EthSpec>>>>,
|
||||
resp: RpcResponseResult<DataColumnSidecarList<T::EthSpec>>,
|
||||
) -> Option<CustodyRequestResult<T::EthSpec>> {
|
||||
// Note: need to remove the request to borrow self again below. Otherwise we can't
|
||||
// do nested requests
|
||||
|
||||
@@ -15,8 +15,8 @@ use parking_lot::RwLock;
|
||||
use std::collections::{HashMap, HashSet};
|
||||
use std::sync::Arc;
|
||||
use types::{
|
||||
BlobSidecar, ChainSpec, ColumnIndex, DataColumnSidecar, EthSpec, Hash256, RuntimeVariableList,
|
||||
SignedBeaconBlock, Slot,
|
||||
BlobSidecar, ChainSpec, ColumnIndex, DataColumnSidecarList, EthSpec, Hash256,
|
||||
RuntimeVariableList, SignedBeaconBlock, Slot,
|
||||
};
|
||||
|
||||
/// Given a `BlocksByRangeRequest` (a range of slots) fetches all necessary data to return
|
||||
@@ -57,7 +57,7 @@ enum FuluEnabledState<E: EthSpec> {
|
||||
blocks: Vec<Arc<SignedBeaconBlock<E>>>,
|
||||
block_peer: PeerId,
|
||||
custody_by_range_request:
|
||||
ByRangeRequest<CustodyByRangeRequestId, Vec<Arc<DataColumnSidecar<E>>>, PeerGroup>,
|
||||
ByRangeRequest<CustodyByRangeRequestId, DataColumnSidecarList<E>, PeerGroup>,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -389,7 +389,7 @@ impl<T: BeaconChainTypes> BlockComponentsByRangeRequest<T> {
|
||||
pub fn on_custody_by_range_result(
|
||||
&mut self,
|
||||
id: CustodyByRangeRequestId,
|
||||
data: Vec<Arc<DataColumnSidecar<T::EthSpec>>>,
|
||||
data: DataColumnSidecarList<T::EthSpec>,
|
||||
peers: PeerGroup,
|
||||
cx: &mut SyncNetworkContext<T>,
|
||||
) -> BlockComponentsByRangeRequestResult<T::EthSpec> {
|
||||
@@ -483,7 +483,7 @@ fn couple_blocks_deneb<E: EthSpec>(
|
||||
|
||||
fn couple_blocks_fulu<E: EthSpec>(
|
||||
blocks: Vec<Arc<SignedBeaconBlock<E>>>,
|
||||
data_columns: Vec<Arc<DataColumnSidecar<E>>>,
|
||||
data_columns: DataColumnSidecarList<E>,
|
||||
custody_column_indices: Vec<ColumnIndex>,
|
||||
spec: &ChainSpec,
|
||||
) -> Result<Vec<RpcBlock<E>>, Error> {
|
||||
|
||||
@@ -16,8 +16,8 @@ use std::time::{Duration, Instant};
|
||||
use std::{collections::HashMap, marker::PhantomData, sync::Arc};
|
||||
use tracing::{debug, warn};
|
||||
use types::{
|
||||
data_column_sidecar::ColumnIndex, DataColumnSidecar, Epoch, EthSpec, Hash256,
|
||||
SignedBeaconBlockHeader, Slot,
|
||||
data_column_sidecar::ColumnIndex, DataColumnSidecar, DataColumnSidecarList, Epoch, EthSpec,
|
||||
Hash256, SignedBeaconBlockHeader, Slot,
|
||||
};
|
||||
|
||||
use super::{PeerGroup, RpcResponseResult, SyncNetworkContext};
|
||||
@@ -25,8 +25,6 @@ use super::{PeerGroup, RpcResponseResult, SyncNetworkContext};
|
||||
const TEMPORARY_FAULT_EXPIRY_SECONDS: u64 = 15;
|
||||
const REQUEST_EXPIRY_SECONDS: u64 = 300;
|
||||
|
||||
type DataColumnSidecarList<E> = Vec<Arc<DataColumnSidecar<E>>>;
|
||||
|
||||
pub struct ActiveCustodyByRangeRequest<T: BeaconChainTypes> {
|
||||
start_time: Instant,
|
||||
id: CustodyByRangeRequestId,
|
||||
|
||||
@@ -15,7 +15,7 @@ use std::time::{Duration, Instant};
|
||||
use std::{collections::HashMap, marker::PhantomData, sync::Arc};
|
||||
use strum::IntoStaticStr;
|
||||
use tracing::{debug, warn};
|
||||
use types::{data_column_sidecar::ColumnIndex, DataColumnSidecar, Hash256};
|
||||
use types::{data_column_sidecar::ColumnIndex, DataColumnSidecar, DataColumnSidecarList, Hash256};
|
||||
|
||||
use super::{LookupRequestResult, PeerGroup, RpcResponseResult, SyncNetworkContext};
|
||||
|
||||
@@ -24,8 +24,6 @@ const REQUEST_EXPIRY_SECONDS: u64 = 300;
|
||||
/// TODO(das): this attempt count is nested into the existing lookup request count.
|
||||
const MAX_CUSTODY_COLUMN_DOWNLOAD_ATTEMPTS: usize = 3;
|
||||
|
||||
type DataColumnSidecarList<E> = Vec<Arc<DataColumnSidecar<E>>>;
|
||||
|
||||
pub struct ActiveCustodyByRootRequest<T: BeaconChainTypes> {
|
||||
start_time: Instant,
|
||||
block_root: Hash256,
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
use super::{ActiveRequestItems, LookupVerifyError};
|
||||
use lighthouse_network::rpc::methods::DataColumnsByRangeRequest;
|
||||
use std::sync::Arc;
|
||||
use types::{DataColumnSidecar, EthSpec, Slot};
|
||||
use types::{DataColumnSidecar, DataColumnSidecarList, EthSpec, Slot};
|
||||
|
||||
/// Accumulates results of a data_columns_by_range request. Only returns items after receiving the
|
||||
/// stream termination.
|
||||
pub struct DataColumnsByRangeRequestItems<E: EthSpec> {
|
||||
request: DataColumnsByRangeRequest,
|
||||
items: Vec<Arc<DataColumnSidecar<E>>>,
|
||||
items: DataColumnSidecarList<E>,
|
||||
}
|
||||
|
||||
impl<E: EthSpec> DataColumnsByRangeRequestItems<E> {
|
||||
|
||||
@@ -43,8 +43,8 @@ use tracing::info;
|
||||
use types::{
|
||||
data_column_sidecar::ColumnIndex,
|
||||
test_utils::{SeedableRng, TestRandom, XorShiftRng},
|
||||
BeaconState, BeaconStateBase, BlobSidecar, DataColumnSidecar, EthSpec, ForkContext, ForkName,
|
||||
Hash256, MinimalEthSpec as E, SignedBeaconBlock, Slot,
|
||||
BeaconState, BeaconStateBase, BlobSidecar, DataColumnSidecar, DataColumnSidecarList, EthSpec,
|
||||
ForkContext, ForkName, Hash256, MinimalEthSpec as E, SignedBeaconBlock, Slot,
|
||||
};
|
||||
|
||||
const D: Duration = Duration::new(0, 0);
|
||||
@@ -216,9 +216,7 @@ impl TestRig {
|
||||
generate_rand_block_and_blobs::<E>(fork_name, num_blobs, rng, &self.spec)
|
||||
}
|
||||
|
||||
fn rand_block_and_data_columns(
|
||||
&mut self,
|
||||
) -> (SignedBeaconBlock<E>, Vec<Arc<DataColumnSidecar<E>>>) {
|
||||
fn rand_block_and_data_columns(&mut self) -> (SignedBeaconBlock<E>, DataColumnSidecarList<E>) {
|
||||
let num_blobs = NumBlobs::Number(1);
|
||||
generate_rand_block_and_data_columns::<E>(
|
||||
self.fork_name,
|
||||
@@ -721,7 +719,7 @@ impl TestRig {
|
||||
fn complete_valid_sampling_column_requests(
|
||||
&mut self,
|
||||
ids: DCByRootIds,
|
||||
data_columns: Vec<Arc<DataColumnSidecar<E>>>,
|
||||
data_columns: DataColumnSidecarList<E>,
|
||||
) {
|
||||
for id in ids {
|
||||
self.log(&format!("return valid data column for {id:?}"));
|
||||
@@ -766,7 +764,7 @@ impl TestRig {
|
||||
fn complete_valid_custody_request(
|
||||
&mut self,
|
||||
ids: DCByRootIds,
|
||||
data_columns: Vec<Arc<DataColumnSidecar<E>>>,
|
||||
data_columns: DataColumnSidecarList<E>,
|
||||
missing_components: bool,
|
||||
) {
|
||||
let lookup_id = if let SyncRequestId::DataColumnsByRoot(DataColumnsByRootRequestId {
|
||||
|
||||
Reference in New Issue
Block a user