mirror of
https://github.com/sigp/lighthouse.git
synced 2026-05-09 11:25:55 +00:00
Add Gloas data column support (#8682)
Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu> Co-Authored-By: Eitan Seri- Levi <eserilev@gmail.com>
This commit is contained in:
@@ -9,7 +9,10 @@ use rand::rngs::StdRng;
|
||||
use std::sync::Arc;
|
||||
use types::data::FixedBlobSidecarList;
|
||||
use types::test_utils::TestRandom;
|
||||
use types::{BlobSidecar, DataColumnSidecar, EthSpec, MinimalEthSpec, Slot};
|
||||
use types::{
|
||||
BlobSidecar, DataColumnSidecar, DataColumnSidecarFulu, DataColumnSidecarGloas, EthSpec,
|
||||
MinimalEthSpec, Slot,
|
||||
};
|
||||
|
||||
type E = MinimalEthSpec;
|
||||
|
||||
@@ -73,13 +76,22 @@ async fn data_column_sidecar_event_on_process_gossip_data_column() {
|
||||
// build and process a gossip verified data column
|
||||
let mut rng = StdRng::seed_from_u64(0xDEADBEEF0BAD5EEDu64);
|
||||
let sidecar = {
|
||||
// DA checker only accepts sampling columns, so we need to create one with a sampling index.
|
||||
let mut random_sidecar = DataColumnSidecar::random_for_test(&mut rng);
|
||||
let slot = Slot::new(10);
|
||||
let epoch = slot.epoch(E::slots_per_epoch());
|
||||
random_sidecar.signed_block_header.message.slot = slot;
|
||||
random_sidecar.index = harness.chain.sampling_columns_for_epoch(epoch)[0];
|
||||
random_sidecar
|
||||
let fork_name = harness.spec.fork_name_at_slot::<E>(slot);
|
||||
// DA checker only accepts sampling columns, so we need to create one with a sampling index.
|
||||
if fork_name.gloas_enabled() {
|
||||
let mut random_sidecar = DataColumnSidecarGloas::random_for_test(&mut rng);
|
||||
let epoch = slot.epoch(E::slots_per_epoch());
|
||||
random_sidecar.slot = slot;
|
||||
random_sidecar.index = harness.chain.sampling_columns_for_epoch(epoch)[0];
|
||||
DataColumnSidecar::Gloas(random_sidecar)
|
||||
} else {
|
||||
let mut random_sidecar = DataColumnSidecarFulu::random_for_test(&mut rng);
|
||||
let epoch = slot.epoch(E::slots_per_epoch());
|
||||
random_sidecar.signed_block_header.message.slot = slot;
|
||||
random_sidecar.index = harness.chain.sampling_columns_for_epoch(epoch)[0];
|
||||
DataColumnSidecar::Fulu(random_sidecar)
|
||||
}
|
||||
};
|
||||
let gossip_verified_data_column =
|
||||
GossipVerifiedDataColumn::__new_for_testing(Arc::new(sidecar));
|
||||
|
||||
Reference in New Issue
Block a user