pub struct EthTransactionValidatorBuilder<Client> { /* private fields */ }
Expand description
A builder for EthTransactionValidator
and TransactionValidationTaskExecutor
Implementations§
Source§impl<Client> EthTransactionValidatorBuilder<Client>
impl<Client> EthTransactionValidatorBuilder<Client>
Sourcepub fn new(client: Client) -> Self
pub fn new(client: Client) -> Self
Creates a new builder for the given client
By default this assumes the network is on the Cancun
hardfork and the following
transactions are allowed:
- Legacy
- EIP-2718
- EIP-1559
- EIP-4844
Sourcepub fn with_local_transactions_config(
self,
local_transactions_config: LocalTransactionConfig,
) -> Self
pub fn with_local_transactions_config( self, local_transactions_config: LocalTransactionConfig, ) -> Self
Whether to allow exemptions for local transaction exemptions.
Sourcepub const fn set_cancun(self, cancun: bool) -> Self
pub const fn set_cancun(self, cancun: bool) -> Self
Set the Cancun fork.
Sourcepub const fn no_shanghai(self) -> Self
pub const fn no_shanghai(self) -> Self
Disables the Shanghai fork.
Sourcepub const fn set_shanghai(self, shanghai: bool) -> Self
pub const fn set_shanghai(self, shanghai: bool) -> Self
Set the Shanghai fork.
Sourcepub const fn set_prague(self, prague: bool) -> Self
pub const fn set_prague(self, prague: bool) -> Self
Set the Prague fork.
Sourcepub const fn no_eip2718(self) -> Self
pub const fn no_eip2718(self) -> Self
Disables the support for EIP-2718 transactions.
Sourcepub const fn set_eip2718(self, eip2718: bool) -> Self
pub const fn set_eip2718(self, eip2718: bool) -> Self
Set the support for EIP-2718 transactions.
Sourcepub const fn no_eip1559(self) -> Self
pub const fn no_eip1559(self) -> Self
Disables the support for EIP-1559 transactions.
Sourcepub const fn set_eip1559(self, eip1559: bool) -> Self
pub const fn set_eip1559(self, eip1559: bool) -> Self
Set the support for EIP-1559 transactions.
Sourcepub const fn no_eip4844(self) -> Self
pub const fn no_eip4844(self) -> Self
Disables the support for EIP-4844 transactions.
Sourcepub const fn set_eip4844(self, eip4844: bool) -> Self
pub const fn set_eip4844(self, eip4844: bool) -> Self
Set the support for EIP-4844 transactions.
Sourcepub fn kzg_settings(self, kzg_settings: EnvKzgSettings) -> Self
pub fn kzg_settings(self, kzg_settings: EnvKzgSettings) -> Self
Sets the [EnvKzgSettings
] to use for validating KZG proofs.
Sourcepub const fn with_minimum_priority_fee(self, minimum_priority_fee: u128) -> Self
pub const fn with_minimum_priority_fee(self, minimum_priority_fee: u128) -> Self
Sets a minimum priority fee that’s enforced for acceptance into the pool.
Sourcepub const fn with_additional_tasks(self, additional_tasks: usize) -> Self
pub const fn with_additional_tasks(self, additional_tasks: usize) -> Self
Sets the number of additional tasks to spawn.
Sourcepub fn with_head_timestamp(self, timestamp: u64) -> Selfwhere
Client: ChainSpecProvider<ChainSpec: EthereumHardforks>,
pub fn with_head_timestamp(self, timestamp: u64) -> Selfwhere
Client: ChainSpecProvider<ChainSpec: EthereumHardforks>,
Configures validation rules based on the head block’s timestamp.
For example, whether the Shanghai and Cancun hardfork is activated at launch.
Sourcepub const fn with_max_tx_input_bytes(self, max_tx_input_bytes: usize) -> Self
pub const fn with_max_tx_input_bytes(self, max_tx_input_bytes: usize) -> Self
Sets a max size in bytes of a single transaction allowed into the pool
Sourcepub fn set_block_gas_limit(self, block_gas_limit: u64) -> Self
pub fn set_block_gas_limit(self, block_gas_limit: u64) -> Self
Sets the block gas limit
Transactions with a gas limit greater than this will be rejected.
Sourcepub fn build<Tx, S>(self, blob_store: S) -> EthTransactionValidator<Client, Tx>where
S: BlobStore,
pub fn build<Tx, S>(self, blob_store: S) -> EthTransactionValidator<Client, Tx>where
S: BlobStore,
Builds a the EthTransactionValidator
without spawning validator tasks.
Sourcepub fn build_with_tasks<Tx, T, S>(
self,
tasks: T,
blob_store: S,
) -> TransactionValidationTaskExecutor<EthTransactionValidator<Client, Tx>>where
T: TaskSpawner,
S: BlobStore,
pub fn build_with_tasks<Tx, T, S>(
self,
tasks: T,
blob_store: S,
) -> TransactionValidationTaskExecutor<EthTransactionValidator<Client, Tx>>where
T: TaskSpawner,
S: BlobStore,
Builds a EthTransactionValidator
and spawns validation tasks via the
TransactionValidationTaskExecutor
The validator will spawn additional_tasks
additional tasks for validation.
By default this will spawn 1 additional task.
Trait Implementations§
Auto Trait Implementations§
impl<Client> !Freeze for EthTransactionValidatorBuilder<Client>
impl<Client> RefUnwindSafe for EthTransactionValidatorBuilder<Client>where
Client: RefUnwindSafe,
impl<Client> Send for EthTransactionValidatorBuilder<Client>where
Client: Send,
impl<Client> Sync for EthTransactionValidatorBuilder<Client>where
Client: Sync,
impl<Client> Unpin for EthTransactionValidatorBuilder<Client>where
Client: Unpin,
impl<Client> UnwindSafe for EthTransactionValidatorBuilder<Client>where
Client: 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
§impl<T> Conv for T
impl<T> Conv for T
§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<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
impl<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
§fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
TxEnv
from a transaction and a sender address.§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> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeDebug for Twhere
T: Debug,
impl<T> MaybeSendSync 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.