Skip to main content

ReceiptBuilder

Trait ReceiptBuilder 

Source
pub trait ReceiptBuilder {
    type Transaction: SignedTransaction + TransactionEnvelope
       where <Self::Transaction as TransactionEnvelope>::TxType: Send + 'static;
    type Receipt: Receipt;

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

Builds chain-specific receipts from raw transaction execution results.

Required Associated Types§

Source

type Transaction: SignedTransaction + TransactionEnvelope where <Self::Transaction as TransactionEnvelope>::TxType: Send + 'static

Consensus transaction type accepted by the executor.

Source

type Receipt: Receipt

Receipt produced by this builder.

Required Methods§

Source

fn build_receipt<T>( &self, ctx: ReceiptBuilderCtx<<Self::Transaction as TransactionEnvelope>::TxType, TxResultExt<<T as EvmTypesHost>::TxResultExt>>, ) -> Self::Receipt
where T: EvmTypes,

Builds a receipt for the transaction execution result.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

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

Source§

type Transaction = <U as ReceiptBuilder>::Transaction

Source§

type Receipt = <U as ReceiptBuilder>::Receipt

Source§

fn build_receipt<T>( &self, ctx: ReceiptBuilderCtx<<<&'a U as ReceiptBuilder>::Transaction as TransactionEnvelope>::TxType, TxResultExt<<T as EvmTypesHost>::TxResultExt>>, ) -> <&'a U as ReceiptBuilder>::Receipt
where T: EvmTypes,

Source§

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

Source§

type Transaction = <U as ReceiptBuilder>::Transaction

Source§

type Receipt = <U as ReceiptBuilder>::Receipt

Source§

fn build_receipt<T>( &self, ctx: ReceiptBuilderCtx<<<Arc<U> as ReceiptBuilder>::Transaction as TransactionEnvelope>::TxType, TxResultExt<<T as EvmTypesHost>::TxResultExt>>, ) -> <Arc<U> as ReceiptBuilder>::Receipt ⓘ
where T: EvmTypes,

Implementors§