Struct substreams_ethereum::pb::eth::v2::TransactionReceipt
source · pub struct TransactionReceipt {
pub state_root: Vec<u8, Global>,
pub cumulative_gas_used: u64,
pub logs_bloom: Vec<u8, Global>,
pub logs: Vec<Log, Global>,
}Fields§
§state_root: Vec<u8, Global>State root is an intermediate state_root hash, computed in-between transactions to make
sure you could build a proof and point to state in the middle of a block. Geth client
uses PostState + root + PostStateOrStatus`` while Parity used status_code, root…`` this piles
hardforks, see (read the EIPs first):
- https://github.com/eoscanada/go-ethereum-private/blob/deep-mind/core/types/receipt.go#L147
- https://github.com/eoscanada/go-ethereum-private/blob/deep-mind/core/types/receipt.go#L50-L86
- https://github.com/ethereum/EIPs/blob/master/EIPS/eip-658.md
Moreover, the notion of Outcome`` in parity, which segregates the two concepts, which are stored in the same field status_code`` can be computed based on such a hack of the state_root
field, following EIP-658.
Before Byzantinium hard fork, this field is always empty.
cumulative_gas_used: u64§logs_bloom: Vec<u8, Global>§logs: Vec<Log, Global>Trait Implementations§
source§impl Clone for TransactionReceipt
impl Clone for TransactionReceipt
source§fn clone(&self) -> TransactionReceipt
fn clone(&self) -> TransactionReceipt
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for TransactionReceipt
impl Debug for TransactionReceipt
source§impl Default for TransactionReceipt
impl Default for TransactionReceipt
source§fn default() -> TransactionReceipt
fn default() -> TransactionReceipt
Returns the “default value” for a type. Read more
source§impl Message for TransactionReceipt
impl Message for TransactionReceipt
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
Encodes the message to a buffer. Read more
source§fn encode_to_vec(&self) -> Vec<u8, Global> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8, Global> ⓘwhere
Self: Sized,
Encodes the message to a newly allocated buffer.
source§fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
Encodes the message with a length-delimiter to a buffer. Read more
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8, Global> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8, Global> ⓘwhere
Self: Sized,
Encodes the message with a length-delimiter to a newly allocated buffer.
source§fn decode<B>(buf: B) -> Result<Self, DecodeError>where
B: Buf,
Self: Default,
fn decode<B>(buf: B) -> Result<Self, DecodeError>where
B: Buf,
Self: Default,
Decodes an instance of the message from a buffer. Read more
source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>where
B: Buf,
Self: Default,
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>where
B: Buf,
Self: Default,
Decodes a length-delimited instance of the message from the buffer.
source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
Decodes an instance of the message from a buffer, and merges it into
self. Read moresource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
Decodes a length-delimited instance of the message from buffer, and
merges it into
self.source§impl PartialEq<TransactionReceipt> for TransactionReceipt
impl PartialEq<TransactionReceipt> for TransactionReceipt
source§fn eq(&self, other: &TransactionReceipt) -> bool
fn eq(&self, other: &TransactionReceipt) -> bool
This method tests for
self and other values to be equal, and is used
by ==.