pub struct EthPooledTransaction { /* private fields */ }
Expand description
The default PoolTransaction
for the Pool for Ethereum.
This type is essentially a wrapper around [TransactionSignedEcRecovered
] with additional
fields derived from the transaction that are frequently used by the pools for ordering.
Implementations§
source§impl EthPooledTransaction
impl EthPooledTransaction
sourcepub fn new(
transaction: TransactionSignedEcRecovered,
encoded_length: usize,
) -> Self
pub fn new( transaction: TransactionSignedEcRecovered, encoded_length: usize, ) -> Self
Create new instance of Self.
Caution: In case of blob transactions, this does marks the blob sidecar as
EthBlobTransactionSidecar::Missing
sourcepub const fn transaction(&self) -> &TransactionSignedEcRecovered
pub const fn transaction(&self) -> &TransactionSignedEcRecovered
Return the reference to the underlying transaction.
Trait Implementations§
source§impl Clone for EthPooledTransaction
impl Clone for EthPooledTransaction
source§fn clone(&self) -> EthPooledTransaction
fn clone(&self) -> EthPooledTransaction
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for EthPooledTransaction
impl Debug for EthPooledTransaction
source§impl EthPoolTransaction for EthPooledTransaction
impl EthPoolTransaction for EthPooledTransaction
source§fn take_blob(&mut self) -> EthBlobTransactionSidecar
fn take_blob(&mut self) -> EthBlobTransactionSidecar
source§fn blob_count(&self) -> usize
fn blob_count(&self) -> usize
source§fn validate_blob(
&self,
sidecar: &BlobTransactionSidecar,
settings: &KzgSettings,
) -> Result<(), BlobTransactionValidationError>
fn validate_blob( &self, sidecar: &BlobTransactionSidecar, settings: &KzgSettings, ) -> Result<(), BlobTransactionValidationError>
source§impl From<EthPooledTransaction> for TransactionSignedEcRecovered
impl From<EthPooledTransaction> for TransactionSignedEcRecovered
source§fn from(tx: EthPooledTransaction) -> Self
fn from(tx: EthPooledTransaction) -> Self
source§impl From<PooledTransactionsElementEcRecovered> for EthPooledTransaction
impl From<PooledTransactionsElementEcRecovered> for EthPooledTransaction
Conversion from the network transaction type to the pool transaction type.
source§impl PartialEq for EthPooledTransaction
impl PartialEq for EthPooledTransaction
source§impl PoolTransaction for EthPooledTransaction
impl PoolTransaction for EthPooledTransaction
source§fn cost(&self) -> U256
fn cost(&self) -> U256
Returns the cost that this transaction is allowed to consume:
For EIP-1559 transactions: max_fee_per_gas * gas_limit + tx_value
.
For legacy transactions: gas_price * gas_limit + tx_value
.
For EIP-4844 blob transactions: max_fee_per_gas * gas_limit + tx_value + max_blob_fee_per_gas * blob_gas_used
.
source§fn gas_limit(&self) -> u64
fn gas_limit(&self) -> u64
Amount of gas that should be used in executing this transaction. This is paid up-front.
source§fn max_fee_per_gas(&self) -> u128
fn max_fee_per_gas(&self) -> u128
Returns the EIP-1559 Max base fee the caller is willing to pay.
For legacy transactions this is gas_price
.
This is also commonly referred to as the “Gas Fee Cap” (GasFeeCap
).
source§fn max_priority_fee_per_gas(&self) -> Option<u128>
fn max_priority_fee_per_gas(&self) -> Option<u128>
Returns the EIP-1559 Priority fee the caller is paying to the block author.
This will return None
for non-EIP1559 transactions
source§fn effective_tip_per_gas(&self, base_fee: u64) -> Option<u128>
fn effective_tip_per_gas(&self, base_fee: u64) -> Option<u128>
Returns the effective tip for this transaction.
For EIP-1559 transactions: min(max_fee_per_gas - base_fee, max_priority_fee_per_gas)
.
For legacy transactions: gas_price - base_fee
.
source§fn priority_fee_or_price(&self) -> u128
fn priority_fee_or_price(&self) -> u128
Returns the max priority fee per gas if the transaction is an EIP-1559 transaction, and otherwise returns the gas price.
source§fn kind(&self) -> TxKind
fn kind(&self) -> TxKind
Returns the transaction’s [TxKind
], which is the address of the recipient or
[TxKind::Create
] if the transaction is a contract creation.
source§fn size(&self) -> usize
fn size(&self) -> usize
Returns a measurement of the heap usage of this type and all its internals.
source§fn encoded_length(&self) -> usize
fn encoded_length(&self) -> usize
Returns the length of the rlp encoded object
source§type TryFromConsensusError = TryFromRecoveredTransactionError
type TryFromConsensusError = TryFromRecoveredTransactionError
try_from_consensus
method.source§type Consensus = TransactionSignedEcRecovered
type Consensus = TransactionSignedEcRecovered
source§type Pooled = PooledTransactionsElementEcRecovered
type Pooled = PooledTransactionsElementEcRecovered
source§fn try_from_consensus(
tx: Self::Consensus,
) -> Result<Self, Self::TryFromConsensusError>
fn try_from_consensus( tx: Self::Consensus, ) -> Result<Self, Self::TryFromConsensusError>
Consensus
type to Self
source§fn into_consensus(self) -> Self::Consensus
fn into_consensus(self) -> Self::Consensus
Self
type to Consensus
source§fn from_pooled(pooled: Self::Pooled) -> Self
fn from_pooled(pooled: Self::Pooled) -> Self
Pooled
type to Self
source§fn access_list(&self) -> Option<&AccessList>
fn access_list(&self) -> Option<&AccessList>
access_list
for the particular transaction type.
For Legacy transactions, returns default.source§fn max_fee_per_blob_gas(&self) -> Option<u128>
fn max_fee_per_blob_gas(&self) -> Option<u128>
source§fn to(&self) -> Option<Address>
fn to(&self) -> Option<Address>
TxKind::Create
]
transaction.source§fn is_eip1559(&self) -> bool
fn is_eip1559(&self) -> bool
source§fn is_eip4844(&self) -> bool
fn is_eip4844(&self) -> bool
source§fn is_eip7702(&self) -> bool
fn is_eip7702(&self) -> bool
source§impl TryFrom<TransactionSignedEcRecovered> for EthPooledTransaction
impl TryFrom<TransactionSignedEcRecovered> for EthPooledTransaction
impl Eq for EthPooledTransaction
impl StructuralPartialEq for EthPooledTransaction
Auto Trait Implementations§
impl !Freeze for EthPooledTransaction
impl RefUnwindSafe for EthPooledTransaction
impl Send for EthPooledTransaction
impl Sync for EthPooledTransaction
impl Unpin for EthPooledTransaction
impl UnwindSafe for EthPooledTransaction
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<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> 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>
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>
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§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>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> MaybeDebug for Twhere
T: Debug,
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: 496 bytes