pub struct AnyReceiptEnvelope<T = Log> {
pub inner: ReceiptWithBloom<Receipt<T>>,
pub type: u8,
}Expand description
Receipt envelope, as defined in EIP-2718.
Represents legacy and typed EIP-2718 receipts. Type ID 0 is encoded as untagged legacy; this
type does not preserve a literal 0x00 prefix.
Transaction receipt payloads are specified in their respective EIPs.
Fields§
§inner: ReceiptWithBloom<Receipt<T>>The receipt envelope.
type: u8The transaction type.
Implementations§
Source§impl<T> AnyReceiptEnvelope<T>
impl<T> AnyReceiptEnvelope<T>
Source§impl<T> AnyReceiptEnvelope<T>where
T: Encodable,
impl<T> AnyReceiptEnvelope<T>where
T: Encodable,
Sourcepub fn rlp_payload_length(&self) -> usize
pub fn rlp_payload_length(&self) -> usize
Calculate the length of the rlp payload of the network encoded receipt.
Source§impl<T> AnyReceiptEnvelope<T>
impl<T> AnyReceiptEnvelope<T>
Sourcepub const fn is_success(&self) -> bool
pub const fn is_success(&self) -> bool
Sourcepub const fn cumulative_gas_used(&self) -> u64
pub const fn cumulative_gas_used(&self) -> u64
Returns the cumulative gas used at this receipt.
Trait Implementations§
Source§impl<T> Clone for AnyReceiptEnvelope<T>where
T: Clone,
impl<T> Clone for AnyReceiptEnvelope<T>where
T: Clone,
Source§fn clone(&self) -> AnyReceiptEnvelope<T>
fn clone(&self) -> AnyReceiptEnvelope<T>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<T> Debug for AnyReceiptEnvelope<T>where
T: Debug,
impl<T> Debug for AnyReceiptEnvelope<T>where
T: Debug,
Source§impl Decodable2718 for AnyReceiptEnvelope
impl Decodable2718 for AnyReceiptEnvelope
Source§fn typed_decode(
ty: u8,
buf: &mut &[u8],
) -> Result<AnyReceiptEnvelope, Eip2718Error>
fn typed_decode( ty: u8, buf: &mut &[u8], ) -> Result<AnyReceiptEnvelope, Eip2718Error>
Decode the appropriate variant, based on the type flag. Read more
Source§fn fallback_decode(buf: &mut &[u8]) -> Result<AnyReceiptEnvelope, Eip2718Error>
fn fallback_decode(buf: &mut &[u8]) -> Result<AnyReceiptEnvelope, Eip2718Error>
Decode the default variant. Read more
Source§fn extract_type_byte(buf: &mut &[u8]) -> Option<u8>
fn extract_type_byte(buf: &mut &[u8]) -> Option<u8>
Extract the type byte from the buffer, if any. The type byte is the
first byte, provided that first byte is 0x7f or lower.
Source§fn decode_2718(buf: &mut &[u8]) -> Result<Self, Eip2718Error>
fn decode_2718(buf: &mut &[u8]) -> Result<Self, Eip2718Error>
Source§fn decode_2718_exact(bytes: &[u8]) -> Result<Self, Eip2718Error>
fn decode_2718_exact(bytes: &[u8]) -> Result<Self, Eip2718Error>
Source§fn network_decode(buf: &mut &[u8]) -> Result<Self, Eip2718Error>
fn network_decode(buf: &mut &[u8]) -> Result<Self, Eip2718Error>
Source§impl<'de, T> Deserialize<'de> for AnyReceiptEnvelope<T>where
T: Deserialize<'de>,
impl<'de, T> Deserialize<'de> for AnyReceiptEnvelope<T>where
T: Deserialize<'de>,
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<AnyReceiptEnvelope<T>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<AnyReceiptEnvelope<T>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Encodable2718 for AnyReceiptEnvelope
impl Encodable2718 for AnyReceiptEnvelope
Source§fn encode_2718_len(&self) -> usize
fn encode_2718_len(&self) -> usize
The length of the 2718 encoded envelope. This is the length of the type
flag + the length of the inner encoding.
Source§fn encode_2718(&self, out: &mut dyn BufMut)
fn encode_2718(&self, out: &mut dyn BufMut)
Source§fn encoded_2718(&self) -> Vec<u8> ⓘ
fn encoded_2718(&self) -> Vec<u8> ⓘ
Encode the transaction according to [EIP-2718] rules. First a 1-byte
type flag in the range 0x0-0x7f, then the body of the transaction. Read more
Source§fn trie_hash(&self) -> FixedBytes<32>
fn trie_hash(&self) -> FixedBytes<32>
Compute the hash as committed to in the MPT trie. This hash is used
ONLY by the Ethereum merkle-patricia trie and associated proofs. Do not
call this method unless you are building a full or light client. Read more
Source§fn into_encoded(self) -> WithEncoded<Self>
fn into_encoded(self) -> WithEncoded<Self>
A convenience function that encodes the value in the 2718 format and wraps it in a
WithEncoded wrapper. Read moreSource§fn network_len(&self) -> usize
fn network_len(&self) -> usize
The length of the 2718 encoded envelope in network format. This is the
length of the header + the length of the type flag and inner encoding.
Source§fn network_encode(&self, out: &mut dyn BufMut)
fn network_encode(&self, out: &mut dyn BufMut)
Encode in the network format. The network format is used ONLY by the
Ethereum p2p protocol. Do not call this method unless you are building
a p2p protocol client. Read more
impl<T> Eq for AnyReceiptEnvelope<T>where
T: Eq,
Source§impl<T> PartialEq for AnyReceiptEnvelope<T>where
T: PartialEq,
impl<T> PartialEq for AnyReceiptEnvelope<T>where
T: PartialEq,
Source§impl<T> Serialize for AnyReceiptEnvelope<T>where
T: Serialize,
impl<T> Serialize for AnyReceiptEnvelope<T>where
T: Serialize,
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl<T> StructuralPartialEq for AnyReceiptEnvelope<T>where
T: PartialEq,
Source§impl<T> TxReceipt for AnyReceiptEnvelope<T>
impl<T> TxReceipt for AnyReceiptEnvelope<T>
Source§fn status_or_post_state(&self) -> Eip658Value
fn status_or_post_state(&self) -> Eip658Value
Returns the status or post state of the transaction. Read more
Source§fn bloom(&self) -> Bloom
fn bloom(&self) -> Bloom
Returns the bloom filter for the logs in the receipt. This operation
may be expensive.
Source§fn cumulative_gas_used(&self) -> u64
fn cumulative_gas_used(&self) -> u64
Returns the cumulative gas used in the block after this transaction was executed.
Source§fn into_logs(self) -> Vec<<AnyReceiptEnvelope<T> as TxReceipt>::Log>
fn into_logs(self) -> Vec<<AnyReceiptEnvelope<T> as TxReceipt>::Log>
Consumes the type and returns the logs emitted by this transaction as a vector.
Source§fn bloom_cheap(&self) -> Option<Bloom>
fn bloom_cheap(&self) -> Option<Bloom>
Returns the bloom filter for the logs in the receipt, if it is cheap to
compute.
Source§fn with_bloom_ref(&self) -> ReceiptWithBloom<&Self>
fn with_bloom_ref(&self) -> ReceiptWithBloom<&Self>
Returns
ReceiptWithBloom with the computed bloom filter Self::bloom and a reference
to the receipt.Source§fn into_with_bloom(self) -> ReceiptWithBloom<Self>
fn into_with_bloom(self) -> ReceiptWithBloom<Self>
Consumes the type and converts it into
ReceiptWithBloom with the computed bloom filter
Self::bloom and the receipt.Source§fn into_with_bloom_unchecked(self, logs_bloom: Bloom) -> ReceiptWithBloom<Self>
fn into_with_bloom_unchecked(self, logs_bloom: Bloom) -> ReceiptWithBloom<Self>
Consumes the type and converts it into
ReceiptWithBloom with the given bloom filter.Source§impl Typed2718 for AnyReceiptEnvelope
impl Typed2718 for AnyReceiptEnvelope
Source§fn is_eip2930(&self) -> bool
fn is_eip2930(&self) -> bool
Returns true if the type is an EIP-2930 transaction.
Source§fn is_eip1559(&self) -> bool
fn is_eip1559(&self) -> bool
Returns true if the type is an EIP-1559 transaction.
Source§fn is_eip4844(&self) -> bool
fn is_eip4844(&self) -> bool
Returns true if the type is an EIP-4844 transaction.
Source§fn is_eip7702(&self) -> bool
fn is_eip7702(&self) -> bool
Returns true if the type is an EIP-7702 transaction.
Auto Trait Implementations§
impl<T> Freeze for AnyReceiptEnvelope<T>
impl<T> RefUnwindSafe for AnyReceiptEnvelope<T>where
T: RefUnwindSafe,
impl<T> Send for AnyReceiptEnvelope<T>where
T: Send,
impl<T> Sync for AnyReceiptEnvelope<T>where
T: Sync,
impl<T> Unpin for AnyReceiptEnvelope<T>where
T: Unpin,
impl<T> UnsafeUnpin for AnyReceiptEnvelope<T>
impl<T> UnwindSafe for AnyReceiptEnvelope<T>where
T: 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
Mutably borrows from an owned value. Read more
impl<'de, T> BorrowedRpcObject<'de> for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> Eip2718Envelope for Twhere
T: Decodable2718 + Encodable2718,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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> ⓘ
Converts
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> ⓘ
Converts
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 moreimpl<'de, T> RpcBorrow<'de> for T
impl<T> RpcObject for T
impl<T> RpcRecv for T
impl<T> RpcSend for T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
Source§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 336 bytes