Skip to main content

ReceiptBuilder

Trait ReceiptBuilder 

pub trait ReceiptBuilder {
    type Transaction: TransactionEnvelope;
    type Receipt;

    // Required method
    fn build_receipt<E>(
        &self,
        ctx: ReceiptBuilderCtx<'_, <Self::Transaction as TransactionEnvelope>::TxType, E>,
    ) -> Self::Receipt
       where E: Evm;
}
Available on crate feature evm only.
Expand description

Type that knows how to build a receipt based on execution result.

Required Associated Types§

type Transaction: TransactionEnvelope

Transaction type.

type Receipt

Receipt type.

Required Methods§

fn build_receipt<E>( &self, ctx: ReceiptBuilderCtx<'_, <Self::Transaction as TransactionEnvelope>::TxType, E>, ) -> Self::Receipt
where E: Evm,

Builds a receipt given a transaction and the result of the execution.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

§

impl<'a, T> ReceiptBuilder for &'a T
where T: 'a + ReceiptBuilder + ?Sized,

§

type Transaction = <T as ReceiptBuilder>::Transaction

§

type Receipt = <T as ReceiptBuilder>::Receipt

§

fn build_receipt<E>( &self, ctx: ReceiptBuilderCtx<'_, <<&'a T as ReceiptBuilder>::Transaction as TransactionEnvelope>::TxType, E>, ) -> <&'a T as ReceiptBuilder>::Receipt
where E: Evm,

§

impl<T> ReceiptBuilder for Arc<T>
where T: ReceiptBuilder + ?Sized,

§

type Transaction = <T as ReceiptBuilder>::Transaction

§

type Receipt = <T as ReceiptBuilder>::Receipt

§

fn build_receipt<E>( &self, ctx: ReceiptBuilderCtx<'_, <<Arc<T> as ReceiptBuilder>::Transaction as TransactionEnvelope>::TxType, E>, ) -> <Arc<T> as ReceiptBuilder>::Receipt
where E: Evm,

Implementors§

Source§

impl ReceiptBuilder for RethReceiptBuilder

Source§

type Transaction = EthereumTxEnvelope<TxEip4844>

Source§

type Receipt = EthereumReceipt

§

impl ReceiptBuilder for AlloyReceiptBuilder

§

type Transaction = EthereumTxEnvelope<TxEip4844Variant>

§

type Receipt = ReceiptEnvelope