pub struct SignetEthBundle {
pub bundle: EthSendBundle,
pub host_txs: Vec<Bytes>,
}Expand description
Bundle of transactions for signet_sendBundle.
The Signet bundle contains the following:
- A standard
EthSendBundlewith the transactions to simulate. - Host transactions to be included in the host bundle.
This is based on the flashbots eth_sendBundle bundle. See their docs.
Fields§
§bundle: EthSendBundleThe bundle of transactions to simulate. Same structure as a Flashbots EthSendBundle bundle.
host_txs: Vec<Bytes>Host transactions to be included in the host bundle.
Implementations§
Source§impl SignetEthBundle
impl SignetEthBundle
Sourcepub const fn new(bundle: EthSendBundle, host_txs: Vec<Bytes>) -> Self
pub const fn new(bundle: EthSendBundle, host_txs: Vec<Bytes>) -> Self
Creates a new SignetEthBundle from an existing EthSendBundle.
Sourcepub fn into_parts(self) -> (EthSendBundle, Vec<Bytes>)
pub fn into_parts(self) -> (EthSendBundle, Vec<Bytes>)
Decomposes the SignetEthBundle into its parts.
Sourcepub const fn host_txs_mut(&mut self) -> &mut Vec<Bytes>
pub const fn host_txs_mut(&mut self) -> &mut Vec<Bytes>
Get a mutable reference to the host transactions.
Sourcepub fn decode_txs(&self) -> impl Iterator<Item = Eip2718Result<TxEnvelope>> + '_
pub fn decode_txs(&self) -> impl Iterator<Item = Eip2718Result<TxEnvelope>> + '_
Return an iterator over decoded transactions in this bundle.
Sourcepub fn decode_host_txs(
&self,
) -> impl Iterator<Item = Eip2718Result<TxEnvelope>> + '_
pub fn decode_host_txs( &self, ) -> impl Iterator<Item = Eip2718Result<TxEnvelope>> + '_
Return an iterator over decoded host transactions in this bundle.
This may be empty if no host transactions were included.
Sourcepub fn recover_txs(
&self,
) -> impl Iterator<Item = Result<Recovered<TxEnvelope>, BundleRecoverError>> + '_
pub fn recover_txs( &self, ) -> impl Iterator<Item = Result<Recovered<TxEnvelope>, BundleRecoverError>> + '_
Return an iterator over recovered transactions in this bundle. This iterator may include errors.
Sourcepub fn recover_host_txs(
&self,
) -> impl Iterator<Item = Result<Recovered<TxEnvelope>, BundleRecoverError>> + '_
pub fn recover_host_txs( &self, ) -> impl Iterator<Item = Result<Recovered<TxEnvelope>, BundleRecoverError>> + '_
Return an iterator over recovered host transactions in this bundle. This iterator may include errors.
Sourcepub fn try_into_recovered(self) -> Result<RecoveredBundle, BundleRecoverError>
pub fn try_into_recovered(self) -> Result<RecoveredBundle, BundleRecoverError>
Create a RecoveredBundle from this bundle by decoding and recovering
all transactions, taking ownership of the bundle.
Sourcepub fn try_to_recovered(&self) -> Result<RecoveredBundle, BundleRecoverError>
pub fn try_to_recovered(&self) -> Result<RecoveredBundle, BundleRecoverError>
Create a RecoveredBundle from this bundle by decoding and recovering
all transactions, cloning other fields as necessary.
Sourcepub fn signers(&self) -> impl Iterator<Item = Option<(TxHash, Address)>> + '_
pub fn signers(&self) -> impl Iterator<Item = Option<(TxHash, Address)>> + '_
Return an iterator over the signers of the transactions in this bundle.
The iterator yields Option<(TxHash, Address)> for each transaction,
where None indicates that the signer could not be recovered.
Computing this may be expensive, as it requires decoding and recovering the signer for each transaction. It is recommended to memoize the results
Sourcepub fn signers_lossy(&self) -> impl Iterator<Item = (TxHash, Address)> + '_
pub fn signers_lossy(&self) -> impl Iterator<Item = (TxHash, Address)> + '_
Return an iterator over the signers of the transactions in this bundle, skipping any transactions where the signer could not be recovered.
Sourcepub const fn block_number(&self) -> u64
pub const fn block_number(&self) -> u64
Returns the block number for this bundle.
Sourcepub const fn min_timestamp(&self) -> Option<u64>
pub const fn min_timestamp(&self) -> Option<u64>
Returns the minimum timestamp for this bundle.
Sourcepub const fn max_timestamp(&self) -> Option<u64>
pub const fn max_timestamp(&self) -> Option<u64>
Returns the maximum timestamp for this bundle.
Sourcepub const fn reverting_tx_hashes(&self) -> &[B256] ⓘ
pub const fn reverting_tx_hashes(&self) -> &[B256] ⓘ
Returns the reverting tx hashes for this bundle.
Sourcepub const fn replacement_uuid(&self) -> Option<&str>
pub const fn replacement_uuid(&self) -> Option<&str>
Returns the replacement uuid for this bundle.
Sourcepub fn is_valid_at_timestamp(&self, timestamp: u64) -> bool
pub fn is_valid_at_timestamp(&self, timestamp: u64) -> bool
Checks if the bundle is valid at a given timestamp.
Sourcepub const fn is_valid_at_block_number(&self, block_number: u64) -> bool
pub const fn is_valid_at_block_number(&self, block_number: u64) -> bool
Checks if the bundle is valid at a given block number.
Sourcepub fn decode_and_validate_txs<Db: Database>(
&self,
) -> Result<Vec<TxEnvelope>, BundleError<Db>>
pub fn decode_and_validate_txs<Db: Database>( &self, ) -> Result<Vec<TxEnvelope>, BundleError<Db>>
Decode and validate the transactions in the bundle.
Sourcepub fn decode_and_validate_host_txs<Db: Database>(
&self,
) -> Result<Vec<TxEnvelope>, BundleError<Db>>
pub fn decode_and_validate_host_txs<Db: Database>( &self, ) -> Result<Vec<TxEnvelope>, BundleError<Db>>
Decode and validate the host transactions in the bundle.
Trait Implementations§
Source§impl Clone for SignetEthBundle
impl Clone for SignetEthBundle
Source§fn clone(&self) -> SignetEthBundle
fn clone(&self) -> SignetEthBundle
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SignetEthBundle
impl Debug for SignetEthBundle
Source§impl<'de> Deserialize<'de> for SignetEthBundle
impl<'de> Deserialize<'de> for SignetEthBundle
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 PartialEq for SignetEthBundle
impl PartialEq for SignetEthBundle
Source§impl Serialize for SignetEthBundle
impl Serialize for SignetEthBundle
impl Eq for SignetEthBundle
impl StructuralPartialEq for SignetEthBundle
Auto Trait Implementations§
impl Freeze for SignetEthBundle
impl RefUnwindSafe for SignetEthBundle
impl Send for SignetEthBundle
impl Sync for SignetEthBundle
impl Unpin for SignetEthBundle
impl UnsafeUnpin for SignetEthBundle
impl UnwindSafe for SignetEthBundle
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§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.Source§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.Source§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.Source§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.Source§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.Source§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.Source§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.Source§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.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 moreSource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§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 moreSource§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 moreSource§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
Source§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
Source§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.Source§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.Source§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.Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§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 moreSource§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 moreSource§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 moreSource§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 moreSource§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 moreSource§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 moreSource§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.Source§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.Source§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.Source§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.Source§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.Source§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.Source§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.