reth_evm_ethereum/
receipt.rs1use alloy_consensus::TxType;
2use alloy_evm::eth::receipt_builder::{ReceiptBuilder, ReceiptBuilderCtx};
3use reth_ethereum_primitives::{Receipt, TransactionSigned};
4use reth_evm::Evm;
5
6#[derive(Debug, Clone, Copy, Default)]
9#[non_exhaustive]
10pub struct RethReceiptBuilder;
11
12impl ReceiptBuilder for RethReceiptBuilder {
13 type Transaction = TransactionSigned;
14 type Receipt = Receipt;
15
16 fn build_receipt<E: Evm>(&self, ctx: ReceiptBuilderCtx<'_, TxType, E>) -> Self::Receipt {
17 let ReceiptBuilderCtx { tx_type, result, cumulative_gas_used, .. } = ctx;
18 Receipt {
19 tx_type,
20 success: result.is_success(),
23 cumulative_gas_used,
24 logs: result.into_logs(),
25 }
26 }
27}