Fix payload_known test

This commit is contained in:
Jennifer Parak
2024-08-26 13:14:00 +01:00
parent 4905765ee7
commit f8fba2cd98
3 changed files with 26 additions and 11 deletions

View File

@@ -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();

View File

@@ -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

View File

@@ -148,22 +148,20 @@ pub fn generate_keys<R: Rng>(rng: &mut R, count: usize) -> Vec<Keypair> {
/// The ommer headers are not assumed to be valid.
pub fn random_block<R: Rng>(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::<u8>()));
let tx_count = block_params.tx_count.unwrap_or_else(|| 0..rng.gen::<u8>());
let transactions: Vec<TransactionSigned> = 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::<Vec<_>>();
let ommers = (0..ommers_count)
.map(|_| random_header(rng, number, block_params.parent).unseal())
.collect::<Vec<_>>();
// Generate requests
let requests = block_params
.requests_count
.map(|count| count.map(|_| random_request(rng)).collect::<Vec<_>>());
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<R: Rng>(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,