pub struct ChainIdFiller(/* private fields */);Expand description
A TxFiller that populates the chain ID of a transaction.
If a chain ID is provided, it will be used for filling. If a chain ID is not provided, the filler will attempt to fetch the chain ID from the provider the first time a transaction is prepared, and will cache it for future transactions.
Transactions that already have a chain_id set by the user will not be modified.
§Example
let pk: PrivateKeySigner = "0x...".parse()?;
let provider =
ProviderBuilder::<_, _, Ethereum>::default().with_chain_id(1).wallet(pk).connect_http(url);
provider.send_transaction(TransactionRequest::default()).await;Implementations§
Source§impl ChainIdFiller
impl ChainIdFiller
Sourcepub fn new(chain_id: Option<ChainId>) -> Self
pub fn new(chain_id: Option<ChainId>) -> Self
Create a new ChainIdFiller with an optional chain ID.
If a chain ID is provided, it will be used for filling. If a chain ID is not provided, the filler will attempt to fetch the chain ID from the provider the first time a transaction is prepared.
Trait Implementations§
Source§impl Clone for ChainIdFiller
impl Clone for ChainIdFiller
Source§fn clone(&self) -> ChainIdFiller
fn clone(&self) -> ChainIdFiller
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 ChainIdFiller
impl Debug for ChainIdFiller
Source§impl Default for ChainIdFiller
impl Default for ChainIdFiller
Source§fn default() -> ChainIdFiller
fn default() -> ChainIdFiller
Returns the “default value” for a type. Read more
Source§impl PartialEq for ChainIdFiller
impl PartialEq for ChainIdFiller
Source§impl<N: Network> TxFiller<N> for ChainIdFiller
impl<N: Network> TxFiller<N> for ChainIdFiller
Source§type Fillable = u64
type Fillable = u64
The properties that this filler retrieves from the RPC. to fill in the
TransactionRequest.
Source§fn status(&self, tx: &N::TransactionRequest) -> FillerControlFlow
fn status(&self, tx: &N::TransactionRequest) -> FillerControlFlow
Return a control-flow enum indicating whether the filler is ready to
fill in the transaction request, or if it is missing required
properties.
Source§fn fill_sync(&self, tx: &mut SendableTx<N>)
fn fill_sync(&self, tx: &mut SendableTx<N>)
Performs any synchronous filling. This should be called before
TxFiller::prepare and TxFiller::fill to fill in any properties
that can be filled synchronously.Source§async fn prepare<P>(
&self,
provider: &P,
_tx: &N::TransactionRequest,
) -> TransportResult<Self::Fillable>where
P: Provider<N>,
async fn prepare<P>(
&self,
provider: &P,
_tx: &N::TransactionRequest,
) -> TransportResult<Self::Fillable>where
P: Provider<N>,
Prepares fillable properties, potentially by making an RPC request.
Source§async fn fill(
&self,
_fillable: Self::Fillable,
tx: SendableTx<N>,
) -> TransportResult<SendableTx<N>>
async fn fill( &self, _fillable: Self::Fillable, tx: SendableTx<N>, ) -> TransportResult<SendableTx<N>>
Fills in the transaction request with the fillable properties.
Source§fn join_with<T>(self, other: T) -> JoinFill<Self, T>where
T: TxFiller<N>,
fn join_with<T>(self, other: T) -> JoinFill<Self, T>where
T: TxFiller<N>,
Joins this filler with another filler to compose multiple fillers.
Source§fn continue_filling(&self, tx: &SendableTx<N>) -> bool
fn continue_filling(&self, tx: &SendableTx<N>) -> bool
Returns
true if the filler should continue filling.Source§fn ready(&self, tx: &N::TransactionRequest) -> bool
fn ready(&self, tx: &N::TransactionRequest) -> bool
Returns
true if the filler is ready to fill in the transaction request.Source§fn finished(&self, tx: &N::TransactionRequest) -> bool
fn finished(&self, tx: &N::TransactionRequest) -> bool
Returns
true if the filler is finished filling in the transaction request.Source§fn fill_envelope(
&self,
fillable: Self::Fillable,
tx: SendableTx<N>,
) -> impl Send + Future<Output = Result<N::TxEnvelope, FillEnvelopeError<N::TransactionRequest>>>
fn fill_envelope( &self, fillable: Self::Fillable, tx: SendableTx<N>, ) -> impl Send + Future<Output = Result<N::TxEnvelope, FillEnvelopeError<N::TransactionRequest>>>
Fills in the transaction request and try to convert it to an envelope.
Source§fn prepare_and_fill<P>(
&self,
provider: &P,
tx: SendableTx<N>,
) -> impl Send + Future<Output = TransportResult<SendableTx<N>>>where
P: Provider<N>,
fn prepare_and_fill<P>(
&self,
provider: &P,
tx: SendableTx<N>,
) -> impl Send + Future<Output = TransportResult<SendableTx<N>>>where
P: Provider<N>,
Prepares and fills the transaction request with the fillable properties.
Source§fn prepare_call(
&self,
tx: &mut N::TransactionRequest,
) -> impl Send + Future<Output = TransportResult<()>>
fn prepare_call( &self, tx: &mut N::TransactionRequest, ) -> impl Send + Future<Output = TransportResult<()>>
Prepares transaction request with necessary fillers required for eth_call operations
asynchronously
Source§fn prepare_call_sync(
&self,
tx: &mut N::TransactionRequest,
) -> TransportResult<()>
fn prepare_call_sync( &self, tx: &mut N::TransactionRequest, ) -> TransportResult<()>
Prepares transaction request with necessary fillers required for eth_call operations
synchronously
impl Eq for ChainIdFiller
impl StructuralPartialEq for ChainIdFiller
Auto Trait Implementations§
impl Freeze for ChainIdFiller
impl RefUnwindSafe for ChainIdFiller
impl Send for ChainIdFiller
impl Sync for ChainIdFiller
impl Unpin for ChainIdFiller
impl UnwindSafe for ChainIdFiller
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
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
Compare self to
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<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 more