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