pub struct EthApi<N, Rpc>where
N: RpcNodeCore,
Rpc: RpcConvert,{ /* private fields */ }Expand description
Eth API implementation.
This type provides the functionality for handling eth_ related requests.
These are implemented two-fold: Core functionality is implemented as
EthApiSpec trait. Additionally, the required server
implementations (e.g. EthApiServer) are implemented
separately in submodules. The rpc handler implementation can then delegate to the main impls.
This way EthApi is not limited to jsonrpsee and can be used standalone or in other
network handlers (for example ipc).
§Trait requirements
While this type requires various unrestricted generic components, trait bounds are enforced when additional traits are implemented for this type.
Implementations§
Source§impl EthApi<RpcNodeCoreAdapter<NoopProvider, NoopTransactionPool, NoopNetwork, EthEvmConfig>, RpcConverter<Ethereum, EthEvmConfig, EthReceiptConverter<ChainSpec>>>
impl EthApi<RpcNodeCoreAdapter<NoopProvider, NoopTransactionPool, NoopNetwork, EthEvmConfig>, RpcConverter<Ethereum, EthEvmConfig, EthReceiptConverter<ChainSpec>>>
Sourcepub fn builder<Provider, Pool, Network, EvmConfig, ChainSpec>(
provider: Provider,
pool: Pool,
network: Network,
evm_config: EvmConfig,
) -> EthApiBuilder<RpcNodeCoreAdapter<Provider, Pool, Network, EvmConfig>, RpcConverter<Ethereum, EvmConfig, EthReceiptConverter<ChainSpec>>>where
RpcNodeCoreAdapter<Provider, Pool, Network, EvmConfig>: RpcNodeCore<Evm = EvmConfig>,
<RpcNodeCoreAdapter<Provider, Pool, Network, EvmConfig> as RpcNodeCore>::Provider: ChainSpecProvider<ChainSpec = ChainSpec>,
pub fn builder<Provider, Pool, Network, EvmConfig, ChainSpec>(
provider: Provider,
pool: Pool,
network: Network,
evm_config: EvmConfig,
) -> EthApiBuilder<RpcNodeCoreAdapter<Provider, Pool, Network, EvmConfig>, RpcConverter<Ethereum, EvmConfig, EthReceiptConverter<ChainSpec>>>where
RpcNodeCoreAdapter<Provider, Pool, Network, EvmConfig>: RpcNodeCore<Evm = EvmConfig>,
<RpcNodeCoreAdapter<Provider, Pool, Network, EvmConfig> as RpcNodeCore>::Provider: ChainSpecProvider<ChainSpec = ChainSpec>,
Convenience fn to obtain a new EthApiBuilder instance with mandatory components.
Creating an EthApi requires a few mandatory components:
- provider: The type responsible for fetching requested data from disk.
- transaction pool: To interact with the pool, submitting new transactions (e.g.
eth_sendRawTransactions). - network: required to handle requests related to network state (e.g.
eth_syncing). - evm config: Knows how create a new EVM instance to transact,estimate,call,trace.
§Create an instance with noop ethereum implementations
use alloy_network::Ethereum;
use reth_evm_ethereum::EthEvmConfig;
use reth_network_api::noop::NoopNetwork;
use reth_provider::noop::NoopProvider;
use reth_rpc::EthApi;
use reth_transaction_pool::noop::NoopTransactionPool;
let eth_api = EthApi::builder(
NoopProvider::default(),
NoopTransactionPool::default(),
NoopNetwork::default(),
EthEvmConfig::mainnet(),
)
.build();Trait Implementations§
Source§impl<N, Rpc> Call for EthApi<N, Rpc>where
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError, Evm = <N as RpcNodeCore>::Evm>,
N: RpcNodeCore,
impl<N, Rpc> Call for EthApi<N, Rpc>where
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError, Evm = <N as RpcNodeCore>::Evm>,
N: RpcNodeCore,
Source§fn call_gas_limit(&self) -> u64
fn call_gas_limit(&self) -> u64
eth_call and tracing RPC methods. Read moreSource§fn max_simulate_blocks(&self) -> u64
fn max_simulate_blocks(&self) -> u64
eth_simulateV1.Source§fn compute_state_root_for_eth_simulate(&self) -> bool
fn compute_state_root_for_eth_simulate(&self) -> bool
eth_simulateV1 should compute state roots.Source§fn evm_memory_limit(&self) -> u64
fn evm_memory_limit(&self) -> u64
Source§fn simulate_call_nonce(
&self,
_request: &<<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest,
_db: &mut dyn DynDatabase,
) -> Result<Option<u64>, EthApiError>
fn simulate_call_nonce( &self, _request: &<<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest, _db: &mut dyn DynDatabase, ) -> Result<Option<u64>, EthApiError>
eth_simulateV1 call that has none. Read moreSource§fn caller_gas_allowance(
&self,
db: impl Database>,
_evm_env: &<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv,
tx_env: &Recovered<<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes as EvmTypesHost>::Tx>,
) -> Result<u64, Self::Error>where
<impl Database as Database>::Error: Into<EthApiError>,
fn caller_gas_allowance(
&self,
db: impl Database>,
_evm_env: &<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv,
tx_env: &Recovered<<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes as EvmTypesHost>::Tx>,
) -> Result<u64, Self::Error>where
<impl Database as Database>::Error: Into<EthApiError>,
Source§fn transact<DB>(
&self,
db: DB,
evm_env: <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv,
tx_env: Recovered<<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes as EvmTypesHost>::Tx>,
) -> Result<TxResultWithState<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>, Self::Error>where
DB: Database + Debug,
fn transact<DB>(
&self,
db: DB,
evm_env: <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv,
tx_env: Recovered<<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes as EvmTypesHost>::Tx>,
) -> Result<TxResultWithState<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>, Self::Error>where
DB: Database + Debug,
TxEnv against the given [Database] without committing state
changes.Source§fn transact_with_inspector<DB, I>(
&self,
db: DB,
evm_env: <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv,
tx_env: Recovered<<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes as EvmTypesHost>::Tx>,
inspector: I,
) -> Result<(I, TxResultWithState<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>), Self::Error>where
DB: Database + Debug,
I: Inspector<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes> + 'static,
fn transact_with_inspector<DB, I>(
&self,
db: DB,
evm_env: <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv,
tx_env: Recovered<<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes as EvmTypesHost>::Tx>,
inspector: I,
) -> Result<(I, TxResultWithState<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>), Self::Error>where
DB: Database + Debug,
I: Inspector<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes> + 'static,
reth_evm::EvmEnv against the given [Database] without committing state
changes.Source§fn transact_call_at(
&self,
request: <<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest,
at: BlockId,
overrides: EvmOverrides,
) -> impl Future<Output = Result<TxResultWithState<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>, Self::Error>> + Sendwhere
Self: LoadPendingBlock,
fn transact_call_at(
&self,
request: <<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest,
at: BlockId,
overrides: EvmOverrides,
) -> impl Future<Output = Result<TxResultWithState<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>, Self::Error>> + Sendwhere
Self: LoadPendingBlock,
Source§fn spawn_with_state_at_block<F, R>(
&self,
at: impl Into<BlockId>,
f: F,
) -> impl Future<Output = Result<R, Self::Error>> + Sendwhere
F: FnOnce(Self, CacheDB<Db<StateProviderDatabase<EvmStateProviderAdapter<Box<dyn StateProvider + Send>>>>>) -> Result<R, Self::Error> + Send + 'static,
R: Send + 'static,
fn spawn_with_state_at_block<F, R>(
&self,
at: impl Into<BlockId>,
f: F,
) -> impl Future<Output = Result<R, Self::Error>> + Sendwhere
F: FnOnce(Self, CacheDB<Db<StateProviderDatabase<EvmStateProviderAdapter<Box<dyn StateProvider + Send>>>>>) -> Result<R, Self::Error> + Send + 'static,
R: Send + 'static,
BlockId on a new taskSource§fn spawn_with_call_at<F, R>(
&self,
request: <<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest,
at: BlockId,
overrides: EvmOverrides,
f: F,
) -> impl Future<Output = Result<R, Self::Error>> + Sendwhere
Self: LoadPendingBlock,
F: FnOnce(&mut CacheDB<Db<StateProviderDatabase<EvmStateProviderAdapter<Box<dyn StateProvider + Send>>>>>, <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv, Recovered<<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes as EvmTypesHost>::Tx>) -> Result<R, Self::Error> + Send + 'static,
R: Send + 'static,
fn spawn_with_call_at<F, R>(
&self,
request: <<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest,
at: BlockId,
overrides: EvmOverrides,
f: F,
) -> impl Future<Output = Result<R, Self::Error>> + Sendwhere
Self: LoadPendingBlock,
F: FnOnce(&mut CacheDB<Db<StateProviderDatabase<EvmStateProviderAdapter<Box<dyn StateProvider + Send>>>>>, <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv, Recovered<<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes as EvmTypesHost>::Tx>) -> Result<R, Self::Error> + Send + 'static,
R: Send + 'static,
Source§fn spawn_replay_transaction<F, R>(
&self,
hash: FixedBytes<32>,
f: F,
) -> impl Future<Output = Result<Option<R>, Self::Error>> + Sendwhere
Self: LoadBlock + LoadTransaction,
F: FnOnce(TransactionInfo, TxResultWithState<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>, CacheDB<Db<StateProviderDatabase<EvmStateProviderAdapter<Box<dyn StateProvider + Send>>>>>) -> Result<R, Self::Error> + Send + 'static,
R: Send + 'static,
fn spawn_replay_transaction<F, R>(
&self,
hash: FixedBytes<32>,
f: F,
) -> impl Future<Output = Result<Option<R>, Self::Error>> + Sendwhere
Self: LoadBlock + LoadTransaction,
F: FnOnce(TransactionInfo, TxResultWithState<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>, CacheDB<Db<StateProviderDatabase<EvmStateProviderAdapter<Box<dyn StateProvider + Send>>>>>) -> Result<R, Self::Error> + Send + 'static,
R: Send + 'static,
Source§fn replay_transactions_until_with_executor<'a, Txs>(
&self,
executor: &mut <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::Executor<'_>,
transactions: Txs,
target_tx_index: usize,
) -> Result<(), Self::Error>where
Txs: IntoIterator<Item = Recovered<&'a <Self::Provider as TransactionsProvider>::Transaction>>,
fn replay_transactions_until_with_executor<'a, Txs>(
&self,
executor: &mut <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::Executor<'_>,
transactions: Txs,
target_tx_index: usize,
) -> Result<(), Self::Error>where
Txs: IntoIterator<Item = Recovered<&'a <Self::Provider as TransactionsProvider>::Transaction>>,
Source§fn block_executor<'a>(
&'a self,
block: &'a RecoveredBlock<<Self::Primitives as NodePrimitives>::Block>,
db: &'a mut CacheDB<Db<StateProviderDatabase<EvmStateProviderAdapter<Box<dyn StateProvider + Send>>>>>,
evm_env: <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv,
) -> Result<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::Executor<'a>, Self::Error>
fn block_executor<'a>( &'a self, block: &'a RecoveredBlock<<Self::Primitives as NodePrimitives>::Block>, db: &'a mut CacheDB<Db<StateProviderDatabase<EvmStateProviderAdapter<Box<dyn StateProvider + Send>>>>>, evm_env: <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv, ) -> Result<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::Executor<'a>, Self::Error>
Source§fn create_txn_env(
&self,
evm_env: &<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv,
request: <<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest,
db: impl Database>,
) -> Result<Recovered<<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes as EvmTypesHost>::Tx>, Self::Error>where
<impl Database as Database>::Error: Into<EthApiError>,
fn create_txn_env(
&self,
evm_env: &<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv,
request: <<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest,
db: impl Database>,
) -> Result<Recovered<<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes as EvmTypesHost>::Tx>, Self::Error>where
<impl Database as Database>::Error: Into<EthApiError>,
TxEnv fields are derived from the given RpcTxReq, if fields are
None, they fall back to the reth_evm::EvmEnv’s settings.Source§fn prepare_call_env<DB>(
&self,
evm_env: <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv,
request: <<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest,
db: &mut CacheDB<DB>,
overrides: EvmOverrides,
) -> Result<(<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv, Recovered<<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes as EvmTypesHost>::Tx>), Self::Error>where
DB: DynDatabase,
fn prepare_call_env<DB>(
&self,
evm_env: <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv,
request: <<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest,
db: &mut CacheDB<DB>,
overrides: EvmOverrides,
) -> Result<(<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv, Recovered<<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes as EvmTypesHost>::Tx>), Self::Error>where
DB: DynDatabase,
reth_evm::EvmEnv for execution of calls. Read moreSource§impl<N, Rpc> Clone for EthApi<N, Rpc>where
N: RpcNodeCore,
Rpc: RpcConvert,
impl<N, Rpc> Clone for EthApi<N, Rpc>where
N: RpcNodeCore,
Rpc: RpcConvert,
Source§impl<N, Rpc> Debug for EthApi<N, Rpc>where
N: RpcNodeCore,
Rpc: RpcConvert,
impl<N, Rpc> Debug for EthApi<N, Rpc>where
N: RpcNodeCore,
Rpc: RpcConvert,
Source§impl<N, Rpc> Deref for EthApi<N, Rpc>where
N: RpcNodeCore,
Rpc: RpcConvert,
impl<N, Rpc> Deref for EthApi<N, Rpc>where
N: RpcNodeCore,
Rpc: RpcConvert,
Source§impl<N, Rpc> EstimateCall for EthApi<N, Rpc>where
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError, Evm = <N as RpcNodeCore>::Evm>,
N: RpcNodeCore,
impl<N, Rpc> EstimateCall for EthApi<N, Rpc>where
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError, Evm = <N as RpcNodeCore>::Evm>,
N: RpcNodeCore,
Source§fn estimate_gas_with<S>(
&self,
evm_env: <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv,
request: <<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest,
state: S,
overrides: EvmOverrides,
) -> Result<Uint<256, 4>, Self::Error>where
S: EvmStateProvider,
fn estimate_gas_with<S>(
&self,
evm_env: <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv,
request: <<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest,
state: S,
overrides: EvmOverrides,
) -> Result<Uint<256, 4>, Self::Error>where
S: EvmStateProvider,
request with the state. Read moreSource§fn estimate_gas_at(
&self,
request: <<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest,
at: BlockId,
overrides: EvmOverrides,
) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Sendwhere
Self: LoadPendingBlock,
fn estimate_gas_at(
&self,
request: <<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest,
at: BlockId,
overrides: EvmOverrides,
) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Sendwhere
Self: LoadPendingBlock,
request at the BlockId.Source§impl<N, Rpc> EthApiSpec for EthApi<N, Rpc>where
N: RpcNodeCore,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
impl<N, Rpc> EthApiSpec for EthApi<N, Rpc>where
N: RpcNodeCore,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
Source§fn starting_block(&self) -> Uint<256, 4>
fn starting_block(&self) -> Uint<256, 4>
Source§fn protocol_version(
&self,
) -> impl Future<Output = Result<Uint<64, 1>, RethError>> + Send
fn protocol_version( &self, ) -> impl Future<Output = Result<Uint<64, 1>, RethError>> + Send
Source§fn capabilities(&self) -> Result<EthCapabilities, RethError>where
Self: EthState,
fn capabilities(&self) -> Result<EthCapabilities, RethError>where
Self: EthState,
Source§fn is_syncing(&self) -> bool
fn is_syncing(&self) -> bool
true if the network is undergoing sync.Source§fn sync_status(&self) -> Result<SyncStatus, RethError>
fn sync_status(&self) -> Result<SyncStatus, RethError>
SyncStatus of the networkSource§impl<N, Rpc> EthApiTypes for EthApi<N, Rpc>
impl<N, Rpc> EthApiTypes for EthApi<N, Rpc>
Source§type Error = EthApiError
type Error = EthApiError
FromEthApiError, with network specific errors.Source§type NetworkTypes = <Rpc as RpcConvert>::Network
type NetworkTypes = <Rpc as RpcConvert>::Network
Source§type RpcConvert = Rpc
type RpcConvert = Rpc
Source§fn eth_api_settings(&self) -> &EthApiSettings
fn eth_api_settings(&self) -> &EthApiSettings
eth RPC helpers.Source§fn converter(&self) -> &<EthApi<N, Rpc> as EthApiTypes>::RpcConvert
fn converter(&self) -> &<EthApi<N, Rpc> as EthApiTypes>::RpcConvert
Source§impl<N, Rpc> EthBlocks for EthApi<N, Rpc>where
N: RpcNodeCore,
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
impl<N, Rpc> EthBlocks for EthApi<N, Rpc>where
N: RpcNodeCore,
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
Source§fn rpc_block_header(
&self,
block_id: BlockId,
) -> impl Future<Output = Result<Option<<Self::NetworkTypes as RpcTypes>::Header>, Self::Error>> + Sendwhere
Self: FullEthApiTypes,
fn rpc_block_header(
&self,
block_id: BlockId,
) -> impl Future<Output = Result<Option<<Self::NetworkTypes as RpcTypes>::Header>, Self::Error>> + Sendwhere
Self: FullEthApiTypes,
Source§fn rpc_block(
&self,
block_id: BlockId,
full: bool,
) -> impl Future<Output = Result<Option<Block<<Self::NetworkTypes as RpcTypes>::TransactionResponse, <Self::NetworkTypes as RpcTypes>::Header>>, Self::Error>> + Sendwhere
Self: FullEthApiTypes,
fn rpc_block(
&self,
block_id: BlockId,
full: bool,
) -> impl Future<Output = Result<Option<Block<<Self::NetworkTypes as RpcTypes>::TransactionResponse, <Self::NetworkTypes as RpcTypes>::Header>>, Self::Error>> + Sendwhere
Self: FullEthApiTypes,
Source§fn block_transaction_count(
&self,
block_id: BlockId,
) -> impl Future<Output = Result<Option<usize>, Self::Error>> + Send
fn block_transaction_count( &self, block_id: BlockId, ) -> impl Future<Output = Result<Option<usize>, Self::Error>> + Send
Source§fn block_receipts(
&self,
block_id: BlockId,
) -> impl Future<Output = Result<Option<Vec<<Self::NetworkTypes as RpcTypes>::Receipt>>, Self::Error>> + Sendwhere
Self: LoadReceipt,
fn block_receipts(
&self,
block_id: BlockId,
) -> impl Future<Output = Result<Option<Vec<<Self::NetworkTypes as RpcTypes>::Receipt>>, Self::Error>> + Sendwhere
Self: LoadReceipt,
eth_getBlockReceipts. Read moreSource§fn load_block_and_receipts(
&self,
block_id: BlockId,
) -> impl Future<Output = Result<Option<(Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>, SharedReceipts<<Self::Provider as ReceiptProvider>::Receipt>)>, Self::Error>> + Sendwhere
Self: LoadReceipt,
Self::Pool: TransactionPool,
<Self::Pool as TransactionPool>::Transaction: PoolTransaction<Consensus = <Self::Provider as TransactionsProvider>::Transaction>,
fn load_block_and_receipts(
&self,
block_id: BlockId,
) -> impl Future<Output = Result<Option<(Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>, SharedReceipts<<Self::Provider as ReceiptProvider>::Receipt>)>, Self::Error>> + Sendwhere
Self: LoadReceipt,
Self::Pool: TransactionPool,
<Self::Pool as TransactionPool>::Transaction: PoolTransaction<Consensus = <Self::Provider as TransactionsProvider>::Transaction>,
Source§fn ommers(
&self,
block_id: BlockId,
) -> impl Future<Output = Result<Option<Vec<<Self::Provider as HeaderProvider>::Header>>, Self::Error>> + Send
fn ommers( &self, block_id: BlockId, ) -> impl Future<Output = Result<Option<Vec<<Self::Provider as HeaderProvider>::Header>>, Self::Error>> + Send
Source§fn ommer_by_block_and_index(
&self,
block_id: BlockId,
index: Index,
) -> impl Future<Output = Result<Option<Block<<Self::NetworkTypes as RpcTypes>::TransactionResponse, <Self::NetworkTypes as RpcTypes>::Header>>, Self::Error>> + Send
fn ommer_by_block_and_index( &self, block_id: BlockId, index: Index, ) -> impl Future<Output = Result<Option<Block<<Self::NetworkTypes as RpcTypes>::TransactionResponse, <Self::NetworkTypes as RpcTypes>::Header>>, Self::Error>> + Send
Source§impl<N, Rpc> EthCall for EthApi<N, Rpc>where
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError, Evm = <N as RpcNodeCore>::Evm>,
N: RpcNodeCore,
impl<N, Rpc> EthCall for EthApi<N, Rpc>where
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError, Evm = <N as RpcNodeCore>::Evm>,
N: RpcNodeCore,
Source§fn estimate_gas_at(
&self,
request: <<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest,
at: BlockId,
overrides: EvmOverrides,
) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Send
fn estimate_gas_at( &self, request: <<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest, at: BlockId, overrides: EvmOverrides, ) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Send
request at the BlockId.Source§fn simulate_v1(
&self,
payload: SimulatePayload<<<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest>,
block: Option<BlockId>,
) -> impl Future<Output = Result<Vec<SimulatedBlock<Block<<Self::NetworkTypes as RpcTypes>::TransactionResponse, <Self::NetworkTypes as RpcTypes>::Header>>>, Self::Error>> + Send
fn simulate_v1( &self, payload: SimulatePayload<<<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest>, block: Option<BlockId>, ) -> impl Future<Output = Result<Vec<SimulatedBlock<Block<<Self::NetworkTypes as RpcTypes>::TransactionResponse, <Self::NetworkTypes as RpcTypes>::Header>>>, Self::Error>> + Send
eth_simulateV1 executes an arbitrary number of transactions on top of the requested state.
The transactions are packed into individual blocks. Overrides can be provided. Read moreSource§fn call(
&self,
request: <<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest,
block_number: Option<BlockId>,
overrides: EvmOverrides,
) -> impl Future<Output = Result<Bytes, Self::Error>> + Send
fn call( &self, request: <<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest, block_number: Option<BlockId>, overrides: EvmOverrides, ) -> impl Future<Output = Result<Bytes, Self::Error>> + Send
eth_call) and returns the outputSource§fn call_many(
&self,
bundles: Vec<Bundle<<<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest>>,
state_context: Option<StateContext>,
state_override: Option<HashMap<Address, AccountOverride, FbBuildHasher<20>>>,
) -> impl Future<Output = Result<Vec<Vec<EthCallResponse>>, Self::Error>> + Sendwhere
Self: Trace,
fn call_many(
&self,
bundles: Vec<Bundle<<<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest>>,
state_context: Option<StateContext>,
state_override: Option<HashMap<Address, AccountOverride, FbBuildHasher<20>>>,
) -> impl Future<Output = Result<Vec<Vec<EthCallResponse>>, Self::Error>> + Sendwhere
Self: Trace,
Source§fn create_access_list_at(
&self,
request: <<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest,
block_number: Option<BlockId>,
state_override: Option<HashMap<Address, AccountOverride, FbBuildHasher<20>>>,
) -> impl Future<Output = Result<AccessListResult, Self::Error>> + Sendwhere
Self: Trace,
fn create_access_list_at(
&self,
request: <<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest,
block_number: Option<BlockId>,
state_override: Option<HashMap<Address, AccountOverride, FbBuildHasher<20>>>,
) -> impl Future<Output = Result<AccessListResult, Self::Error>> + Sendwhere
Self: Trace,
Source§fn create_access_list_with(
&self,
evm_env: <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv,
at: BlockId,
request: <<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest,
state_override: Option<HashMap<Address, AccountOverride, FbBuildHasher<20>>>,
) -> impl Future<Output = Result<AccessListResult, Self::Error>> + Sendwhere
Self: Trace,
fn create_access_list_with(
&self,
evm_env: <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv,
at: BlockId,
request: <<Self::RpcConvert as RpcConvert>::Network as RpcTypes>::TransactionRequest,
state_override: Option<HashMap<Address, AccountOverride, FbBuildHasher<20>>>,
) -> impl Future<Output = Result<AccessListResult, Self::Error>> + Sendwhere
Self: Trace,
Source§impl<N, Rpc> EthFees for EthApi<N, Rpc>where
N: RpcNodeCore,
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
impl<N, Rpc> EthFees for EthApi<N, Rpc>where
N: RpcNodeCore,
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
Source§fn gas_price(
&self,
) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Sendwhere
Self: LoadBlock,
fn gas_price(
&self,
) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Sendwhere
Self: LoadBlock,
Source§fn blob_base_fee(
&self,
) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Sendwhere
Self: LoadBlock,
fn blob_base_fee(
&self,
) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Sendwhere
Self: LoadBlock,
Source§fn base_fee(
&self,
) -> impl Future<Output = Result<Option<Uint<256, 4>>, Self::Error>> + Sendwhere
Self: LoadBlock,
fn base_fee(
&self,
) -> impl Future<Output = Result<Option<Uint<256, 4>>, Self::Error>> + Sendwhere
Self: LoadBlock,
None before London activation.Source§fn suggested_priority_fee(
&self,
) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Sendwhere
Self: 'static,
fn suggested_priority_fee(
&self,
) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Sendwhere
Self: 'static,
Source§fn fee_history(
&self,
block_count: u64,
newest_block: BlockNumberOrTag,
reward_percentiles: Option<Vec<f64>>,
) -> impl Future<Output = Result<FeeHistory, Self::Error>> + Send
fn fee_history( &self, block_count: u64, newest_block: BlockNumberOrTag, reward_percentiles: Option<Vec<f64>>, ) -> impl Future<Output = Result<FeeHistory, Self::Error>> + Send
Source§fn approximate_percentile(
&self,
entry: &FeeHistoryEntry<<Self::Provider as HeaderProvider>::Header>,
requested_percentile: f64,
) -> u128
fn approximate_percentile( &self, entry: &FeeHistoryEntry<<Self::Provider as HeaderProvider>::Header>, requested_percentile: f64, ) -> u128
Source§impl<N, Rpc> EthState for EthApi<N, Rpc>where
N: RpcNodeCore,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
EthApi<N, Rpc>: LoadPendingBlock,
impl<N, Rpc> EthState for EthApi<N, Rpc>where
N: RpcNodeCore,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
EthApi<N, Rpc>: LoadPendingBlock,
Source§fn max_proof_window(&self) -> u64
fn max_proof_window(&self) -> u64
Source§fn ensure_within_proof_window(
&self,
block_id: BlockId,
) -> Result<(), Self::Error>where
Self: EthApiSpec,
fn ensure_within_proof_window(
&self,
block_id: BlockId,
) -> Result<(), Self::Error>where
Self: EthApiSpec,
Source§fn transaction_count(
&self,
address: Address,
block_id: Option<BlockId>,
) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Send
fn transaction_count( &self, address: Address, block_id: Option<BlockId>, ) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Send
Source§fn get_code(
&self,
address: Address,
block_id: Option<BlockId>,
) -> impl Future<Output = Result<Bytes, Self::Error>> + Send
fn get_code( &self, address: Address, block_id: Option<BlockId>, ) -> impl Future<Output = Result<Bytes, Self::Error>> + Send
Source§fn balance(
&self,
address: Address,
block_id: Option<BlockId>,
) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Send
fn balance( &self, address: Address, block_id: Option<BlockId>, ) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Send
Source§fn storage_at(
&self,
address: Address,
index: JsonStorageKey,
block_id: Option<BlockId>,
) -> impl Future<Output = Result<FixedBytes<32>, Self::Error>> + Send
fn storage_at( &self, address: Address, index: JsonStorageKey, block_id: Option<BlockId>, ) -> impl Future<Output = Result<FixedBytes<32>, Self::Error>> + Send
Source§fn storage_values(
&self,
requests: HashMap<Address, Vec<JsonStorageKey>>,
block_id: Option<BlockId>,
) -> impl Future<Output = Result<HashMap<Address, Vec<FixedBytes<32>>>, Self::Error>> + Send
fn storage_values( &self, requests: HashMap<Address, Vec<JsonStorageKey>>, block_id: Option<BlockId>, ) -> impl Future<Output = Result<HashMap<Address, Vec<FixedBytes<32>>>, Self::Error>> + Send
Source§fn get_proof(
&self,
address: Address,
keys: Vec<JsonStorageKey>,
block_id: Option<BlockId>,
) -> Result<impl Future<Output = Result<EIP1186AccountProofResponse, Self::Error>> + Send, Self::Error>where
Self: EthApiSpec,
fn get_proof(
&self,
address: Address,
keys: Vec<JsonStorageKey>,
block_id: Option<BlockId>,
) -> Result<impl Future<Output = Result<EIP1186AccountProofResponse, Self::Error>> + Send, Self::Error>where
Self: EthApiSpec,
Source§fn get_multi_proof(
&self,
targets: Vec<(Address, Vec<FixedBytes<32>>)>,
block_id: Option<BlockId>,
) -> Result<impl Future<Output = Result<Vec<EIP1186AccountProofResponse>, Self::Error>> + Send, Self::Error>where
Self: EthApiSpec,
fn get_multi_proof(
&self,
targets: Vec<(Address, Vec<FixedBytes<32>>)>,
block_id: Option<BlockId>,
) -> Result<impl Future<Output = Result<Vec<EIP1186AccountProofResponse>, Self::Error>> + Send, Self::Error>where
Self: EthApiSpec,
Source§fn get_account(
&self,
address: Address,
block_id: BlockId,
) -> impl Future<Output = Result<Option<TrieAccount>, Self::Error>> + Sendwhere
Self: EthApiSpec,
fn get_account(
&self,
address: Address,
block_id: BlockId,
) -> impl Future<Output = Result<Option<TrieAccount>, Self::Error>> + Sendwhere
Self: EthApiSpec,
Source§fn get_account_info(
&self,
address: Address,
block_id: BlockId,
) -> impl Future<Output = Result<AccountInfo, Self::Error>> + Send
fn get_account_info( &self, address: Address, block_id: BlockId, ) -> impl Future<Output = Result<AccountInfo, Self::Error>> + Send
Source§impl<N, Rpc> EthSubscriptions for EthApi<N, Rpc>where
N: RpcNodeCore,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
impl<N, Rpc> EthSubscriptions for EthApi<N, Rpc>where
N: RpcNodeCore,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
Source§fn log_stream(
&self,
filter: Filter,
) -> impl Stream<Item = <Self::NetworkTypes as RpcTypes>::Log> + Send + Unpin
fn log_stream( &self, filter: Filter, ) -> impl Stream<Item = <Self::NetworkTypes as RpcTypes>::Log> + Send + Unpin
Source§fn header_stream(
&self,
) -> impl Stream<Item = <Self::NetworkTypes as RpcTypes>::Header> + Send + Unpin
fn header_stream( &self, ) -> impl Stream<Item = <Self::NetworkTypes as RpcTypes>::Header> + Send + Unpin
Source§fn transaction_receipts_stream(
&self,
filter: TransactionReceiptsParams,
) -> impl Stream<Item = Vec<<Self::NetworkTypes as RpcTypes>::Receipt>> + Send + Unpin
fn transaction_receipts_stream( &self, filter: TransactionReceiptsParams, ) -> impl Stream<Item = Vec<<Self::NetworkTypes as RpcTypes>::Receipt>> + Send + Unpin
Source§impl<N, Rpc> EthTransactions for EthApi<N, Rpc>where
N: RpcNodeCore,
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
impl<N, Rpc> EthTransactions for EthApi<N, Rpc>where
N: RpcNodeCore,
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
Source§fn signers(
&self,
) -> &RwLock<RawRwLock, Vec<Box<dyn EthSigner<<<EthApi<N, Rpc> as RpcNodeCore>::Provider as TransactionsProvider>::Transaction, <<EthApi<N, Rpc> as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest>>>>
fn signers( &self, ) -> &RwLock<RawRwLock, Vec<Box<dyn EthSigner<<<EthApi<N, Rpc> as RpcNodeCore>::Provider as TransactionsProvider>::Transaction, <<EthApi<N, Rpc> as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest>>>>
Source§async fn send_pool_transaction(
&self,
origin: TransactionOrigin,
tx: WithEncoded<<<EthApi<N, Rpc> as RpcNodeCore>::Pool as TransactionPool>::Transaction>,
) -> Result<FixedBytes<32>, <EthApi<N, Rpc> as EthApiTypes>::Error>
async fn send_pool_transaction( &self, origin: TransactionOrigin, tx: WithEncoded<<<EthApi<N, Rpc> as RpcNodeCore>::Pool as TransactionPool>::Transaction>, ) -> Result<FixedBytes<32>, <EthApi<N, Rpc> as EthApiTypes>::Error>
TransactionOrigin.Source§fn send_raw_transaction_sync_timeout(&self) -> Duration
fn send_raw_transaction_sync_timeout(&self) -> Duration
send_raw_transaction_sync RPC method.Source§fn send_raw_transaction(
&self,
tx: Bytes,
) -> impl Future<Output = Result<FixedBytes<32>, Self::Error>> + Send
fn send_raw_transaction( &self, tx: Bytes, ) -> impl Future<Output = Result<FixedBytes<32>, Self::Error>> + Send
Source§fn recover_raw_pool_transaction(
&self,
tx: &[u8],
) -> Result<<Self::Pool as TransactionPool>::Transaction, Self::Error>
fn recover_raw_pool_transaction( &self, tx: &[u8], ) -> Result<<Self::Pool as TransactionPool>::Transaction, Self::Error>
Source§fn send_transaction(
&self,
origin: TransactionOrigin,
tx: WithEncoded<Recovered<<<Self::Pool as TransactionPool>::Transaction as PoolTransaction>::Pooled>>,
) -> impl Future<Output = Result<FixedBytes<32>, Self::Error>> + Send
fn send_transaction( &self, origin: TransactionOrigin, tx: WithEncoded<Recovered<<<Self::Pool as TransactionPool>::Transaction as PoolTransaction>::Pooled>>, ) -> impl Future<Output = Result<FixedBytes<32>, Self::Error>> + Send
TransactionOrigin.Source§fn send_raw_transaction_sync(
&self,
tx: Bytes,
timeout_ms: Option<u64>,
) -> impl Future<Output = Result<<Self::NetworkTypes as RpcTypes>::Receipt, Self::Error>> + Sendwhere
Self: LoadReceipt,
fn send_raw_transaction_sync(
&self,
tx: Bytes,
timeout_ms: Option<u64>,
) -> impl Future<Output = Result<<Self::NetworkTypes as RpcTypes>::Receipt, Self::Error>> + Sendwhere
Self: LoadReceipt,
Source§fn transaction_by_hash(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<TransactionSource<<Self::Provider as TransactionsProvider>::Transaction>>, Self::Error>> + Send
fn transaction_by_hash( &self, hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<TransactionSource<<Self::Provider as TransactionsProvider>::Transaction>>, Self::Error>> + Send
Source§fn pending_transactions(
&self,
) -> Result<Vec<<Self::NetworkTypes as RpcTypes>::TransactionResponse>, Self::Error>
fn pending_transactions( &self, ) -> Result<Vec<<Self::NetworkTypes as RpcTypes>::TransactionResponse>, Self::Error>
Source§fn transactions_by_block(
&self,
block: FixedBytes<32>,
) -> impl Future<Output = Result<Option<Vec<<Self::Provider as TransactionsProvider>::Transaction>>, Self::Error>> + Send
fn transactions_by_block( &self, block: FixedBytes<32>, ) -> impl Future<Output = Result<Option<Vec<<Self::Provider as TransactionsProvider>::Transaction>>, Self::Error>> + Send
Source§fn raw_transaction_by_hash(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<Bytes>, Self::Error>> + Send
fn raw_transaction_by_hash( &self, hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<Bytes>, Self::Error>> + Send
Source§fn historical_transaction_by_hash_at(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<(TransactionSource<<Self::Provider as TransactionsProvider>::Transaction>, FixedBytes<32>)>, Self::Error>> + Send
fn historical_transaction_by_hash_at( &self, hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<(TransactionSource<<Self::Provider as TransactionsProvider>::Transaction>, FixedBytes<32>)>, Self::Error>> + Send
Source§fn transaction_receipt(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<<Self::NetworkTypes as RpcTypes>::Receipt>, Self::Error>> + Sendwhere
Self: LoadReceipt,
fn transaction_receipt(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<<Self::NetworkTypes as RpcTypes>::Receipt>, Self::Error>> + Sendwhere
Self: LoadReceipt,
Source§fn load_transaction_and_receipt(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<(Recovered<<Self::Provider as TransactionsProvider>::Transaction>, TransactionMeta, <Self::Provider as ReceiptProvider>::Receipt, Option<Arc<Vec<<Self::Provider as ReceiptProvider>::Receipt>>>, Option<Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>>)>, Self::Error>> + Sendwhere
Self: 'static,
fn load_transaction_and_receipt(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<(Recovered<<Self::Provider as TransactionsProvider>::Transaction>, TransactionMeta, <Self::Provider as ReceiptProvider>::Receipt, Option<Arc<Vec<<Self::Provider as ReceiptProvider>::Receipt>>>, Option<Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>>)>, Self::Error>> + Sendwhere
Self: 'static,
Source§fn transaction_by_block_and_tx_index(
&self,
block_id: BlockId,
index: usize,
) -> impl Future<Output = Result<Option<<Self::NetworkTypes as RpcTypes>::TransactionResponse>, Self::Error>> + Sendwhere
Self: LoadBlock,
fn transaction_by_block_and_tx_index(
&self,
block_id: BlockId,
index: usize,
) -> impl Future<Output = Result<Option<<Self::NetworkTypes as RpcTypes>::TransactionResponse>, Self::Error>> + Sendwhere
Self: LoadBlock,
Source§fn get_transaction_by_sender_and_nonce(
&self,
sender: Address,
nonce: u64,
include_pending: bool,
) -> impl Future<Output = Result<Option<<Self::NetworkTypes as RpcTypes>::TransactionResponse>, Self::Error>> + Send
fn get_transaction_by_sender_and_nonce( &self, sender: Address, nonce: u64, include_pending: bool, ) -> impl Future<Output = Result<Option<<Self::NetworkTypes as RpcTypes>::TransactionResponse>, Self::Error>> + Send
Source§fn raw_transaction_by_block_and_tx_index(
&self,
block_id: BlockId,
index: usize,
) -> impl Future<Output = Result<Option<Bytes>, Self::Error>> + Sendwhere
Self: LoadBlock,
fn raw_transaction_by_block_and_tx_index(
&self,
block_id: BlockId,
index: usize,
) -> impl Future<Output = Result<Option<Bytes>, Self::Error>> + Sendwhere
Self: LoadBlock,
Source§fn send_transaction_request(
&self,
request: <Self::NetworkTypes as RpcTypes>::TransactionRequest,
) -> impl Future<Output = Result<FixedBytes<32>, Self::Error>> + Send
fn send_transaction_request( &self, request: <Self::NetworkTypes as RpcTypes>::TransactionRequest, ) -> impl Future<Output = Result<FixedBytes<32>, Self::Error>> + Send
Source§fn fill_transaction(
&self,
request: <Self::NetworkTypes as RpcTypes>::TransactionRequest,
) -> impl Future<Output = Result<FillTransaction<<Self::Primitives as NodePrimitives>::SignedTx>, Self::Error>> + Send
fn fill_transaction( &self, request: <Self::NetworkTypes as RpcTypes>::TransactionRequest, ) -> impl Future<Output = Result<FillTransaction<<Self::Primitives as NodePrimitives>::SignedTx>, Self::Error>> + Send
Source§fn sign_request(
&self,
from: &Address,
txn: <Self::NetworkTypes as RpcTypes>::TransactionRequest,
) -> impl Future<Output = Result<<Self::Provider as TransactionsProvider>::Transaction, Self::Error>> + Send
fn sign_request( &self, from: &Address, txn: <Self::NetworkTypes as RpcTypes>::TransactionRequest, ) -> impl Future<Output = Result<<Self::Provider as TransactionsProvider>::Transaction, Self::Error>> + Send
Source§fn sign(
&self,
account: Address,
message: Bytes,
) -> impl Future<Output = Result<Bytes, Self::Error>> + Send
fn sign( &self, account: Address, message: Bytes, ) -> impl Future<Output = Result<Bytes, Self::Error>> + Send
Source§fn sign_transaction(
&self,
request: <Self::NetworkTypes as RpcTypes>::TransactionRequest,
) -> impl Future<Output = Result<Bytes, Self::Error>> + Send
fn sign_transaction( &self, request: <Self::NetworkTypes as RpcTypes>::TransactionRequest, ) -> impl Future<Output = Result<Bytes, Self::Error>> + Send
Source§fn sign_typed_data(
&self,
data: &TypedData,
account: Address,
) -> Result<Bytes, Self::Error>
fn sign_typed_data( &self, data: &TypedData, account: Address, ) -> Result<Bytes, Self::Error>
Source§fn find_signer(
&self,
account: &Address,
) -> Result<Box<dyn EthSigner<<Self::Provider as TransactionsProvider>::Transaction, <Self::NetworkTypes as RpcTypes>::TransactionRequest>>, Self::Error>
fn find_signer( &self, account: &Address, ) -> Result<Box<dyn EthSigner<<Self::Provider as TransactionsProvider>::Transaction, <Self::NetworkTypes as RpcTypes>::TransactionRequest>>, Self::Error>
Source§impl<N, Rpc> GetBlockAccessList for EthApi<N, Rpc>where
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError, Evm = <N as RpcNodeCore>::Evm>,
N: RpcNodeCore,
EthApi<N, Rpc>: Trace,
impl<N, Rpc> GetBlockAccessList for EthApi<N, Rpc>where
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError, Evm = <N as RpcNodeCore>::Evm>,
N: RpcNodeCore,
EthApi<N, Rpc>: Trace,
Source§impl<N, Rpc> LoadBlock for EthApi<N, Rpc>where
EthApi<N, Rpc>: LoadPendingBlock,
N: RpcNodeCore,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
impl<N, Rpc> LoadBlock for EthApi<N, Rpc>where
EthApi<N, Rpc>: LoadPendingBlock,
N: RpcNodeCore,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
Source§fn recovered_block(
&self,
block_id: BlockId,
) -> impl Future<Output = Result<Option<Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>>, Self::Error>> + Send
fn recovered_block( &self, block_id: BlockId, ) -> impl Future<Output = Result<Option<Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>>, Self::Error>> + Send
Source§fn recovered_block_and_maybe_bal(
&self,
block_id: BlockId,
) -> impl Future<Output = Result<Option<(Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>, Option<Arc<DecodedBal<Arc<Bal>>>>)>, Self::Error>> + Send
fn recovered_block_and_maybe_bal( &self, block_id: BlockId, ) -> impl Future<Output = Result<Option<(Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>, Option<Arc<DecodedBal<Arc<Bal>>>>)>, Self::Error>> + Send
Source§impl<N, Rpc> LoadFee for EthApi<N, Rpc>where
N: RpcNodeCore,
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
impl<N, Rpc> LoadFee for EthApi<N, Rpc>where
N: RpcNodeCore,
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
Source§fn gas_oracle(
&self,
) -> &GasPriceOracle<<EthApi<N, Rpc> as RpcNodeCore>::Provider>
fn gas_oracle( &self, ) -> &GasPriceOracle<<EthApi<N, Rpc> as RpcNodeCore>::Provider>
Source§fn fee_history_cache(
&self,
) -> &FeeHistoryCache<<<N as RpcNodeCore>::Provider as HeaderProvider>::Header>
fn fee_history_cache( &self, ) -> &FeeHistoryCache<<<N as RpcNodeCore>::Provider as HeaderProvider>::Header>
Source§fn 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
Source§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 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
Source§fn 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
Source§fn 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
Source§fn blob_base_fee(
&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
Source§impl<N, Rpc> LoadPendingBlock for EthApi<N, Rpc>where
N: RpcNodeCore,
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
impl<N, Rpc> LoadPendingBlock for EthApi<N, Rpc>where
N: RpcNodeCore,
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
Source§fn pending_block(
&self,
) -> &Mutex<Option<PendingBlock<<EthApi<N, Rpc> as RpcNodeCore>::Primitives>>>
fn pending_block( &self, ) -> &Mutex<Option<PendingBlock<<EthApi<N, Rpc> as RpcNodeCore>::Primitives>>>
Source§fn pending_env_builder(
&self,
) -> &(dyn PendingEnvBuilder<<EthApi<N, Rpc> as RpcNodeCore>::Evm> + 'static)
fn pending_env_builder( &self, ) -> &(dyn PendingEnvBuilder<<EthApi<N, Rpc> as RpcNodeCore>::Evm> + 'static)
PendingEnvBuilder for the pending block.Source§fn pending_block_kind(&self) -> PendingBlockKind
fn pending_block_kind(&self) -> PendingBlockKind
Source§fn pending_block_env_and_cfg(
&self,
) -> Result<PendingBlockEnv<Self::Evm>, Self::Error>
fn pending_block_env_and_cfg( &self, ) -> Result<PendingBlockEnv<Self::Evm>, Self::Error>
Source§fn next_env_attributes(
&self,
parent: &SealedHeader<<Self::Provider as HeaderProvider>::Header>,
) -> Result<<Self::Evm as ConfigureEvm>::NextBlockEnvCtx, Self::Error>
fn next_env_attributes( &self, parent: &SealedHeader<<Self::Provider as HeaderProvider>::Header>, ) -> Result<<Self::Evm as ConfigureEvm>::NextBlockEnvCtx, Self::Error>
ConfigureEvm::NextBlockEnvCtx for building a local pending block.Source§fn local_pending_state(
&self,
) -> impl Future<Output = Result<Option<Box<dyn StateProvider + Send>>, Self::Error>> + Sendwhere
Self: SpawnBlocking,
fn local_pending_state(
&self,
) -> impl Future<Output = Result<Option<Box<dyn StateProvider + Send>>, Self::Error>> + Sendwhere
Self: SpawnBlocking,
StateProviderBox on a mem-pool built pending block overlaying latest. Read moreSource§fn local_pending_block_or_state(
&self,
) -> impl Future<Output = Result<Option<PendingStateSource<Self::Primitives>>, Self::Error>> + Sendwhere
Self: SpawnBlocking,
fn local_pending_block_or_state(
&self,
) -> impl Future<Output = Result<Option<PendingStateSource<Self::Primitives>>, Self::Error>> + Sendwhere
Self: SpawnBlocking,
Source§fn pool_pending_block(
&self,
) -> impl Future<Output = Result<Option<PendingBlock<Self::Primitives>>, Self::Error>> + Sendwhere
Self: SpawnBlocking,
fn pool_pending_block(
&self,
) -> impl Future<Output = Result<Option<PendingBlock<Self::Primitives>>, Self::Error>> + Sendwhere
Self: SpawnBlocking,
Source§fn build_pool_pending_block(
&self,
parent: SealedHeader<<Self::Provider as HeaderProvider>::Header>,
evm_env: <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv,
) -> impl Future<Output = Result<Option<PendingBlock<Self::Primitives>>, Self::Error>> + Sendwhere
Self: SpawnBlocking,
fn build_pool_pending_block(
&self,
parent: SealedHeader<<Self::Provider as HeaderProvider>::Header>,
evm_env: <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv,
) -> impl Future<Output = Result<Option<PendingBlock<Self::Primitives>>, Self::Error>> + Sendwhere
Self: SpawnBlocking,
Source§fn local_pending_block(
&self,
) -> impl Future<Output = Result<Option<BlockAndReceipts<Self::Primitives>>, Self::Error>> + Sendwhere
Self: SpawnBlocking,
Self::Pool: TransactionPool,
<Self::Pool as TransactionPool>::Transaction: PoolTransaction<Consensus = <Self::Provider as TransactionsProvider>::Transaction>,
fn local_pending_block(
&self,
) -> impl Future<Output = Result<Option<BlockAndReceipts<Self::Primitives>>, Self::Error>> + Sendwhere
Self: SpawnBlocking,
Self::Pool: TransactionPool,
<Self::Pool as TransactionPool>::Transaction: PoolTransaction<Consensus = <Self::Provider as TransactionsProvider>::Transaction>,
Source§fn build_block(
&self,
parent: &SealedHeader<<Self::Provider as HeaderProvider>::Header>,
) -> Result<ExecutedBlock<Self::Primitives>, Self::Error>where
Self::Pool: TransactionPool,
<Self::Pool as TransactionPool>::Transaction: PoolTransaction<Consensus = <Self::Provider as TransactionsProvider>::Transaction>,
EthApiError: From<ProviderError>,
fn build_block(
&self,
parent: &SealedHeader<<Self::Provider as HeaderProvider>::Header>,
) -> Result<ExecutedBlock<Self::Primitives>, Self::Error>where
Self::Pool: TransactionPool,
<Self::Pool as TransactionPool>::Transaction: PoolTransaction<Consensus = <Self::Provider as TransactionsProvider>::Transaction>,
EthApiError: From<ProviderError>,
Source§impl<N, Rpc> LoadReceipt for EthApi<N, Rpc>where
N: RpcNodeCore,
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
impl<N, Rpc> LoadReceipt for EthApi<N, Rpc>where
N: RpcNodeCore,
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
Source§fn build_transaction_receipt(
&self,
tx: Recovered<<Self::Provider as TransactionsProvider>::Transaction>,
meta: TransactionMeta,
receipt: <Self::Provider as ReceiptProvider>::Receipt,
all_receipts: Option<Arc<Vec<<Self::Provider as ReceiptProvider>::Receipt>>>,
block: Option<Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>>,
) -> impl Future<Output = Result<<Self::NetworkTypes as RpcTypes>::Receipt, Self::Error>> + Send
fn build_transaction_receipt( &self, tx: Recovered<<Self::Provider as TransactionsProvider>::Transaction>, meta: TransactionMeta, receipt: <Self::Provider as ReceiptProvider>::Receipt, all_receipts: Option<Arc<Vec<<Self::Provider as ReceiptProvider>::Receipt>>>, block: Option<Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>>, ) -> impl Future<Output = Result<<Self::NetworkTypes as RpcTypes>::Receipt, Self::Error>> + Send
Source§impl<N, Rpc> LoadState for EthApi<N, Rpc>where
N: RpcNodeCore,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives>,
EthApi<N, Rpc>: LoadPendingBlock,
impl<N, Rpc> LoadState for EthApi<N, Rpc>where
N: RpcNodeCore,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives>,
EthApi<N, Rpc>: LoadPendingBlock,
Source§fn transaction_count(
&self,
address: Address,
block_id: Option<BlockId>,
) -> impl Future<Output = Result<Uint<256, 4>, <EthApi<N, Rpc> as EthApiTypes>::Error>> + Sendwhere
EthApi<N, Rpc>: SpawnBlocking,
fn transaction_count(
&self,
address: Address,
block_id: Option<BlockId>,
) -> impl Future<Output = Result<Uint<256, 4>, <EthApi<N, Rpc> as EthApiTypes>::Error>> + Sendwhere
EthApi<N, Rpc>: SpawnBlocking,
Reads the nonce from the provider’s state instead of a locally built pending block.
A local pending block only applies pool transactions on top of the latest state, and the pool lookup for the pending tag already accounts for the sender’s transactions, so building the block and its state overlay only to read one nonce is redundant.
Source§fn state_at_hash(
&self,
block_hash: FixedBytes<32>,
) -> Result<Box<dyn StateProvider + Send>, Self::Error>
fn state_at_hash( &self, block_hash: FixedBytes<32>, ) -> Result<Box<dyn StateProvider + Send>, Self::Error>
Source§fn state_at_block_id(
&self,
at: BlockId,
) -> impl Future<Output = Result<Box<dyn StateProvider + Send>, Self::Error>> + Sendwhere
Self: SpawnBlocking,
fn state_at_block_id(
&self,
at: BlockId,
) -> impl Future<Output = Result<Box<dyn StateProvider + Send>, Self::Error>> + Sendwhere
Self: SpawnBlocking,
Source§fn latest_state(&self) -> Result<Box<dyn StateProvider + Send>, Self::Error>
fn latest_state(&self) -> Result<Box<dyn StateProvider + Send>, Self::Error>
Source§fn state_at_block_id_or_latest(
&self,
block_id: Option<BlockId>,
) -> impl Future<Output = Result<Box<dyn StateProvider + Send>, Self::Error>> + Sendwhere
Self: SpawnBlocking,
fn state_at_block_id_or_latest(
&self,
block_id: Option<BlockId>,
) -> impl Future<Output = Result<Box<dyn StateProvider + Send>, Self::Error>> + Sendwhere
Self: SpawnBlocking,
Source§fn spawn_blocking_io_with_state<F, R>(
&self,
at: BlockId,
f: F,
) -> impl Future<Output = Result<R, Self::Error>> + Sendwhere
Self: SpawnBlocking,
F: FnOnce(Self, Box<dyn StateProvider + Send>) -> Result<R, Self::Error> + Send + 'static,
R: Send + 'static,
fn spawn_blocking_io_with_state<F, R>(
&self,
at: BlockId,
f: F,
) -> impl Future<Output = Result<R, Self::Error>> + Sendwhere
Self: SpawnBlocking,
F: FnOnce(Self, Box<dyn StateProvider + Send>) -> Result<R, Self::Error> + Send + 'static,
R: Send + 'static,
Source§fn evm_env_for_header(
&self,
header: &SealedHeader<<Self::Primitives as NodePrimitives>::BlockHeader>,
) -> Result<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv, Self::Error>
fn evm_env_for_header( &self, header: &SealedHeader<<Self::Primitives as NodePrimitives>::BlockHeader>, ) -> Result<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv, Self::Error>
Source§fn evm_env_at(
&self,
at: BlockId,
) -> impl Future<Output = Result<(<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv, BlockId), Self::Error>> + Sendwhere
Self: SpawnBlocking,
fn evm_env_at(
&self,
at: BlockId,
) -> impl Future<Output = Result<(<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv, BlockId), Self::Error>> + Sendwhere
Self: SpawnBlocking,
Source§fn evm_env_and_recovered_block_at(
&self,
at: BlockId,
) -> impl Future<Output = Result<(Arc<RecoveredBlock<<Self::Primitives as NodePrimitives>::Block>>, <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv, BlockId), Self::Error>> + Sendwhere
Self: LoadBlock,
fn evm_env_and_recovered_block_at(
&self,
at: BlockId,
) -> impl Future<Output = Result<(Arc<RecoveredBlock<<Self::Primitives as NodePrimitives>::Block>>, <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv, BlockId), Self::Error>> + Sendwhere
Self: LoadBlock,
Source§fn next_available_nonce_for(
&self,
request: &<Self::NetworkTypes as RpcTypes>::TransactionRequest,
) -> impl Future<Output = Result<u64, Self::Error>> + Sendwhere
Self: SpawnBlocking,
fn next_available_nonce_for(
&self,
request: &<Self::NetworkTypes as RpcTypes>::TransactionRequest,
) -> impl Future<Output = Result<u64, Self::Error>> + Sendwhere
Self: SpawnBlocking,
Source§fn transaction_count_with_state(
&self,
address: Address,
at: BlockId,
state: &Box<dyn StateProvider + Send>,
) -> Result<Uint<256, 4>, Self::Error>
fn transaction_count_with_state( &self, address: Address, at: BlockId, state: &Box<dyn StateProvider + Send>, ) -> Result<Uint<256, 4>, Self::Error>
at. Read moreSource§impl<N, Rpc> LoadTransaction for EthApi<N, Rpc>where
N: RpcNodeCore,
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
impl<N, Rpc> LoadTransaction for EthApi<N, Rpc>where
N: RpcNodeCore,
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError>,
Source§fn recover_raw_transaction<T>(
&self,
tx: &[u8],
) -> Result<Recovered<T>, EthApiError>where
T: SignedTransaction,
fn recover_raw_transaction<T>(
&self,
tx: &[u8],
) -> Result<Recovered<T>, EthApiError>where
T: SignedTransaction,
Source§fn recover_raw_transactions<T>(
&self,
txs: impl IntoIterator<Item = impl AsRef<[u8]>>,
) -> Result<Vec<Recovered<T>>, EthApiError>where
T: SignedTransaction,
fn recover_raw_transactions<T>(
&self,
txs: impl IntoIterator<Item = impl AsRef<[u8]>>,
) -> Result<Vec<Recovered<T>>, EthApiError>where
T: SignedTransaction,
Source§fn recover_mined_transaction<T>(
&self,
tx: T,
) -> Result<Recovered<T>, EthApiError>where
T: SignedTransaction,
fn recover_mined_transaction<T>(
&self,
tx: T,
) -> Result<Recovered<T>, EthApiError>where
T: SignedTransaction,
Source§fn transaction_by_hash(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<TransactionSource<<Self::Provider as TransactionsProvider>::Transaction>>, Self::Error>> + Send
fn transaction_by_hash( &self, hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<TransactionSource<<Self::Provider as TransactionsProvider>::Transaction>>, Self::Error>> + Send
Source§fn transaction_by_hash_at(
&self,
transaction_hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<(TransactionSource<<Self::Provider as TransactionsProvider>::Transaction>, BlockId)>, Self::Error>> + Send
fn transaction_by_hash_at( &self, transaction_hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<(TransactionSource<<Self::Provider as TransactionsProvider>::Transaction>, BlockId)>, Self::Error>> + Send
Source§fn transaction_and_block(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<(TransactionSource<<Self::Provider as TransactionsProvider>::Transaction>, Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>)>, Self::Error>> + Send
fn transaction_and_block( &self, hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<(TransactionSource<<Self::Provider as TransactionsProvider>::Transaction>, Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>)>, Self::Error>> + Send
Source§fn transaction_and_block_and_maybe_bal(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<(TransactionSource<<Self::Provider as TransactionsProvider>::Transaction>, Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>, Option<Arc<DecodedBal<Arc<Bal>>>>)>, Self::Error>> + Send
fn transaction_and_block_and_maybe_bal( &self, hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<(TransactionSource<<Self::Provider as TransactionsProvider>::Transaction>, Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>, Option<Arc<DecodedBal<Arc<Bal>>>>)>, Self::Error>> + Send
Source§impl<N, Rpc> RpcNodeCore for EthApi<N, Rpc>where
N: RpcNodeCore,
Rpc: RpcConvert,
impl<N, Rpc> RpcNodeCore for EthApi<N, Rpc>where
N: RpcNodeCore,
Rpc: RpcConvert,
Source§type Primitives = <N as RpcNodeCore>::Primitives
type Primitives = <N as RpcNodeCore>::Primitives
Source§type Provider = <N as RpcNodeCore>::Provider
type Provider = <N as RpcNodeCore>::Provider
Source§type Pool = <N as RpcNodeCore>::Pool
type Pool = <N as RpcNodeCore>::Pool
Source§type Evm = <N as RpcNodeCore>::Evm
type Evm = <N as RpcNodeCore>::Evm
Source§type Network = <N as RpcNodeCore>::Network
type Network = <N as RpcNodeCore>::Network
Source§fn pool(&self) -> &<EthApi<N, Rpc> as RpcNodeCore>::Pool
fn pool(&self) -> &<EthApi<N, Rpc> as RpcNodeCore>::Pool
Source§fn evm_config(&self) -> &<EthApi<N, Rpc> as RpcNodeCore>::Evm
fn evm_config(&self) -> &<EthApi<N, Rpc> as RpcNodeCore>::Evm
Source§impl<N, Rpc> RpcNodeCoreExt for EthApi<N, Rpc>where
N: RpcNodeCore,
Rpc: RpcConvert,
impl<N, Rpc> RpcNodeCoreExt for EthApi<N, Rpc>where
N: RpcNodeCore,
Rpc: RpcConvert,
Source§fn cache(&self) -> &EthStateCache<<N as RpcNodeCore>::Primitives>
fn cache(&self) -> &EthStateCache<<N as RpcNodeCore>::Primitives>
Source§impl<N, Rpc> SpawnBlocking for EthApi<N, Rpc>
impl<N, Rpc> SpawnBlocking for EthApi<N, Rpc>
Source§fn io_task_spawner(&self) -> &Runtime
fn io_task_spawner(&self) -> &Runtime
Source§fn tracing_task_pool(&self) -> &BlockingTaskPool
fn tracing_task_pool(&self) -> &BlockingTaskPool
Source§fn tracing_task_guard(&self) -> &BlockingTaskGuard
fn tracing_task_guard(&self) -> &BlockingTaskGuard
Source§fn blocking_io_task_guard(&self) -> &Arc<Semaphore> ⓘ
fn blocking_io_task_guard(&self) -> &Arc<Semaphore> ⓘ
Source§fn acquire_owned_tracing(
&self,
) -> impl Future<Output = Result<OwnedSemaphorePermit, AcquireError>> + Send
fn acquire_owned_tracing( &self, ) -> impl Future<Output = Result<OwnedSemaphorePermit, AcquireError>> + Send
Source§fn acquire_many_owned_tracing(
&self,
n: u32,
) -> impl Future<Output = Result<OwnedSemaphorePermit, AcquireError>> + Send
fn acquire_many_owned_tracing( &self, n: u32, ) -> impl Future<Output = Result<OwnedSemaphorePermit, AcquireError>> + Send
Source§fn acquire_owned_blocking_io(
&self,
) -> impl Future<Output = Result<OwnedSemaphorePermit, AcquireError>> + Send
fn acquire_owned_blocking_io( &self, ) -> impl Future<Output = Result<OwnedSemaphorePermit, AcquireError>> + Send
Source§fn acquire_many_owned_blocking_io(
&self,
n: u32,
) -> impl Future<Output = Result<OwnedSemaphorePermit, AcquireError>> + Send
fn acquire_many_owned_blocking_io( &self, n: u32, ) -> impl Future<Output = Result<OwnedSemaphorePermit, AcquireError>> + Send
Source§fn acquire_weighted_blocking_io(
&self,
weight: u32,
) -> impl Future<Output = Result<OwnedSemaphorePermit, AcquireError>> + Send
fn acquire_weighted_blocking_io( &self, weight: u32, ) -> impl Future<Output = Result<OwnedSemaphorePermit, AcquireError>> + Send
Source§fn spawn_blocking_io<F, R>(
&self,
f: F,
) -> impl Future<Output = Result<R, Self::Error>> + Send
fn spawn_blocking_io<F, R>( &self, f: F, ) -> impl Future<Output = Result<R, Self::Error>> + Send
Source§impl<N, Rpc> Trace for EthApi<N, Rpc>where
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError, Evm = <N as RpcNodeCore>::Evm>,
N: RpcNodeCore,
EthApi<N, Rpc>: Call,
impl<N, Rpc> Trace for EthApi<N, Rpc>where
EthApiError: FromEvmError<<N as RpcNodeCore>::Evm>,
Rpc: RpcConvert<Primitives = <N as RpcNodeCore>::Primitives, Error = EthApiError, Evm = <N as RpcNodeCore>::Evm>,
N: RpcNodeCore,
EthApi<N, Rpc>: Call,
Source§fn inspect<DB, I>(
&self,
db: DB,
evm_env: <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv,
tx_env: &Recovered<<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes as EvmTypesHost>::Tx>,
inspector: I,
) -> Result<(I, TxResultWithState<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>), Self::Error>where
DB: Database,
I: Inspector<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes> + 'static,
fn inspect<DB, I>(
&self,
db: DB,
evm_env: <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv,
tx_env: &Recovered<<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes as EvmTypesHost>::Tx>,
inspector: I,
) -> Result<(I, TxResultWithState<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>), Self::Error>where
DB: Database,
I: Inspector<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes> + 'static,
Source§fn spawn_trace_at_with_state<F, R>(
&self,
evm_env: <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv,
tx_env: Recovered<<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes as EvmTypesHost>::Tx>,
config: TracingInspectorConfig,
at: BlockId,
f: F,
) -> impl Future<Output = Result<R, Self::Error>> + Sendwhere
F: FnOnce(TracingInspector, TxResultWithState<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>, CacheDB<Db<StateProviderDatabase<EvmStateProviderAdapter<Box<dyn StateProvider + Send>>>>>) -> Result<R, Self::Error> + Send + 'static,
R: Send + 'static,
fn spawn_trace_at_with_state<F, R>(
&self,
evm_env: <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv,
tx_env: Recovered<<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes as EvmTypesHost>::Tx>,
config: TracingInspectorConfig,
at: BlockId,
f: F,
) -> impl Future<Output = Result<R, Self::Error>> + Sendwhere
F: FnOnce(TracingInspector, TxResultWithState<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>, CacheDB<Db<StateProviderDatabase<EvmStateProviderAdapter<Box<dyn StateProvider + Send>>>>>) -> Result<R, Self::Error> + Send + 'static,
R: Send + 'static,
BlockId with a tracer configured by the
config and provides the used database to the callback.Source§fn spawn_trace_transaction_in_block<F, R>(
&self,
hash: FixedBytes<32>,
config: TracingInspectorConfig,
f: F,
) -> impl Future<Output = Result<Option<R>, Self::Error>> + Sendwhere
Self: LoadTransaction,
F: FnOnce(TransactionInfo, TracingInspector, TxResultWithState<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>, CacheDB<Db<StateProviderDatabase<EvmStateProviderAdapter<Box<dyn StateProvider + Send>>>>>) -> Result<R, Self::Error> + Send + 'static,
R: Send + 'static,
fn spawn_trace_transaction_in_block<F, R>(
&self,
hash: FixedBytes<32>,
config: TracingInspectorConfig,
f: F,
) -> impl Future<Output = Result<Option<R>, Self::Error>> + Sendwhere
Self: LoadTransaction,
F: FnOnce(TransactionInfo, TracingInspector, TxResultWithState<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>, CacheDB<Db<StateProviderDatabase<EvmStateProviderAdapter<Box<dyn StateProvider + Send>>>>>) -> Result<R, Self::Error> + Send + 'static,
R: Send + 'static,
Source§fn spawn_trace_transaction_in_block_with_inspector<Insp, F, R>(
&self,
hash: FixedBytes<32>,
inspector: Insp,
f: F,
) -> impl Future<Output = Result<Option<R>, Self::Error>> + Sendwhere
Self: LoadTransaction,
F: FnOnce(TransactionInfo, Insp, TxResultWithState<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>, CacheDB<Db<StateProviderDatabase<EvmStateProviderAdapter<Box<dyn StateProvider + Send>>>>>) -> Result<R, Self::Error> + Send + 'static,
Insp: Inspector<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes> + Send + 'static,
R: Send + 'static,
fn spawn_trace_transaction_in_block_with_inspector<Insp, F, R>(
&self,
hash: FixedBytes<32>,
inspector: Insp,
f: F,
) -> impl Future<Output = Result<Option<R>, Self::Error>> + Sendwhere
Self: LoadTransaction,
F: FnOnce(TransactionInfo, Insp, TxResultWithState<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>, CacheDB<Db<StateProviderDatabase<EvmStateProviderAdapter<Box<dyn StateProvider + Send>>>>>) -> Result<R, Self::Error> + Send + 'static,
Insp: Inspector<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes> + Send + 'static,
R: Send + 'static,
Source§fn replay_block_until(
&self,
db: &mut CacheDB<Db<StateProviderDatabase<EvmStateProviderAdapter<Box<dyn StateProvider + Send>>>>>,
block: &RecoveredBlock<<Self::Primitives as NodePrimitives>::Block>,
target_tx_index: usize,
bal: Option<&DecodedBal<Arc<Bal>>>,
) -> Result<(), Self::Error>
fn replay_block_until( &self, db: &mut CacheDB<Db<StateProviderDatabase<EvmStateProviderAdapter<Box<dyn StateProvider + Send>>>>>, block: &RecoveredBlock<<Self::Primitives as NodePrimitives>::Block>, target_tx_index: usize, bal: Option<&DecodedBal<Arc<Bal>>>, ) -> Result<(), Self::Error>
db right before the transaction at the target index. Read moreSource§fn inspect_transaction_in_block<I>(
&self,
block: &RecoveredBlock<<Self::Primitives as NodePrimitives>::Block>,
db: &mut CacheDB<Db<StateProviderDatabase<EvmStateProviderAdapter<Box<dyn StateProvider + Send>>>>>,
inspector: I,
target_tx_index: usize,
bal: Option<&DecodedBal<Arc<Bal>>>,
) -> Result<(I, TxResultWithState<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>, <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv), Self::Error>where
I: Inspector<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes> + 'static,
fn inspect_transaction_in_block<I>(
&self,
block: &RecoveredBlock<<Self::Primitives as NodePrimitives>::Block>,
db: &mut CacheDB<Db<StateProviderDatabase<EvmStateProviderAdapter<Box<dyn StateProvider + Send>>>>>,
inspector: I,
target_tx_index: usize,
bal: Option<&DecodedBal<Arc<Bal>>>,
) -> Result<(I, TxResultWithState<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>, <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmEnv), Self::Error>where
I: Inspector<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes> + 'static,
Source§fn trace_block_until<F, R>(
&self,
block_id: BlockId,
block: Option<Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>>,
highest_index: Option<u64>,
config: TracingInspectorConfig,
f: F,
) -> impl Future<Output = Result<Option<Vec<R>>, Self::Error>> + Sendwhere
Self: LoadBlock,
F: Fn(TransactionInfo, TracingCtx<'_, TracingInspector, <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>) -> Result<R, Self::Error> + Send + 'static,
R: Send + 'static,
fn trace_block_until<F, R>(
&self,
block_id: BlockId,
block: Option<Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>>,
highest_index: Option<u64>,
config: TracingInspectorConfig,
f: F,
) -> impl Future<Output = Result<Option<Vec<R>>, Self::Error>> + Sendwhere
Self: LoadBlock,
F: Fn(TransactionInfo, TracingCtx<'_, TracingInspector, <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>) -> Result<R, Self::Error> + Send + 'static,
R: Send + 'static,
Source§fn trace_block_until_with_inspector<Setup, Insp, F, R>(
&self,
block_id: BlockId,
block: Option<Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>>,
highest_index: Option<u64>,
inspector_setup: Setup,
f: F,
) -> impl Future<Output = Result<Option<Vec<R>>, Self::Error>> + Sendwhere
Self: LoadBlock,
F: Fn(TransactionInfo, TracingCtx<'_, Insp, <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>) -> Result<R, Self::Error> + Send + 'static,
Setup: FnMut() -> Insp + Send + 'static,
Insp: Inspector<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes> + 'static,
R: Send + 'static,
fn trace_block_until_with_inspector<Setup, Insp, F, R>(
&self,
block_id: BlockId,
block: Option<Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>>,
highest_index: Option<u64>,
inspector_setup: Setup,
f: F,
) -> impl Future<Output = Result<Option<Vec<R>>, Self::Error>> + Sendwhere
Self: LoadBlock,
F: Fn(TransactionInfo, TracingCtx<'_, Insp, <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>) -> Result<R, Self::Error> + Send + 'static,
Setup: FnMut() -> Insp + Send + 'static,
Insp: Inspector<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes> + 'static,
R: Send + 'static,
Source§fn trace_block_with<F, R>(
&self,
block_id: BlockId,
block: Option<Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>>,
config: TracingInspectorConfig,
f: F,
) -> impl Future<Output = Result<Option<Vec<R>>, Self::Error>> + Sendwhere
Self: LoadBlock,
F: Fn(TransactionInfo, TracingCtx<'_, TracingInspector, <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>) -> Result<R, Self::Error> + Send + 'static,
R: Send + 'static,
fn trace_block_with<F, R>(
&self,
block_id: BlockId,
block: Option<Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>>,
config: TracingInspectorConfig,
f: F,
) -> impl Future<Output = Result<Option<Vec<R>>, Self::Error>> + Sendwhere
Self: LoadBlock,
F: Fn(TransactionInfo, TracingCtx<'_, TracingInspector, <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>) -> Result<R, Self::Error> + Send + 'static,
R: Send + 'static,
Source§fn trace_block_inspector<Setup, Insp, F, R>(
&self,
block_id: BlockId,
block: Option<Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>>,
insp_setup: Setup,
f: F,
) -> impl Future<Output = Result<Option<Vec<R>>, Self::Error>> + Sendwhere
Self: LoadBlock,
F: Fn(TransactionInfo, TracingCtx<'_, Insp, <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>) -> Result<R, Self::Error> + Send + 'static,
Setup: FnMut() -> Insp + Send + 'static,
Insp: Inspector<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes> + 'static,
R: Send + 'static,
fn trace_block_inspector<Setup, Insp, F, R>(
&self,
block_id: BlockId,
block: Option<Arc<RecoveredBlock<<Self::Provider as BlockReader>::Block>>>,
insp_setup: Setup,
f: F,
) -> impl Future<Output = Result<Option<Vec<R>>, Self::Error>> + Sendwhere
Self: LoadBlock,
F: Fn(TransactionInfo, TracingCtx<'_, Insp, <<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes>) -> Result<R, Self::Error> + Send + 'static,
Setup: FnMut() -> Insp + Send + 'static,
Insp: Inspector<<<Self::Evm as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmTypes> + 'static,
R: Send + 'static,
Source§fn apply_pre_execution_changes(
&self,
block: &RecoveredBlock<<Self::Provider as BlockReader>::Block>,
db: &mut CacheDB<Db<StateProviderDatabase<EvmStateProviderAdapter<Box<dyn StateProvider + Send>>>>>,
) -> Result<BundleState, Self::Error>
fn apply_pre_execution_changes( &self, block: &RecoveredBlock<<Self::Provider as BlockReader>::Block>, db: &mut CacheDB<Db<StateProviderDatabase<EvmStateProviderAdapter<Box<dyn StateProvider + Send>>>>>, ) -> Result<BundleState, Self::Error>
Auto Trait Implementations§
impl<N, Rpc> !RefUnwindSafe for EthApi<N, Rpc>
impl<N, Rpc> !UnwindSafe for EthApi<N, Rpc>
impl<N, Rpc> Freeze for EthApi<N, Rpc>
impl<N, Rpc> Send for EthApi<N, Rpc>
impl<N, Rpc> Sync for EthApi<N, Rpc>
impl<N, Rpc> Unpin for EthApi<N, Rpc>
impl<N, Rpc> UnsafeUnpin for EthApi<N, Rpc>
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
Source§impl<T> EthApiServer<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse, Block<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::Header>, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::Receipt, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::Header, <<T as RpcNodeCore>::Primitives as NodePrimitives>::SignedTx> for T
impl<T> EthApiServer<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse, Block<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::Header>, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::Receipt, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::Header, <<T as RpcNodeCore>::Primitives as NodePrimitives>::SignedTx> for T
Source§async fn protocol_version(&self) -> Result<Uint<64, 1>, ErrorObject<'static>>
async fn protocol_version(&self) -> Result<Uint<64, 1>, ErrorObject<'static>>
Handler for: eth_protocolVersion
Source§fn syncing(&self) -> Result<SyncStatus, ErrorObject<'static>>
fn syncing(&self) -> Result<SyncStatus, ErrorObject<'static>>
Handler for: eth_syncing
Handler for: eth_coinbase
Source§fn block_number(&self) -> Result<Uint<256, 4>, ErrorObject<'static>>
fn block_number(&self) -> Result<Uint<256, 4>, ErrorObject<'static>>
Handler for: eth_blockNumber
Source§async fn chain_id(&self) -> Result<Option<Uint<64, 1>>, ErrorObject<'static>>
async fn chain_id(&self) -> Result<Option<Uint<64, 1>>, ErrorObject<'static>>
Handler for: eth_chainId
Source§fn capabilities(&self) -> Result<EthCapabilities, ErrorObject<'static>>
fn capabilities(&self) -> Result<EthCapabilities, ErrorObject<'static>>
Handler for: eth_capabilities
Source§async fn block_by_hash(
&self,
hash: FixedBytes<32>,
full: bool,
) -> Result<Option<Block<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::Header>>, ErrorObject<'static>>
async fn block_by_hash( &self, hash: FixedBytes<32>, full: bool, ) -> Result<Option<Block<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::Header>>, ErrorObject<'static>>
Handler for: eth_getBlockByHash
Source§async fn block_by_number(
&self,
number: BlockNumberOrTag,
full: bool,
) -> Result<Option<Block<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::Header>>, ErrorObject<'static>>
async fn block_by_number( &self, number: BlockNumberOrTag, full: bool, ) -> Result<Option<Block<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::Header>>, ErrorObject<'static>>
Handler for: eth_getBlockByNumber
Source§async fn block_transaction_count_by_hash(
&self,
hash: FixedBytes<32>,
) -> Result<Option<Uint<256, 4>>, ErrorObject<'static>>
async fn block_transaction_count_by_hash( &self, hash: FixedBytes<32>, ) -> Result<Option<Uint<256, 4>>, ErrorObject<'static>>
Handler for: eth_getBlockTransactionCountByHash
Source§async fn block_transaction_count_by_number(
&self,
number: BlockNumberOrTag,
) -> Result<Option<Uint<256, 4>>, ErrorObject<'static>>
async fn block_transaction_count_by_number( &self, number: BlockNumberOrTag, ) -> Result<Option<Uint<256, 4>>, ErrorObject<'static>>
Handler for: eth_getBlockTransactionCountByNumber
Source§async fn block_uncles_count_by_hash(
&self,
hash: FixedBytes<32>,
) -> Result<Option<Uint<256, 4>>, ErrorObject<'static>>
async fn block_uncles_count_by_hash( &self, hash: FixedBytes<32>, ) -> Result<Option<Uint<256, 4>>, ErrorObject<'static>>
Handler for: eth_getUncleCountByBlockHash
Source§async fn block_uncles_count_by_number(
&self,
number: BlockNumberOrTag,
) -> Result<Option<Uint<256, 4>>, ErrorObject<'static>>
async fn block_uncles_count_by_number( &self, number: BlockNumberOrTag, ) -> Result<Option<Uint<256, 4>>, ErrorObject<'static>>
Handler for: eth_getUncleCountByBlockNumber
Source§async fn block_receipts(
&self,
block_id: BlockId,
) -> Result<Option<Vec<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::Receipt>>, ErrorObject<'static>>
async fn block_receipts( &self, block_id: BlockId, ) -> Result<Option<Vec<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::Receipt>>, ErrorObject<'static>>
Handler for: eth_getBlockReceipts
Source§async fn uncle_by_block_hash_and_index(
&self,
hash: FixedBytes<32>,
index: Index,
) -> Result<Option<Block<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::Header>>, ErrorObject<'static>>
async fn uncle_by_block_hash_and_index( &self, hash: FixedBytes<32>, index: Index, ) -> Result<Option<Block<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::Header>>, ErrorObject<'static>>
Handler for: eth_getUncleByBlockHashAndIndex
Source§async fn uncle_by_block_number_and_index(
&self,
number: BlockNumberOrTag,
index: Index,
) -> Result<Option<Block<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::Header>>, ErrorObject<'static>>
async fn uncle_by_block_number_and_index( &self, number: BlockNumberOrTag, index: Index, ) -> Result<Option<Block<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::Header>>, ErrorObject<'static>>
Handler for: eth_getUncleByBlockNumberAndIndex
Source§async fn raw_transaction_by_hash(
&self,
hash: FixedBytes<32>,
) -> Result<Option<Bytes>, ErrorObject<'static>>
async fn raw_transaction_by_hash( &self, hash: FixedBytes<32>, ) -> Result<Option<Bytes>, ErrorObject<'static>>
Handler for: eth_getRawTransactionByHash
Source§async fn transaction_by_hash(
&self,
hash: FixedBytes<32>,
) -> Result<Option<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse>, ErrorObject<'static>>
async fn transaction_by_hash( &self, hash: FixedBytes<32>, ) -> Result<Option<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse>, ErrorObject<'static>>
Handler for: eth_getTransactionByHash
Source§async fn raw_transaction_by_block_hash_and_index(
&self,
hash: FixedBytes<32>,
index: Index,
) -> Result<Option<Bytes>, ErrorObject<'static>>
async fn raw_transaction_by_block_hash_and_index( &self, hash: FixedBytes<32>, index: Index, ) -> Result<Option<Bytes>, ErrorObject<'static>>
Handler for: eth_getRawTransactionByBlockHashAndIndex
Source§async fn transaction_by_block_hash_and_index(
&self,
hash: FixedBytes<32>,
index: Index,
) -> Result<Option<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse>, ErrorObject<'static>>
async fn transaction_by_block_hash_and_index( &self, hash: FixedBytes<32>, index: Index, ) -> Result<Option<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse>, ErrorObject<'static>>
Handler for: eth_getTransactionByBlockHashAndIndex
Source§async fn raw_transaction_by_block_number_and_index(
&self,
number: BlockNumberOrTag,
index: Index,
) -> Result<Option<Bytes>, ErrorObject<'static>>
async fn raw_transaction_by_block_number_and_index( &self, number: BlockNumberOrTag, index: Index, ) -> Result<Option<Bytes>, ErrorObject<'static>>
Handler for: eth_getRawTransactionByBlockNumberAndIndex
Source§async fn transaction_by_block_number_and_index(
&self,
number: BlockNumberOrTag,
index: Index,
) -> Result<Option<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse>, ErrorObject<'static>>
async fn transaction_by_block_number_and_index( &self, number: BlockNumberOrTag, index: Index, ) -> Result<Option<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse>, ErrorObject<'static>>
Handler for: eth_getTransactionByBlockNumberAndIndex
Source§async fn transaction_by_sender_and_nonce(
&self,
sender: Address,
nonce: Uint<64, 1>,
) -> Result<Option<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse>, ErrorObject<'static>>
async fn transaction_by_sender_and_nonce( &self, sender: Address, nonce: Uint<64, 1>, ) -> Result<Option<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse>, ErrorObject<'static>>
Handler for: eth_getTransactionBySenderAndNonce
Source§fn pending_transactions(
&self,
) -> Result<Vec<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse>, ErrorObject<'static>>
fn pending_transactions( &self, ) -> Result<Vec<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse>, ErrorObject<'static>>
Handler for: eth_pendingTransactions
Source§async fn transaction_receipt(
&self,
hash: FixedBytes<32>,
) -> Result<Option<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::Receipt>, ErrorObject<'static>>
async fn transaction_receipt( &self, hash: FixedBytes<32>, ) -> Result<Option<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::Receipt>, ErrorObject<'static>>
Handler for: eth_getTransactionReceipt
Source§async fn balance(
&self,
address: Address,
block_number: Option<BlockId>,
) -> Result<Uint<256, 4>, ErrorObject<'static>>
async fn balance( &self, address: Address, block_number: Option<BlockId>, ) -> Result<Uint<256, 4>, ErrorObject<'static>>
Handler for: eth_getBalance
Source§async fn storage_at(
&self,
address: Address,
index: JsonStorageKey,
block_number: Option<BlockId>,
) -> Result<FixedBytes<32>, ErrorObject<'static>>
async fn storage_at( &self, address: Address, index: JsonStorageKey, block_number: Option<BlockId>, ) -> Result<FixedBytes<32>, ErrorObject<'static>>
Handler for: eth_getStorageAt
Source§async fn storage_values(
&self,
requests: HashMap<Address, Vec<JsonStorageKey>>,
block_number: Option<BlockId>,
) -> Result<HashMap<Address, Vec<FixedBytes<32>>>, ErrorObject<'static>>
async fn storage_values( &self, requests: HashMap<Address, Vec<JsonStorageKey>>, block_number: Option<BlockId>, ) -> Result<HashMap<Address, Vec<FixedBytes<32>>>, ErrorObject<'static>>
Handler for: eth_getStorageValues
Source§async fn transaction_count(
&self,
address: Address,
block_number: Option<BlockId>,
) -> Result<Uint<256, 4>, ErrorObject<'static>>
async fn transaction_count( &self, address: Address, block_number: Option<BlockId>, ) -> Result<Uint<256, 4>, ErrorObject<'static>>
Handler for: eth_getTransactionCount
Source§async fn get_code(
&self,
address: Address,
block_number: Option<BlockId>,
) -> Result<Bytes, ErrorObject<'static>>
async fn get_code( &self, address: Address, block_number: Option<BlockId>, ) -> Result<Bytes, ErrorObject<'static>>
Handler for: eth_getCode
Source§async fn header_by_number(
&self,
block_number: BlockNumberOrTag,
) -> Result<Option<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::Header>, ErrorObject<'static>>
async fn header_by_number( &self, block_number: BlockNumberOrTag, ) -> Result<Option<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::Header>, ErrorObject<'static>>
Handler for: eth_getHeaderByNumber
Source§async fn header_by_hash(
&self,
hash: FixedBytes<32>,
) -> Result<Option<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::Header>, ErrorObject<'static>>
async fn header_by_hash( &self, hash: FixedBytes<32>, ) -> Result<Option<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::Header>, ErrorObject<'static>>
Handler for: eth_getHeaderByHash
Source§async fn simulate_v1(
&self,
payload: SimulatePayload<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest>,
block_number: Option<BlockId>,
) -> Result<Vec<SimulatedBlock<Block<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::Header>>>, ErrorObject<'static>>
async fn simulate_v1( &self, payload: SimulatePayload<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest>, block_number: Option<BlockId>, ) -> Result<Vec<SimulatedBlock<Block<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::Header>>>, ErrorObject<'static>>
Handler for: eth_simulateV1
Source§async fn call(
&self,
request: <<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest,
block_number: Option<BlockId>,
state_overrides: Option<HashMap<Address, AccountOverride, FbBuildHasher<20>>>,
block_overrides: Option<Box<BlockOverrides>>,
) -> Result<Bytes, ErrorObject<'static>>
async fn call( &self, request: <<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest, block_number: Option<BlockId>, state_overrides: Option<HashMap<Address, AccountOverride, FbBuildHasher<20>>>, block_overrides: Option<Box<BlockOverrides>>, ) -> Result<Bytes, ErrorObject<'static>>
Handler for: eth_call
Source§async fn fill_transaction(
&self,
request: <<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest,
) -> Result<FillTransaction<<<T as RpcNodeCore>::Primitives as NodePrimitives>::SignedTx>, ErrorObject<'static>>
async fn fill_transaction( &self, request: <<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest, ) -> Result<FillTransaction<<<T as RpcNodeCore>::Primitives as NodePrimitives>::SignedTx>, ErrorObject<'static>>
Handler for: eth_fillTransaction
Source§async fn call_many(
&self,
bundles: Vec<Bundle<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest>>,
state_context: Option<StateContext>,
state_override: Option<HashMap<Address, AccountOverride, FbBuildHasher<20>>>,
) -> Result<Vec<Vec<EthCallResponse>>, ErrorObject<'static>>
async fn call_many( &self, bundles: Vec<Bundle<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest>>, state_context: Option<StateContext>, state_override: Option<HashMap<Address, AccountOverride, FbBuildHasher<20>>>, ) -> Result<Vec<Vec<EthCallResponse>>, ErrorObject<'static>>
Handler for: eth_callMany
Source§async fn create_access_list(
&self,
request: <<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest,
block_number: Option<BlockId>,
state_override: Option<HashMap<Address, AccountOverride, FbBuildHasher<20>>>,
) -> Result<AccessListResult, ErrorObject<'static>>
async fn create_access_list( &self, request: <<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest, block_number: Option<BlockId>, state_override: Option<HashMap<Address, AccountOverride, FbBuildHasher<20>>>, ) -> Result<AccessListResult, ErrorObject<'static>>
Handler for: eth_createAccessList
Source§async fn estimate_gas(
&self,
request: <<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest,
block_number: Option<BlockId>,
state_override: Option<HashMap<Address, AccountOverride, FbBuildHasher<20>>>,
block_overrides: Option<Box<BlockOverrides>>,
) -> Result<Uint<256, 4>, ErrorObject<'static>>
async fn estimate_gas( &self, request: <<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest, block_number: Option<BlockId>, state_override: Option<HashMap<Address, AccountOverride, FbBuildHasher<20>>>, block_overrides: Option<Box<BlockOverrides>>, ) -> Result<Uint<256, 4>, ErrorObject<'static>>
Handler for: eth_estimateGas
Source§async fn gas_price(&self) -> Result<Uint<256, 4>, ErrorObject<'static>>
async fn gas_price(&self) -> Result<Uint<256, 4>, ErrorObject<'static>>
Handler for: eth_gasPrice
Source§async fn get_account(
&self,
address: Address,
block: BlockId,
) -> Result<Option<TrieAccount>, ErrorObject<'static>>
async fn get_account( &self, address: Address, block: BlockId, ) -> Result<Option<TrieAccount>, ErrorObject<'static>>
Handler for: eth_getAccount
Source§async fn max_priority_fee_per_gas(
&self,
) -> Result<Uint<256, 4>, ErrorObject<'static>>
async fn max_priority_fee_per_gas( &self, ) -> Result<Uint<256, 4>, ErrorObject<'static>>
Handler for: eth_maxPriorityFeePerGas
Source§async fn blob_base_fee(&self) -> Result<Uint<256, 4>, ErrorObject<'static>>
async fn blob_base_fee(&self) -> Result<Uint<256, 4>, ErrorObject<'static>>
Handler for: eth_blobBaseFee
Source§async fn base_fee(&self) -> Result<Option<Uint<256, 4>>, ErrorObject<'static>>
async fn base_fee(&self) -> Result<Option<Uint<256, 4>>, ErrorObject<'static>>
Handler for: eth_baseFee
Source§async fn fee_history(
&self,
block_count: Uint<64, 1>,
newest_block: BlockNumberOrTag,
reward_percentiles: Option<Vec<f64>>,
) -> Result<FeeHistory, ErrorObject<'static>>
async fn fee_history( &self, block_count: Uint<64, 1>, newest_block: BlockNumberOrTag, reward_percentiles: Option<Vec<f64>>, ) -> Result<FeeHistory, ErrorObject<'static>>
Handler for: eth_feeHistory
Source§async fn hashrate(&self) -> Result<Uint<256, 4>, ErrorObject<'static>>
async fn hashrate(&self) -> Result<Uint<256, 4>, ErrorObject<'static>>
Handler for: eth_hashrate
Source§async fn submit_hashrate(
&self,
_hashrate: Uint<256, 4>,
_id: FixedBytes<32>,
) -> Result<bool, ErrorObject<'static>>
async fn submit_hashrate( &self, _hashrate: Uint<256, 4>, _id: FixedBytes<32>, ) -> Result<bool, ErrorObject<'static>>
Handler for: eth_submitHashrate
Source§async fn submit_work(
&self,
_nonce: FixedBytes<8>,
_pow_hash: FixedBytes<32>,
_mix_digest: FixedBytes<32>,
) -> Result<bool, ErrorObject<'static>>
async fn submit_work( &self, _nonce: FixedBytes<8>, _pow_hash: FixedBytes<32>, _mix_digest: FixedBytes<32>, ) -> Result<bool, ErrorObject<'static>>
Handler for: eth_submitWork
Source§async fn send_transaction(
&self,
request: <<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest,
) -> Result<FixedBytes<32>, ErrorObject<'static>>
async fn send_transaction( &self, request: <<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest, ) -> Result<FixedBytes<32>, ErrorObject<'static>>
Handler for: eth_sendTransaction
Source§async fn send_raw_transaction(
&self,
tx: Bytes,
) -> Result<FixedBytes<32>, ErrorObject<'static>>
async fn send_raw_transaction( &self, tx: Bytes, ) -> Result<FixedBytes<32>, ErrorObject<'static>>
Handler for: eth_sendRawTransaction
Source§async fn send_raw_transaction_sync(
&self,
tx: Bytes,
timeout_ms: Option<u64>,
) -> Result<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::Receipt, ErrorObject<'static>>
async fn send_raw_transaction_sync( &self, tx: Bytes, timeout_ms: Option<u64>, ) -> Result<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::Receipt, ErrorObject<'static>>
Handler for: eth_sendRawTransactionSync
Source§async fn sign(
&self,
address: Address,
message: Bytes,
) -> Result<Bytes, ErrorObject<'static>>
async fn sign( &self, address: Address, message: Bytes, ) -> Result<Bytes, ErrorObject<'static>>
Handler for: eth_sign
Source§async fn sign_transaction(
&self,
request: <<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest,
) -> Result<Bytes, ErrorObject<'static>>
async fn sign_transaction( &self, request: <<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest, ) -> Result<Bytes, ErrorObject<'static>>
Handler for: eth_signTransaction
Source§async fn sign_typed_data(
&self,
address: Address,
data: TypedData,
) -> Result<Bytes, ErrorObject<'static>>
async fn sign_typed_data( &self, address: Address, data: TypedData, ) -> Result<Bytes, ErrorObject<'static>>
Handler for: eth_signTypedData
Source§async fn get_proof(
&self,
address: Address,
keys: Vec<JsonStorageKey>,
block_number: Option<BlockId>,
) -> Result<EIP1186AccountProofResponse, ErrorObject<'static>>
async fn get_proof( &self, address: Address, keys: Vec<JsonStorageKey>, block_number: Option<BlockId>, ) -> Result<EIP1186AccountProofResponse, ErrorObject<'static>>
Handler for: eth_getProof
Source§async fn get_multi_proof(
&self,
targets: Vec<(Address, Vec<FixedBytes<32>>)>,
block_number: Option<BlockId>,
) -> Result<Vec<EIP1186AccountProofResponse>, ErrorObject<'static>>
async fn get_multi_proof( &self, targets: Vec<(Address, Vec<FixedBytes<32>>)>, block_number: Option<BlockId>, ) -> Result<Vec<EIP1186AccountProofResponse>, ErrorObject<'static>>
Handler for: eth_getMultiProof
Source§async fn get_account_info(
&self,
address: Address,
block: BlockId,
) -> Result<AccountInfo, ErrorObject<'static>>
async fn get_account_info( &self, address: Address, block: BlockId, ) -> Result<AccountInfo, ErrorObject<'static>>
Handler for: eth_getAccountInfo
Source§async fn block_access_list_by_block_hash(
&self,
block_hash: FixedBytes<32>,
) -> Result<Option<Vec<AccountChanges>>, ErrorObject<'static>>
async fn block_access_list_by_block_hash( &self, block_hash: FixedBytes<32>, ) -> Result<Option<Vec<AccountChanges>>, ErrorObject<'static>>
Handler for: eth_getBlockAccessListByBlockHash
Source§async fn block_access_list_by_block_number(
&self,
number: BlockNumberOrTag,
) -> Result<Option<Vec<AccountChanges>>, ErrorObject<'static>>
async fn block_access_list_by_block_number( &self, number: BlockNumberOrTag, ) -> Result<Option<Vec<AccountChanges>>, ErrorObject<'static>>
Handler for: eth_getBlockAccessListByBlockNumber
Source§async fn block_access_list(
&self,
block_id: BlockId,
) -> Result<Option<Vec<AccountChanges>>, ErrorObject<'static>>
async fn block_access_list( &self, block_id: BlockId, ) -> Result<Option<Vec<AccountChanges>>, ErrorObject<'static>>
Handler for: eth_getBlockAccessList
Source§async fn block_access_list_raw(
&self,
block: BlockId,
) -> Result<Option<Bytes>, ErrorObject<'static>>
async fn block_access_list_raw( &self, block: BlockId, ) -> Result<Option<Bytes>, ErrorObject<'static>>
Handler for: eth_getBlockAccessListRaw
§impl<T> FmtForward for T
impl<T> FmtForward for T
§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.§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.§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.§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.§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.§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.§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.§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.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
impl<T> FullEthApi for Twhere
T: EthApiSpec + EthTransactions + EthBlocks + EthState + EthCall + EthFees + EthSubscriptions + LoadReceipt + GetBlockAccessList,
impl<T> FullEthApiServer for Twhere
T: EthApiServer<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse, Block<<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionResponse, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::Header>, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::Receipt, <<T as EthApiTypes>::NetworkTypes as RpcTypes>::Header, <<T as RpcNodeCore>::Primitives as NodePrimitives>::SignedTx> + FullEthApi,
impl<T> FullEthApiTypes for Twhere
T: RpcNodeCore + EthApiTypes,
<T as EthApiTypes>::NetworkTypes: RpcTypes,
<<T as EthApiTypes>::NetworkTypes as RpcTypes>::TransactionRequest: SignableTxRequest<<<T as RpcNodeCore>::Provider as TransactionsProvider>::Transaction>,
<T as EthApiTypes>::RpcConvert: RpcConvert<Primitives = <T as RpcNodeCore>::Primitives>,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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> ⓘ
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 more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].impl<T> MaybeDebug for Twhere
T: Debug,
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§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 more§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 more§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
§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
§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.§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.§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.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§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 more§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 more§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 more§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 more§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 more§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 more§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.§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.§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.§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.§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.§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.§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.impl<T> TraceExt for Twhere
T: LoadTransaction + GetBlockAccessList,
§impl<T> TryConv for T
impl<T> TryConv for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
Source§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 8 bytes