feat: add receipt builder for OpExecutionStrategy (#13792)

This commit is contained in:
Arsenii Kulikov
2025-01-14 17:11:18 +04:00
committed by GitHub
parent feccf3595b
commit b4610a04e6
12 changed files with 278 additions and 107 deletions

View File

@ -7,12 +7,12 @@ use alloy_primitives::B256;
use alloy_trie::root::ordered_trie_root_with_encoder;
use reth_chainspec::ChainSpec;
use reth_optimism_forks::{OpHardfork, OpHardforks};
use reth_optimism_primitives::OpReceipt;
use reth_optimism_primitives::{DepositReceipt, OpReceipt};
use reth_primitives::ReceiptWithBloom;
/// Calculates the receipt root for a header.
pub(crate) fn calculate_receipt_root_optimism(
receipts: &[ReceiptWithBloom<OpReceipt>],
pub(crate) fn calculate_receipt_root_optimism<R: DepositReceipt>(
receipts: &[ReceiptWithBloom<R>],
chain_spec: &ChainSpec,
timestamp: u64,
) -> B256 {
@ -28,7 +28,7 @@ pub(crate) fn calculate_receipt_root_optimism(
.iter()
.cloned()
.map(|mut r| {
if let OpReceipt::Deposit(receipt) = &mut r.receipt {
if let Some(receipt) = r.receipt.as_deposit_receipt_mut() {
receipt.deposit_nonce = None;
}
r