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;
}
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".

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§

§

impl ReceiptBuilder for AlloyReceiptBuilder

§

type Transaction = EthereumTxEnvelope<TxEip4844Variant>

§

type Receipt = ReceiptEnvelope