pub trait LoadFee: LoadBlock {
// Required methods
fn gas_oracle(&self) -> &GasPriceOracle<Self::Provider>;
fn fee_history_cache(&self) -> &FeeHistoryCache;
// Provided methods
fn legacy_gas_price(
&self,
gas_price: Option<Uint<256, 4>>,
) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Send { ... }
fn eip1559_fees(
&self,
base_fee: Option<Uint<256, 4>>,
max_priority_fee_per_gas: Option<Uint<256, 4>>,
) -> impl Future<Output = Result<(Uint<256, 4>, Uint<256, 4>), Self::Error>> + Send { ... }
fn eip4844_blob_fee(
&self,
blob_fee: Option<Uint<256, 4>>,
) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Send { ... }
fn gas_price(
&self,
) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Send { ... }
fn blob_base_fee(
&self,
) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Send { ... }
fn suggested_priority_fee(
&self,
) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Send
where Self: 'static { ... }
}
Expand description
Loads fee from database.
Behaviour shared by several eth_
RPC methods, not exclusive to eth_
fees RPC methods.
Required Methods§
Sourcefn gas_oracle(&self) -> &GasPriceOracle<Self::Provider>
fn gas_oracle(&self) -> &GasPriceOracle<Self::Provider>
Returns a handle for reading gas price.
Data access in default (L1) trait method implementations.
Sourcefn fee_history_cache(&self) -> &FeeHistoryCache
fn fee_history_cache(&self) -> &FeeHistoryCache
Returns a handle for reading fee history data from memory.
Data access in default (L1) trait method implementations.
Provided Methods§
Sourcefn legacy_gas_price(
&self,
gas_price: Option<Uint<256, 4>>,
) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Send
fn legacy_gas_price( &self, gas_price: Option<Uint<256, 4>>, ) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Send
Returns the gas price if it is set, otherwise fetches a suggested gas price for legacy transactions.
Sourcefn eip1559_fees(
&self,
base_fee: Option<Uint<256, 4>>,
max_priority_fee_per_gas: Option<Uint<256, 4>>,
) -> impl Future<Output = Result<(Uint<256, 4>, Uint<256, 4>), Self::Error>> + Send
fn eip1559_fees( &self, base_fee: Option<Uint<256, 4>>, max_priority_fee_per_gas: Option<Uint<256, 4>>, ) -> impl Future<Output = Result<(Uint<256, 4>, Uint<256, 4>), Self::Error>> + Send
Returns the EIP-1559 fees if they are set, otherwise fetches a suggested gas price for EIP-1559 transactions.
Returns (base_fee
, priority_fee
)
Sourcefn eip4844_blob_fee(
&self,
blob_fee: Option<Uint<256, 4>>,
) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Send
fn eip4844_blob_fee( &self, blob_fee: Option<Uint<256, 4>>, ) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Send
Returns the EIP-4844 blob fee if it is set, otherwise fetches a blob fee.
Sourcefn gas_price(
&self,
) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Send
fn gas_price( &self, ) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Send
Returns a suggestion for a gas price for legacy transactions.
See also: https://github.com/ethereum/pm/issues/328#issuecomment-853234014
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.