pub struct EthereumReceipt<T = TxType, L = Log> {
pub tx_type: T,
pub success: bool,
pub cumulative_gas_used: u64,
pub logs: Vec<L>,
}
Expand description
Typed ethereum transaction receipt. Receipt containing result of transaction execution.
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<L>
Log send from contracts.
Implementations§
Source§impl EthereumReceipt
impl EthereumReceipt
Sourcepub const fn bitflag_encoded_bytes() -> usize
Available on crate feature reth-codec
only.
pub const fn bitflag_encoded_bytes() -> usize
reth-codec
only.Used bytes by ReceiptFlags
Sourcepub const fn bitflag_unused_bits() -> usize
Available on crate feature reth-codec
only.
pub const fn bitflag_unused_bits() -> usize
reth-codec
only.Unused bits for new fields by ReceiptFlags
Source§impl<T> EthereumReceipt<T>
impl<T> EthereumReceipt<T>
Sourcepub fn into_rpc(
self,
next_log_index: usize,
meta: TransactionMeta,
) -> RpcReceipt<T>
Available on crate feature rpc
only.
pub fn into_rpc( self, next_log_index: usize, meta: TransactionMeta, ) -> RpcReceipt<T>
rpc
only.Converts the logs of the receipt to RPC logs.
Source§impl<T: TxTy> EthereumReceipt<T>
impl<T: TxTy> EthereumReceipt<T>
Sourcepub fn rlp_encoded_fields_length(&self, bloom: &Bloom) -> usize
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.
Sourcepub fn rlp_encode_fields(&self, bloom: &Bloom, out: &mut dyn BufMut)
pub fn rlp_encode_fields(&self, bloom: &Bloom, out: &mut dyn BufMut)
RLP-encodes receipt fields with the given [Bloom
] without an RLP header.
Sourcepub fn rlp_header_inner(&self, bloom: &Bloom) -> Header
pub fn rlp_header_inner(&self, bloom: &Bloom) -> Header
Returns RLP header for inner encoding.
Sourcepub fn rlp_decode_inner(
buf: &mut &[u8],
tx_type: T,
) -> Result<ReceiptWithBloom<Self>>
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.
Sourcepub fn calculate_receipt_root_no_memo(receipts: &[Self]) -> B256
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.
Sourcepub fn rlp_encoded_fields_length_without_bloom(&self) -> usize
pub fn rlp_encoded_fields_length_without_bloom(&self) -> usize
Returns length of RLP-encoded receipt fields without the given [Bloom
] without an RLP
header
Sourcepub fn rlp_encode_fields_without_bloom(&self, out: &mut dyn BufMut)
pub fn rlp_encode_fields_without_bloom(&self, out: &mut dyn BufMut)
RLP-encodes receipt fields without the given [Bloom
] without an RLP header.
Sourcepub fn rlp_header_inner_without_bloom(&self) -> Header
pub fn rlp_header_inner_without_bloom(&self) -> Header
Returns RLP header for inner encoding.
Sourcepub fn rlp_decode_inner_without_bloom(
buf: &mut &[u8],
tx_type: T,
) -> Result<Self>
pub fn rlp_decode_inner_without_bloom( buf: &mut &[u8], tx_type: T, ) -> Result<Self>
RLP-decodes the receipt from the provided buffer. This does not expect a type byte or network header.
Trait Implementations§
Source§impl<'arbitrary, T: Arbitrary<'arbitrary>, L: Arbitrary<'arbitrary>> Arbitrary<'arbitrary> for EthereumReceipt<T, L>
impl<'arbitrary, T: Arbitrary<'arbitrary>, L: Arbitrary<'arbitrary>> Arbitrary<'arbitrary> for EthereumReceipt<T, L>
Source§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
Self
from the given unstructured data. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
Self
from the entirety of the given
unstructured data. Read moreSource§impl<T: Clone, L: Clone> Clone for EthereumReceipt<T, L>
impl<T: Clone, L: Clone> Clone for EthereumReceipt<T, L>
Source§fn clone(&self) -> EthereumReceipt<T, L>
fn clone(&self) -> EthereumReceipt<T, L>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<T: Default, L: Default> Default for EthereumReceipt<T, L>
impl<T: Default, L: Default> Default for EthereumReceipt<T, L>
Source§fn default() -> EthereumReceipt<T, L>
fn default() -> EthereumReceipt<T, L>
Source§impl<'de, T, L> Deserialize<'de> for EthereumReceipt<T, L>where
T: Deserialize<'de>,
L: Deserialize<'de>,
impl<'de, T, L> Deserialize<'de> for EthereumReceipt<T, L>where
T: Deserialize<'de>,
L: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<'de, T: TryFrom<u8, Error = Eip2718Error>> DeserializeAs<'de, EthereumReceipt<T>> for Receipt<'de, T>
Available on crate features serde
and serde-bincode-compat
only.
impl<'de, T: TryFrom<u8, Error = Eip2718Error>> DeserializeAs<'de, EthereumReceipt<T>> for Receipt<'de, T>
serde
and serde-bincode-compat
only.Source§fn deserialize_as<D>(deserializer: D) -> Result<Receipt<T>, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<Receipt<T>, D::Error>where
D: Deserializer<'de>,
Source§impl<'a, T: Copy> From<&'a EthereumReceipt<T>> for Receipt<'a, T>
Available on crate features serde
and serde-bincode-compat
only.
impl<'a, T: Copy> From<&'a EthereumReceipt<T>> for Receipt<'a, T>
serde
and serde-bincode-compat
only.Source§impl<T, L> From<EthereumReceipt<T, L>> for Receipt<L>
impl<T, L> From<EthereumReceipt<T, L>> for Receipt<L>
Source§fn from(value: EthereumReceipt<T, L>) -> Self
fn from(value: EthereumReceipt<T, L>) -> Self
Source§impl<L> From<EthereumReceipt<TxType, L>> for ReceiptEnvelope<L>
impl<L> From<EthereumReceipt<TxType, L>> for ReceiptEnvelope<L>
Source§fn from(value: EthereumReceipt<TxType, L>) -> Self
fn from(value: EthereumReceipt<TxType, L>) -> Self
Source§impl<T, L> Serialize for EthereumReceipt<T, L>
impl<T, L> Serialize for EthereumReceipt<T, L>
Source§impl<T: Copy + Serialize> SerializeAs<EthereumReceipt<T>> for Receipt<'_, T>
Available on crate features serde
and serde-bincode-compat
only.
impl<T: Copy + Serialize> SerializeAs<EthereumReceipt<T>> for Receipt<'_, T>
serde
and serde-bincode-compat
only.Source§fn serialize_as<S>(
source: &Receipt<T>,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
fn serialize_as<S>(
source: &Receipt<T>,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
Source§impl<T, L> TxReceipt for EthereumReceipt<T, L>
impl<T, L> TxReceipt for EthereumReceipt<T, L>
Source§fn status_or_post_state(&self) -> Eip658Value
fn status_or_post_state(&self) -> Eip658Value
Source§fn bloom(&self) -> Bloom
fn bloom(&self) -> Bloom
Source§fn cumulative_gas_used(&self) -> u64
fn cumulative_gas_used(&self) -> u64
Source§fn into_logs(self) -> Vec<L>
fn into_logs(self) -> Vec<L>
§fn bloom_cheap(&self) -> Option<Bloom>
fn bloom_cheap(&self) -> Option<Bloom>
§fn with_bloom_ref(&self) -> ReceiptWithBloom<&Self>
fn with_bloom_ref(&self) -> ReceiptWithBloom<&Self>
ReceiptWithBloom
] with the computed bloom filter [Self::bloom
] and a reference
to the receipt.§fn into_with_bloom(self) -> ReceiptWithBloom<Self>
fn into_with_bloom(self) -> ReceiptWithBloom<Self>
ReceiptWithBloom
] with the computed bloom filter
[Self::bloom
] and the receipt.§fn into_with_bloom_unchecked(self, logs_bloom: Bloom) -> ReceiptWithBloom<Self>
fn into_with_bloom_unchecked(self, logs_bloom: Bloom) -> ReceiptWithBloom<Self>
ReceiptWithBloom
] with the given bloom filter.impl<T: Eq, L: Eq> Eq for EthereumReceipt<T, L>
impl<T, L> StructuralPartialEq for EthereumReceipt<T, L>
Auto Trait Implementations§
impl<T, L> Freeze for EthereumReceipt<T, L>where
T: Freeze,
impl<T, L> RefUnwindSafe for EthereumReceipt<T, L>where
T: RefUnwindSafe,
L: RefUnwindSafe,
impl<T, L> Send for EthereumReceipt<T, L>
impl<T, L> Sync for EthereumReceipt<T, L>
impl<T, L> Unpin for EthereumReceipt<T, L>
impl<T, L> UnwindSafe for EthereumReceipt<T, L>where
T: UnwindSafe,
L: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<A> ArbInterop for A
impl<'de, T> BorrowedRpcObject<'de> for Twhere
T: RpcBorrow<'de> + RpcSend,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> Eip2718Envelope for Twhere
T: Decodable2718 + Encodable2718,
impl<T> FullReceipt for Twhere
T: Receipt + MaybeCompact,
impl<T> MaybeCompact for Twhere
T: Compact,
impl<T> MaybeSerde for Twhere
T: Serialize + for<'de> Deserialize<'de>,
impl<T> MaybeSerdeBincodeCompat for Twhere
T: SerdeBincodeCompat,
impl<T> Receipt for T
impl<'de, T> RpcBorrow<'de> for T
impl<T> RpcObject for Twhere
T: RpcSend + RpcRecv,
impl<T> RpcRecv for T
impl<T> RpcSend for T
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.