Skip to content

Commit d37733b

Browse files
committed
Fix test compilations
1 parent 52bb581 commit d37733b

File tree

6 files changed

+86
-68
lines changed

6 files changed

+86
-68
lines changed

beacon_node/beacon_chain/src/data_availability_checker/overflow_lru_cache.rs

Lines changed: 38 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -837,7 +837,8 @@ mod test {
837837
info!(log, "done printing kzg commitments");
838838

839839
let gossip_verified_blobs = if let Some((kzg_proofs, blobs)) = maybe_blobs {
840-
let sidecars = BlobSidecar::build_sidecars(blobs, &block, kzg_proofs).unwrap();
840+
let sidecars =
841+
BlobSidecar::build_sidecars(blobs, &block, kzg_proofs, &chain.spec).unwrap();
841842
Vec::from(sidecars)
842843
.into_iter()
843844
.map(|sidecar| {
@@ -1152,7 +1153,7 @@ mod pending_components_tests {
11521153
use super::*;
11531154
use crate::block_verification_types::BlockImportData;
11541155
use crate::eth1_finalization_cache::Eth1FinalizationData;
1155-
use crate::test_utils::{generate_rand_block_and_blobs, NumBlobs};
1156+
use crate::test_utils::{generate_rand_block_and_blobs, test_spec, NumBlobs};
11561157
use crate::PayloadVerificationOutcome;
11571158
use fork_choice::PayloadVerificationStatus;
11581159
use kzg::KzgCommitment;
@@ -1168,26 +1169,28 @@ mod pending_components_tests {
11681169

11691170
type Setup<E> = (
11701171
SignedBeaconBlock<E>,
1171-
FixedVector<Option<Arc<BlobSidecar<E>>>, <E as EthSpec>::MaxBlobsPerBlock>,
1172-
FixedVector<Option<Arc<BlobSidecar<E>>>, <E as EthSpec>::MaxBlobsPerBlock>,
1172+
RuntimeFixedList<Option<Arc<BlobSidecar<E>>>>,
1173+
RuntimeFixedList<Option<Arc<BlobSidecar<E>>>>,
1174+
usize,
11731175
);
11741176

11751177
pub fn pre_setup() -> Setup<E> {
11761178
let mut rng = StdRng::seed_from_u64(0xDEADBEEF0BAD5EEDu64);
1179+
let spec = test_spec::<E>();
11771180
let (block, blobs_vec) =
11781181
generate_rand_block_and_blobs::<E>(ForkName::Deneb, NumBlobs::Random, &mut rng);
1179-
let mut blobs: FixedVector<_, <E as EthSpec>::MaxBlobsPerBlock> = FixedVector::default();
1182+
let max_len = spec.max_blobs_per_block(block.epoch()) as usize;
1183+
let mut blobs: RuntimeFixedList<Option<Arc<BlobSidecar<E>>>> =
1184+
RuntimeFixedList::default(max_len);
11801185

11811186
for blob in blobs_vec {
11821187
if let Some(b) = blobs.get_mut(blob.index as usize) {
11831188
*b = Some(Arc::new(blob));
11841189
}
11851190
}
11861191

1187-
let mut invalid_blobs: FixedVector<
1188-
Option<Arc<BlobSidecar<E>>>,
1189-
<E as EthSpec>::MaxBlobsPerBlock,
1190-
> = FixedVector::default();
1192+
let mut invalid_blobs: RuntimeFixedList<Option<Arc<BlobSidecar<E>>>> =
1193+
RuntimeFixedList::default(max_len);
11911194
for (index, blob) in blobs.iter().enumerate() {
11921195
if let Some(invalid_blob) = blob {
11931196
let mut blob_copy = invalid_blob.as_ref().clone();
@@ -1196,21 +1199,21 @@ mod pending_components_tests {
11961199
}
11971200
}
11981201

1199-
(block, blobs, invalid_blobs)
1202+
(block, blobs, invalid_blobs, max_len)
12001203
}
12011204

12021205
type PendingComponentsSetup<E> = (
12031206
DietAvailabilityPendingExecutedBlock<E>,
1204-
FixedVector<Option<KzgVerifiedBlob<E>>, <E as EthSpec>::MaxBlobsPerBlock>,
1205-
FixedVector<Option<KzgVerifiedBlob<E>>, <E as EthSpec>::MaxBlobsPerBlock>,
1207+
RuntimeFixedList<Option<KzgVerifiedBlob<E>>>,
1208+
RuntimeFixedList<Option<KzgVerifiedBlob<E>>>,
12061209
);
12071210

12081211
pub fn setup_pending_components(
12091212
block: SignedBeaconBlock<E>,
1210-
valid_blobs: FixedVector<Option<Arc<BlobSidecar<E>>>, <E as EthSpec>::MaxBlobsPerBlock>,
1211-
invalid_blobs: FixedVector<Option<Arc<BlobSidecar<E>>>, <E as EthSpec>::MaxBlobsPerBlock>,
1213+
valid_blobs: RuntimeFixedList<Option<Arc<BlobSidecar<E>>>>,
1214+
invalid_blobs: RuntimeFixedList<Option<Arc<BlobSidecar<E>>>>,
12121215
) -> PendingComponentsSetup<E> {
1213-
let blobs = FixedVector::from(
1216+
let blobs = RuntimeFixedList::new(
12141217
valid_blobs
12151218
.iter()
12161219
.map(|blob_opt| {
@@ -1220,7 +1223,7 @@ mod pending_components_tests {
12201223
})
12211224
.collect::<Vec<_>>(),
12221225
);
1223-
let invalid_blobs = FixedVector::from(
1226+
let invalid_blobs = RuntimeFixedList::new(
12241227
invalid_blobs
12251228
.iter()
12261229
.map(|blob_opt| {
@@ -1252,10 +1255,10 @@ mod pending_components_tests {
12521255
(block.into(), blobs, invalid_blobs)
12531256
}
12541257

1255-
pub fn assert_cache_consistent(cache: PendingComponents<E>) {
1258+
pub fn assert_cache_consistent(cache: PendingComponents<E>, max_len: usize) {
12561259
if let Some(cached_block) = cache.get_cached_block() {
12571260
let cached_block_commitments = cached_block.get_commitments();
1258-
for index in 0..E::max_blobs_per_block() {
1261+
for index in 0..max_len {
12591262
let block_commitment = cached_block_commitments.get(index).copied();
12601263
let blob_commitment_opt = cache.get_cached_blobs().get(index).unwrap();
12611264
let blob_commitment = blob_commitment_opt.as_ref().map(|b| *b.get_commitment());
@@ -1274,40 +1277,40 @@ mod pending_components_tests {
12741277

12751278
#[test]
12761279
fn valid_block_invalid_blobs_valid_blobs() {
1277-
let (block_commitments, blobs, random_blobs) = pre_setup();
1280+
let (block_commitments, blobs, random_blobs, max_len) = pre_setup();
12781281
let (block_commitments, blobs, random_blobs) =
12791282
setup_pending_components(block_commitments, blobs, random_blobs);
12801283
let block_root = Hash256::zero();
1281-
let mut cache = <PendingComponents<E>>::empty(block_root);
1284+
let mut cache = <PendingComponents<E>>::empty(block_root, max_len);
12821285
cache.merge_block(block_commitments);
12831286
cache.merge_blobs(random_blobs);
12841287
cache.merge_blobs(blobs);
12851288

1286-
assert_cache_consistent(cache);
1289+
assert_cache_consistent(cache, max_len);
12871290
}
12881291

12891292
#[test]
12901293
fn invalid_blobs_block_valid_blobs() {
1291-
let (block_commitments, blobs, random_blobs) = pre_setup();
1294+
let (block_commitments, blobs, random_blobs, max_len) = pre_setup();
12921295
let (block_commitments, blobs, random_blobs) =
12931296
setup_pending_components(block_commitments, blobs, random_blobs);
12941297
let block_root = Hash256::zero();
1295-
let mut cache = <PendingComponents<E>>::empty(block_root);
1298+
let mut cache = <PendingComponents<E>>::empty(block_root, max_len);
12961299
cache.merge_blobs(random_blobs);
12971300
cache.merge_block(block_commitments);
12981301
cache.merge_blobs(blobs);
12991302

1300-
assert_cache_consistent(cache);
1303+
assert_cache_consistent(cache, max_len);
13011304
}
13021305

13031306
#[test]
13041307
fn invalid_blobs_valid_blobs_block() {
1305-
let (block_commitments, blobs, random_blobs) = pre_setup();
1308+
let (block_commitments, blobs, random_blobs, max_len) = pre_setup();
13061309
let (block_commitments, blobs, random_blobs) =
13071310
setup_pending_components(block_commitments, blobs, random_blobs);
13081311

13091312
let block_root = Hash256::zero();
1310-
let mut cache = <PendingComponents<E>>::empty(block_root);
1313+
let mut cache = <PendingComponents<E>>::empty(block_root, max_len);
13111314
cache.merge_blobs(random_blobs);
13121315
cache.merge_blobs(blobs);
13131316
cache.merge_block(block_commitments);
@@ -1317,46 +1320,46 @@ mod pending_components_tests {
13171320

13181321
#[test]
13191322
fn block_valid_blobs_invalid_blobs() {
1320-
let (block_commitments, blobs, random_blobs) = pre_setup();
1323+
let (block_commitments, blobs, random_blobs, max_len) = pre_setup();
13211324
let (block_commitments, blobs, random_blobs) =
13221325
setup_pending_components(block_commitments, blobs, random_blobs);
13231326

13241327
let block_root = Hash256::zero();
1325-
let mut cache = <PendingComponents<E>>::empty(block_root);
1328+
let mut cache = <PendingComponents<E>>::empty(block_root, max_len);
13261329
cache.merge_block(block_commitments);
13271330
cache.merge_blobs(blobs);
13281331
cache.merge_blobs(random_blobs);
13291332

1330-
assert_cache_consistent(cache);
1333+
assert_cache_consistent(cache, max_len);
13311334
}
13321335

13331336
#[test]
13341337
fn valid_blobs_block_invalid_blobs() {
1335-
let (block_commitments, blobs, random_blobs) = pre_setup();
1338+
let (block_commitments, blobs, random_blobs, max_len) = pre_setup();
13361339
let (block_commitments, blobs, random_blobs) =
13371340
setup_pending_components(block_commitments, blobs, random_blobs);
13381341

13391342
let block_root = Hash256::zero();
1340-
let mut cache = <PendingComponents<E>>::empty(block_root);
1343+
let mut cache = <PendingComponents<E>>::empty(block_root, max_len);
13411344
cache.merge_blobs(blobs);
13421345
cache.merge_block(block_commitments);
13431346
cache.merge_blobs(random_blobs);
13441347

1345-
assert_cache_consistent(cache);
1348+
assert_cache_consistent(cache, max_len);
13461349
}
13471350

13481351
#[test]
13491352
fn valid_blobs_invalid_blobs_block() {
1350-
let (block_commitments, blobs, random_blobs) = pre_setup();
1353+
let (block_commitments, blobs, random_blobs, max_len) = pre_setup();
13511354
let (block_commitments, blobs, random_blobs) =
13521355
setup_pending_components(block_commitments, blobs, random_blobs);
13531356

13541357
let block_root = Hash256::zero();
1355-
let mut cache = <PendingComponents<E>>::empty(block_root);
1358+
let mut cache = <PendingComponents<E>>::empty(block_root, max_len);
13561359
cache.merge_blobs(blobs);
13571360
cache.merge_blobs(random_blobs);
13581361
cache.merge_block(block_commitments);
13591362

1360-
assert_cache_consistent(cache);
1363+
assert_cache_consistent(cache, max_len);
13611364
}
13621365
}

beacon_node/beacon_chain/src/observed_data_sidecars.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ mod tests {
155155
use crate::test_utils::test_spec;
156156
use bls::Hash256;
157157
use std::sync::Arc;
158-
use types::MainnetEthSpec;
158+
use types::{Epoch, MainnetEthSpec};
159159

160160
type E = MainnetEthSpec;
161161

@@ -309,7 +309,7 @@ mod tests {
309309
#[test]
310310
fn simple_observations() {
311311
let spec = test_spec::<E>();
312-
let mut cache = ObservedDataSidecars::<BlobSidecar<E>>::new(spec);
312+
let mut cache = ObservedDataSidecars::<BlobSidecar<E>>::new(spec.clone());
313313

314314
// Slot 0, index 0
315315
let proposer_index_a = 420;
@@ -465,7 +465,7 @@ mod tests {
465465
);
466466

467467
// Try adding an out of bounds index
468-
let invalid_index = E::max_blobs_per_block() as u64;
468+
let invalid_index = spec.max_blobs_per_block(Epoch::new(0));
469469
let sidecar_d = get_blob_sidecar(0, proposer_index_a, invalid_index);
470470
assert_eq!(
471471
cache.observe_sidecar(&sidecar_d),

beacon_node/beacon_chain/tests/events.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ async fn blob_sidecar_event_on_process_rpc_blobs() {
6969
index: 1,
7070
..BlobSidecar::random_valid(&mut rng, kzg).unwrap()
7171
});
72-
let blobs = FixedBlobSidecarList::from(vec![Some(blob_1.clone()), Some(blob_2.clone())]);
72+
let blobs = FixedBlobSidecarList::new(vec![Some(blob_1.clone()), Some(blob_2.clone())]);
7373
let expected_sse_blobs = vec![
7474
SseBlobSidecar::from_blob_sidecar(blob_1.as_ref()),
7575
SseBlobSidecar::from_blob_sidecar(blob_2.as_ref()),

beacon_node/network/src/sync/block_lookups/tests.rs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ use types::{
3939
test_utils::{SeedableRng, XorShiftRng},
4040
BlobSidecar, ForkName, MinimalEthSpec as E, SignedBeaconBlock, Slot,
4141
};
42-
use types::{BeaconState, BeaconStateBase};
42+
use types::{BeaconState, BeaconStateBase, ChainSpec};
4343
use types::{DataColumnSidecar, Epoch};
4444

4545
type T = Witness<ManualSlotClock, CachingEth1Backend<E>, E, MemoryStore<E>, MemoryStore<E>>;
@@ -86,6 +86,7 @@ struct TestRig {
8686
/// `rng` for generating test blocks and blobs.
8787
rng: XorShiftRng,
8888
fork_name: ForkName,
89+
spec: ChainSpec,
8990
log: Logger,
9091
}
9192

@@ -153,6 +154,8 @@ impl TestRig {
153154
.network_globals
154155
.set_sync_state(SyncState::Synced);
155156

157+
let spec = chain.spec.clone();
158+
156159
let rng = XorShiftRng::from_seed([42; 16]);
157160
TestRig {
158161
beacon_processor_rx,
@@ -174,6 +177,7 @@ impl TestRig {
174177
harness,
175178
fork_name,
176179
log,
180+
spec,
177181
}
178182
}
179183

@@ -2048,8 +2052,8 @@ mod deneb_only {
20482052
use beacon_chain::{
20492053
block_verification_types::RpcBlock, data_availability_checker::AvailabilityCheckError,
20502054
};
2051-
use ssz_types::VariableList;
20522055
use std::collections::VecDeque;
2056+
use types::RuntimeVariableList;
20532057

20542058
struct DenebTester {
20552059
rig: TestRig,
@@ -2407,12 +2411,15 @@ mod deneb_only {
24072411
fn parent_block_unknown_parent(mut self) -> Self {
24082412
self.rig.log("parent_block_unknown_parent");
24092413
let block = self.unknown_parent_block.take().unwrap();
2414+
let max_len = self.rig.spec.max_blobs_per_block(block.epoch()) as usize;
24102415
// Now this block is the one we expect requests from
24112416
self.block = block.clone();
24122417
let block = RpcBlock::new(
24132418
Some(block.canonical_root()),
24142419
block,
2415-
self.unknown_parent_blobs.take().map(VariableList::from),
2420+
self.unknown_parent_blobs
2421+
.take()
2422+
.map(|vec| RuntimeVariableList::from_vec(vec, max_len)),
24162423
)
24172424
.unwrap();
24182425
self.rig.parent_block_processed(

0 commit comments

Comments
 (0)