From f8fba2cd98174d0a7b30ccf1f854eae403c8fe8c Mon Sep 17 00:00:00 2001 From: Jennifer Parak Date: Mon, 26 Aug 2024 13:14:00 +0100 Subject: [PATCH] Fix payload_known test --- crates/consensus/beacon/src/engine/mod.rs | 18 +++++++++++++++--- .../src/providers/blockchain_provider.rs | 6 +++++- testing/testing-utils/src/generators.rs | 13 ++++++------- 3 files changed, 26 insertions(+), 11 deletions(-) diff --git a/crates/consensus/beacon/src/engine/mod.rs b/crates/consensus/beacon/src/engine/mod.rs index 1a5148a878..50944891d6 100644 --- a/crates/consensus/beacon/src/engine/mod.rs +++ b/crates/consensus/beacon/src/engine/mod.rs @@ -2654,16 +2654,28 @@ mod tests { })])) .build(); - let genesis = random_block(&mut rng, 0, BlockParams::default()); + let genesis = random_block( + &mut rng, + 0, + BlockParams { ommers_count: Some(0), ..Default::default() }, + ); let block1 = random_block( &mut rng, 1, - BlockParams { parent: Some(genesis.hash()), ..Default::default() }, + BlockParams { + parent: Some(genesis.hash()), + ommers_count: Some(0), + ..Default::default() + }, ); let block2 = random_block( &mut rng, 2, - BlockParams { parent: Some(block1.hash()), ..Default::default() }, + BlockParams { + parent: Some(block1.hash()), + ommers_count: Some(0), + ..Default::default() + }, ); let (_static_dir, static_dir_path) = create_test_static_files_dir(); diff --git a/crates/storage/provider/src/providers/blockchain_provider.rs b/crates/storage/provider/src/providers/blockchain_provider.rs index 5f1446ad6a..8bb91c0e5e 100644 --- a/crates/storage/provider/src/providers/blockchain_provider.rs +++ b/crates/storage/provider/src/providers/blockchain_provider.rs @@ -1860,7 +1860,11 @@ mod tests { let factory = create_test_provider_factory(); // Generate 10 random blocks and split them into database and in-memory blocks - let mut blocks = random_block_range(&mut rng, 0..=10, B256::ZERO, 0..1, None, None); + let mut blocks = random_block_range( + &mut rng, + 0..=10, + BlockParams { parent: Some(B256::ZERO), tx_count: Some(0..1), ..Default::default() }, + ); let (database_blocks, in_memory_blocks) = blocks.split_at_mut(5); // Take the first in-memory block and add 7 ommers to it diff --git a/testing/testing-utils/src/generators.rs b/testing/testing-utils/src/generators.rs index 679530b469..a4c50392d7 100644 --- a/testing/testing-utils/src/generators.rs +++ b/testing/testing-utils/src/generators.rs @@ -148,22 +148,20 @@ pub fn generate_keys(rng: &mut R, count: usize) -> Vec { /// The ommer headers are not assumed to be valid. pub fn random_block(rng: &mut R, number: u64, block_params: BlockParams) -> SealedBlock { // Generate transactions - let tx_count = block_params.tx_count; - let tx_count = tx_count.unwrap_or_else(|| (0..rng.gen::())); + let tx_count = block_params.tx_count.unwrap_or_else(|| 0..rng.gen::()); let transactions: Vec = tx_count.map(|_| random_signed_tx(rng)).collect(); let total_gas = transactions.iter().fold(0, |sum, tx| sum + tx.transaction.gas_limit()); // Generate ommers - let parent = block_params.parent; let ommers_count = block_params.ommers_count.unwrap_or_else(|| rng.gen_range(0..2)); - let ommers = - (0..ommers_count).map(|_| random_header(rng, number, parent).unseal()).collect::>(); + let ommers = (0..ommers_count) + .map(|_| random_header(rng, number, block_params.parent).unseal()) + .collect::>(); // Generate requests let requests = block_params .requests_count .map(|count| count.map(|_| random_request(rng)).collect::>()); - let requests_root = requests.as_ref().map(|requests| proofs::calculate_requests_root(requests)); // Generate withdrawals let withdrawals = block_params.withdrawals_count.map(|count| { @@ -180,11 +178,12 @@ pub fn random_block(rng: &mut R, number: u64, block_params: BlockParams) // Calculate roots let transactions_root = proofs::calculate_transaction_root(&transactions); let ommers_hash = proofs::calculate_ommers_root(&ommers); + let requests_root = requests.as_ref().map(|requests| proofs::calculate_requests_root(requests)); let withdrawals_root = withdrawals.as_ref().map(|w| proofs::calculate_withdrawals_root(w)); SealedBlock { header: Header { - parent_hash: parent.unwrap_or_default(), + parent_hash: block_params.parent.unwrap_or_default(), number, gas_used: total_gas, gas_limit: total_gas,