pub trait LoadFee: LoadBlockwhere
Self::Provider: BlockReaderIdExt,{
// Required methods
fn gas_oracle(&self) -> &GasPriceOracle<Self::Provider>;
fn fee_history_cache(
&self,
) -> &FeeHistoryCache<ProviderHeader<Self::Provider>>;
// Provided methods
fn legacy_gas_price(
&self,
gas_price: Option<U256>,
) -> impl Future<Output = Result<U256, Self::Error>> + Send { ... }
fn eip1559_fees(
&self,
base_fee: Option<U256>,
max_priority_fee_per_gas: Option<U256>,
) -> impl Future<Output = Result<(U256, U256), Self::Error>> + Send { ... }
fn eip4844_blob_fee(
&self,
blob_fee: Option<U256>,
) -> impl Future<Output = Result<U256, Self::Error>> + Send { ... }
fn gas_price(
&self,
) -> impl Future<Output = Result<U256, Self::Error>> + Send { ... }
fn blob_base_fee(
&self,
) -> impl Future<Output = Result<U256, Self::Error>> + Send { ... }
fn base_fee(
&self,
) -> impl Future<Output = Result<Option<U256>, Self::Error>> + Send { ... }
fn suggested_priority_fee(
&self,
) -> impl Future<Output = Result<U256, 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<ProviderHeader<Self::Provider>>
fn fee_history_cache(&self) -> &FeeHistoryCache<ProviderHeader<Self::Provider>>
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<U256>,
) -> impl Future<Output = Result<U256, Self::Error>> + Send
fn legacy_gas_price( &self, gas_price: Option<U256>, ) -> impl Future<Output = Result<U256, 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<U256>,
max_priority_fee_per_gas: Option<U256>,
) -> impl Future<Output = Result<(U256, U256), Self::Error>> + Send
fn eip1559_fees( &self, base_fee: Option<U256>, max_priority_fee_per_gas: Option<U256>, ) -> impl Future<Output = Result<(U256, U256), 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<U256>,
) -> impl Future<Output = Result<U256, Self::Error>> + Send
fn eip4844_blob_fee( &self, blob_fee: Option<U256>, ) -> impl Future<Output = Result<U256, 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<U256, Self::Error>> + Send
fn gas_price(&self) -> impl Future<Output = Result<U256, Self::Error>> + Send
Returns a suggestion for a gas price for legacy transactions.
See also: https://github.com/ethereum/pm/issues/328#issuecomment-853234014
Sourcefn blob_base_fee(
&self,
) -> impl Future<Output = Result<U256, Self::Error>> + Send
fn blob_base_fee( &self, ) -> impl Future<Output = Result<U256, Self::Error>> + Send
Returns a suggestion for a base fee for blob transactions.
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.