pub struct GasOracleFiller<C> { /* private fields */ }
Expand description
Use the underlying gas tracker API of GnosisScan to populate the gas price.
It returns gas price in gwei.
It implements the GasOracle
trait.
If no Oracle URL is given, it returns no values.
Implementations§
Source§impl<C> GasOracleFiller<C>where
C: HttpRequestor + Clone,
impl<C> GasOracleFiller<C>where
C: HttpRequestor + Clone,
Sourcepub fn category(self, gas_category: GasCategory) -> Self
pub fn category(self, gas_category: GasCategory) -> Self
Sets the gas price category to be used when fetching the gas price.
Sourcepub async fn query(&self) -> Result<GasOracleResponse, TransportError>
pub async fn query(&self) -> Result<GasOracleResponse, TransportError>
Perform a request to the gas price API and deserialize the response.
Trait Implementations§
Source§impl<C: Clone> Clone for GasOracleFiller<C>
impl<C: Clone> Clone for GasOracleFiller<C>
Source§fn clone(&self) -> GasOracleFiller<C>
fn clone(&self) -> GasOracleFiller<C>
Returns a duplicate 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<C: Debug> Debug for GasOracleFiller<C>
impl<C: Debug> Debug for GasOracleFiller<C>
Source§impl<N, C> TxFiller<N> for GasOracleFiller<C>where
N: Network,
C: HttpRequestor + Clone,
impl<N, C> TxFiller<N> for GasOracleFiller<C>where
N: Network,
C: HttpRequestor + Clone,
Source§type Fillable = GasOracleFillable
type Fillable = GasOracleFillable
The properties that this filler retrieves from the RPC. to fill in the
TransactionRequest.
Source§fn status(&self, tx: &<N as Network>::TransactionRequest) -> FillerControlFlow
fn status(&self, tx: &<N as Network>::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 as Network>::TransactionRequest,
) -> TransportResult<Self::Fillable>where
P: Provider<N>,
async fn prepare<P>(
&self,
provider: &P,
tx: &<N as Network>::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.
§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.
§fn continue_filling(&self, tx: &SendableTx<N>) -> bool
fn continue_filling(&self, tx: &SendableTx<N>) -> bool
Returns
true
if the filler should continue filling.§fn ready(&self, tx: &<N as Network>::TransactionRequest) -> bool
fn ready(&self, tx: &<N as Network>::TransactionRequest) -> bool
Returns
true
if the filler is ready to fill in the transaction request.§fn finished(&self, tx: &<N as Network>::TransactionRequest) -> bool
fn finished(&self, tx: &<N as Network>::TransactionRequest) -> bool
Returns
true
if the filler is finished filling in the transaction request.§fn fill_envelope(
&self,
fillable: Self::Fillable,
tx: SendableTx<N>,
) -> impl Send + Future<Output = Result<<N as Network>::TxEnvelope, FillEnvelopeError<<N as Network>::TransactionRequest>>>
fn fill_envelope( &self, fillable: Self::Fillable, tx: SendableTx<N>, ) -> impl Send + Future<Output = Result<<N as Network>::TxEnvelope, FillEnvelopeError<<N as Network>::TransactionRequest>>>
Fills in the transaction request and try to convert it to an envelope.
§fn prepare_and_fill<P>(
&self,
provider: &P,
tx: SendableTx<N>,
) -> impl Send + Future<Output = Result<SendableTx<N>, RpcError<TransportErrorKind>>>where
P: Provider<N>,
fn prepare_and_fill<P>(
&self,
provider: &P,
tx: SendableTx<N>,
) -> impl Send + Future<Output = Result<SendableTx<N>, RpcError<TransportErrorKind>>>where
P: Provider<N>,
Prepares and fills the transaction request with the fillable properties.
§fn prepare_call(
&self,
tx: &mut <N as Network>::TransactionRequest,
) -> impl Send + Future<Output = Result<(), RpcError<TransportErrorKind>>>
fn prepare_call( &self, tx: &mut <N as Network>::TransactionRequest, ) -> impl Send + Future<Output = Result<(), RpcError<TransportErrorKind>>>
Prepares transaction request with necessary fillers required for eth_call operations
asynchronously
§fn prepare_call_sync(
&self,
tx: &mut <N as Network>::TransactionRequest,
) -> Result<(), RpcError<TransportErrorKind>>
fn prepare_call_sync( &self, tx: &mut <N as Network>::TransactionRequest, ) -> Result<(), RpcError<TransportErrorKind>>
Prepares transaction request with necessary fillers required for eth_call operations
synchronously
Auto Trait Implementations§
impl<C> Freeze for GasOracleFiller<C>where
C: Freeze,
impl<C> RefUnwindSafe for GasOracleFiller<C>where
C: RefUnwindSafe,
impl<C> Send for GasOracleFiller<C>where
C: Send,
impl<C> Sync for GasOracleFiller<C>where
C: Sync,
impl<C> Unpin for GasOracleFiller<C>where
C: Unpin,
impl<C> UnwindSafe for GasOracleFiller<C>where
C: 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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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>
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