Receipt

Type Alias Receipt 

Source
pub type Receipt<T = TxType> = EthereumReceipt<T>;
Expand description

Raw ethereum receipt.

Aliased Type§

pub struct Receipt<T = TxType> {
    pub tx_type: T,
    pub success: bool,
    pub cumulative_gas_used: u64,
    pub logs: Vec<Log>,
}

Fields§

§tx_type: T

Receipt type.

§success: bool

If transaction is executed successfully.

This is the statusCode

§cumulative_gas_used: u64

Gas used

§logs: Vec<Log>

Log send from contracts.

Implementations§

Source§

impl Receipt

Source

pub const fn bitflag_encoded_bytes() -> usize

Available on crate feature reth-codec only.

Used bytes by ReceiptFlags

Source

pub const fn bitflag_unused_bits() -> usize

Available on crate feature reth-codec only.

Unused bits for new fields by ReceiptFlags

Source§

impl<T> Receipt<T>

Source

pub fn into_rpc( self, next_log_index: usize, meta: TransactionMeta, ) -> RpcReceipt<T>

Available on crate feature rpc only.

Converts the logs of the receipt to RPC logs.

Source§

impl<T: TxTy> Receipt<T>

Source

pub fn rlp_encoded_fields_length(&self, bloom: &Bloom) -> usize

Returns length of RLP-encoded receipt fields with the given [Bloom] without an RLP header.

Source

pub fn rlp_encode_fields(&self, bloom: &Bloom, out: &mut dyn BufMut)

RLP-encodes receipt fields with the given [Bloom] without an RLP header.

Source

pub fn rlp_header_inner(&self, bloom: &Bloom) -> Header

Returns RLP header for inner encoding.

Source

pub fn rlp_decode_inner( buf: &mut &[u8], tx_type: T, ) -> Result<ReceiptWithBloom<Self>>

RLP-decodes the receipt from the provided buffer. This does not expect a type byte or network header.

Source

pub fn calculate_receipt_root_no_memo(receipts: &[Self]) -> B256

Calculates the receipt root for a header for the reference type of Receipt.

NOTE: Prefer proofs::calculate_receipt_root if you have log blooms memoized.

Trait Implementations§

Source§

impl<T: Compact> Compact for Receipt<T>

Available on crate feature reth-codec only.
Source§

fn to_compact<B>(&self, buf: &mut B) -> usize
where B: BufMut + AsMut<[u8]>,

Takes a buffer which can be written to. Ideally, it returns the length written to.
Source§

fn from_compact(buf: &[u8], _len: usize) -> (Self, &[u8])

Takes a buffer which can be read from. Returns the object and buf with its internal cursor advanced (eg..advance(len)). Read more
§

fn specialized_to_compact<B>(&self, buf: &mut B) -> usize
where B: BufMut + AsMut<[u8]>,

“Optional”: If there’s no good reason to use it, don’t.
§

fn specialized_from_compact(buf: &[u8], len: usize) -> (Self, &[u8])

“Optional”: If there’s no good reason to use it, don’t.
Source§

impl<T: TxTy> Eip2718DecodableReceipt for Receipt<T>

Source§

fn typed_decode_with_bloom( ty: u8, buf: &mut &[u8], ) -> Eip2718Result<ReceiptWithBloom<Self>>

EIP-2718 decodes the receipt and bloom from the buffer.
Source§

fn fallback_decode_with_bloom( buf: &mut &[u8], ) -> Eip2718Result<ReceiptWithBloom<Self>>

EIP-2718 decodes the receipt and bloom from the buffer.
Source§

impl<T: TxTy> Eip2718EncodableReceipt for Receipt<T>

Source§

fn eip2718_encoded_length_with_bloom(&self, bloom: &Bloom) -> usize

EIP-2718 encoded length with the provided bloom filter.
Source§

fn eip2718_encode_with_bloom(&self, bloom: &Bloom, out: &mut dyn BufMut)

EIP-2718 encodes the receipt with the provided bloom filter.
Source§

impl<'a, T> From<Receipt<'a, T>> for Receipt<T>

Available on crate features serde and serde-bincode-compat only.
Source§

fn from(value: Receipt<'a, T>) -> Self

Converts to this type from the input type.
Source§

impl<T> From<ReceiptEnvelope<T>> for Receipt<TxType>
where T: Into<Log>,

Source§

fn from(value: ReceiptEnvelope<T>) -> Self

Converts to this type from the input type.
Source§

impl<T: TxTy> InMemorySize for Receipt<T>

Source§

fn size(&self) -> usize

Returns a heuristic for the in-memory size of a struct.
Source§

impl<T: TxTy> IsTyped2718 for Receipt<T>

Source§

fn is_type(type_id: u8) -> bool

Returns true if the given type ID corresponds to a supported typed transaction.
Source§

impl<T: TxTy> RlpDecodableReceipt for Receipt<T>

Source§

fn rlp_decode_with_bloom(buf: &mut &[u8]) -> Result<ReceiptWithBloom<Self>>

RLP decodes receipt and [Bloom] into [ReceiptWithBloom] instance.
Source§

impl<T: TxTy> RlpEncodableReceipt for Receipt<T>

Source§

fn rlp_encoded_length_with_bloom(&self, bloom: &Bloom) -> usize

Returns the length of the receipt payload with the provided bloom filter.
Source§

fn rlp_encode_with_bloom(&self, bloom: &Bloom, out: &mut dyn BufMut)

RLP encodes the receipt with the provided bloom filter.
Source§

impl<T> SerdeBincodeCompat for Receipt<T>
where T: Copy + Serialize + TryFrom<u8, Error = Eip2718Error> + Debug + 'static,

Available on crate features serde and serde-bincode-compat only.
Source§

type BincodeRepr<'a> = Receipt<'a, T>

Serde representation of the type for bincode serialization. Read more
Source§

fn as_repr(&self) -> Self::BincodeRepr<'_>

Convert this type into its bincode representation
Source§

fn from_repr(repr: Self::BincodeRepr<'_>) -> Self

Convert from the bincode representation
Source§

impl<T: TxTy> Typed2718 for Receipt<T>

Source§

fn ty(&self) -> u8

Returns the EIP-2718 type flag.
§

fn is_type(&self, ty: u8) -> bool

Returns true if the type matches the given type.
§

fn is_legacy(&self) -> bool

Returns true if the type is a legacy transaction.
§

fn is_eip2930(&self) -> bool

Returns true if the type is an EIP-2930 transaction.
§

fn is_eip1559(&self) -> bool

Returns true if the type is an EIP-1559 transaction.
§

fn is_eip4844(&self) -> bool

Returns true if the type is an EIP-4844 transaction.
§

fn is_eip7702(&self) -> bool

Returns true if the type is an EIP-7702 transaction.

Layout§

Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.