pub struct EthApi<Provider, Pool, Network, EvmConfig> { /* 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).
Implementations§
§impl<Provider, Pool, Network, EvmConfig> EthApi<Provider, Pool, Network, EvmConfig>where
Provider: BlockReaderIdExt,
impl<Provider, Pool, Network, EvmConfig> EthApi<Provider, Pool, Network, EvmConfig>where
Provider: BlockReaderIdExt,
pub fn new(
provider: Provider,
pool: Pool,
network: Network,
eth_cache: EthStateCache,
gas_oracle: GasPriceOracle<Provider>,
gas_cap: impl Into<GasCap>,
eth_proof_window: u64,
blocking_task_pool: BlockingTaskPool,
fee_history_cache: FeeHistoryCache,
evm_config: EvmConfig,
raw_transaction_forwarder: Option<Arc<dyn RawTransactionForwarder>>,
) -> EthApi<Provider, Pool, Network, EvmConfig>
pub fn new( provider: Provider, pool: Pool, network: Network, eth_cache: EthStateCache, gas_oracle: GasPriceOracle<Provider>, gas_cap: impl Into<GasCap>, eth_proof_window: u64, blocking_task_pool: BlockingTaskPool, fee_history_cache: FeeHistoryCache, evm_config: EvmConfig, raw_transaction_forwarder: Option<Arc<dyn RawTransactionForwarder>>, ) -> EthApi<Provider, Pool, Network, EvmConfig>
Creates a new, shareable instance using the default tokio task spawner.
pub fn with_spawner(
provider: Provider,
pool: Pool,
network: Network,
eth_cache: EthStateCache,
gas_oracle: GasPriceOracle<Provider>,
gas_cap: u64,
eth_proof_window: u64,
task_spawner: Box<dyn TaskSpawner>,
blocking_task_pool: BlockingTaskPool,
fee_history_cache: FeeHistoryCache,
evm_config: EvmConfig,
raw_transaction_forwarder: Option<Arc<dyn RawTransactionForwarder>>,
) -> EthApi<Provider, Pool, Network, EvmConfig>
pub fn with_spawner( provider: Provider, pool: Pool, network: Network, eth_cache: EthStateCache, gas_oracle: GasPriceOracle<Provider>, gas_cap: u64, eth_proof_window: u64, task_spawner: Box<dyn TaskSpawner>, blocking_task_pool: BlockingTaskPool, fee_history_cache: FeeHistoryCache, evm_config: EvmConfig, raw_transaction_forwarder: Option<Arc<dyn RawTransactionForwarder>>, ) -> EthApi<Provider, Pool, Network, EvmConfig>
Creates a new, shareable instance.
§impl<Provider, Pool, Network, EvmConfig> EthApi<Provider, Pool, Network, EvmConfig>
impl<Provider, Pool, Network, EvmConfig> EthApi<Provider, Pool, Network, EvmConfig>
pub fn with_dev_accounts(&self)
pub fn with_dev_accounts(&self)
Generates 20 random developer accounts. Used in DEV mode.
§impl<Provider, Pool, Network, EvmConfig> EthApi<Provider, Pool, Network, EvmConfig>where
Provider: BlockIdReader + ChainSpecProvider,
impl<Provider, Pool, Network, EvmConfig> EthApi<Provider, Pool, Network, EvmConfig>where
Provider: BlockIdReader + ChainSpecProvider,
pub fn build_op_tx_meta(
&self,
tx: &TransactionSigned,
l1_block_info: Option<L1BlockInfo>,
block_timestamp: u64,
) -> Result<OptimismTxMeta, EthApiError>
pub fn build_op_tx_meta( &self, tx: &TransactionSigned, l1_block_info: Option<L1BlockInfo>, block_timestamp: u64, ) -> Result<OptimismTxMeta, EthApiError>
Builds OptimismTxMeta
object using the provided TransactionSigned
, L1 block
info and block timestamp. The L1BlockInfo
is used to calculate the l1 fee and l1 data
gas for the transaction. If the L1BlockInfo
is not provided, the meta info will be
empty.
Trait Implementations§
§impl<Provider, Pool, Network, EvmConfig> Call for EthApi<Provider, Pool, Network, EvmConfig>where
EthApi<Provider, Pool, Network, EvmConfig>: LoadState + SpawnBlocking,
EvmConfig: ConfigureEvm,
impl<Provider, Pool, Network, EvmConfig> Call for EthApi<Provider, Pool, Network, EvmConfig>where
EthApi<Provider, Pool, Network, EvmConfig>: LoadState + SpawnBlocking,
EvmConfig: ConfigureEvm,
§fn call_gas_limit(&self) -> u64
fn call_gas_limit(&self) -> u64
eth_call
and tracing RPC methods. Read more§fn evm_config(&self) -> &impl ConfigureEvm
fn evm_config(&self) -> &impl ConfigureEvm
source§fn with_state_at_block<F, T>(&self, at: BlockId, f: F) -> Result<T, EthApiError>
fn with_state_at_block<F, T>(&self, at: BlockId, f: F) -> Result<T, EthApiError>
BlockId
.source§fn transact<DB>(
&self,
db: DB,
env: EnvWithHandlerCfg,
) -> Result<(ResultAndState, EnvWithHandlerCfg), EthApiError>
fn transact<DB>( &self, db: DB, env: EnvWithHandlerCfg, ) -> Result<(ResultAndState, EnvWithHandlerCfg), EthApiError>
EnvWithHandlerCfg
against the given Database without committing state
changes.source§fn spawn_with_state_at_block<F, T>(
&self,
at: BlockId,
f: F,
) -> impl Future<Output = Result<T, EthApiError>> + Sendwhere
F: FnOnce(StateProviderTraitObjWrapper<'_>) -> Result<T, EthApiError> + Send + 'static,
T: Send + 'static,
fn spawn_with_state_at_block<F, T>(
&self,
at: BlockId,
f: F,
) -> impl Future<Output = Result<T, EthApiError>> + Sendwhere
F: FnOnce(StateProviderTraitObjWrapper<'_>) -> Result<T, EthApiError> + Send + 'static,
T: Send + 'static,
BlockId
on a new tasksource§fn replay_transactions_until<DB>(
&self,
db: &mut CacheDB<DB>,
cfg: CfgEnvWithHandlerCfg,
block_env: BlockEnv,
transactions: impl IntoIterator<Item = TransactionSignedEcRecovered>,
target_tx_hash: FixedBytes<32>,
) -> Result<usize, EthApiError>
fn replay_transactions_until<DB>( &self, db: &mut CacheDB<DB>, cfg: CfgEnvWithHandlerCfg, block_env: BlockEnv, transactions: impl IntoIterator<Item = TransactionSignedEcRecovered>, target_tx_hash: FixedBytes<32>, ) -> Result<usize, EthApiError>
source§fn estimate_gas_with<S>(
&self,
cfg: CfgEnvWithHandlerCfg,
block: BlockEnv,
request: TransactionRequest,
state: S,
state_override: Option<HashMap<Address, AccountOverride>>,
) -> Result<Uint<256, 4>, EthApiError>where
S: StateProvider,
fn estimate_gas_with<S>(
&self,
cfg: CfgEnvWithHandlerCfg,
block: BlockEnv,
request: TransactionRequest,
state: S,
state_override: Option<HashMap<Address, AccountOverride>>,
) -> Result<Uint<256, 4>, EthApiError>where
S: StateProvider,
request
with the state. Read moresource§fn update_estimated_gas_range(
&self,
result: ExecutionResult,
tx_gas_limit: u64,
highest_gas_limit: &mut u64,
lowest_gas_limit: &mut u64,
) -> Result<(), EthApiError>
fn update_estimated_gas_range( &self, result: ExecutionResult, tx_gas_limit: u64, highest_gas_limit: &mut u64, lowest_gas_limit: &mut u64, ) -> Result<(), EthApiError>
source§fn map_out_of_gas_err<S>(
&self,
env_gas_limit: Uint<256, 4>,
env: EnvWithHandlerCfg,
db: &mut CacheDB<StateProviderDatabase<S>>,
) -> EthApiErrorwhere
S: StateProvider,
fn map_out_of_gas_err<S>(
&self,
env_gas_limit: Uint<256, 4>,
env: EnvWithHandlerCfg,
db: &mut CacheDB<StateProviderDatabase<S>>,
) -> EthApiErrorwhere
S: StateProvider,
§impl<Provider, Pool, Network, EvmConfig> EthApiSpec for EthApi<Provider, Pool, Network, EvmConfig>where
Pool: TransactionPool + 'static,
Provider: BlockReaderIdExt + ChainSpecProvider + StateProviderFactory + EvmEnvProvider + 'static,
Network: NetworkInfo + 'static,
EvmConfig: ConfigureEvm,
impl<Provider, Pool, Network, EvmConfig> EthApiSpec for EthApi<Provider, Pool, Network, EvmConfig>where
Pool: TransactionPool + 'static,
Provider: BlockReaderIdExt + ChainSpecProvider + StateProviderFactory + EvmEnvProvider + 'static,
Network: NetworkInfo + 'static,
EvmConfig: ConfigureEvm,
§async fn protocol_version(&self) -> Result<Uint<64, 1>, RethError>
async fn protocol_version(&self) -> Result<Uint<64, 1>, RethError>
Returns the current ethereum protocol version.
Note: This returns an U64
, since this should return as hex string.
§fn chain_info(&self) -> Result<ChainInfo, RethError>
fn chain_info(&self) -> Result<ChainInfo, RethError>
Returns the current info for the chain
§fn sync_status(&self) -> Result<SyncStatus, RethError>
fn sync_status(&self) -> Result<SyncStatus, RethError>
Returns the SyncStatus
of the network
§fn is_syncing(&self) -> bool
fn is_syncing(&self) -> bool
true
if the network is undergoing sync.§impl<Provider, Pool, Network, EvmConfig> EthBlocks for EthApi<Provider, Pool, Network, EvmConfig>
impl<Provider, Pool, Network, EvmConfig> EthBlocks for EthApi<Provider, Pool, Network, EvmConfig>
§fn provider(&self) -> impl HeaderProvider
fn provider(&self) -> impl HeaderProvider
source§fn rpc_block_header(
&self,
block_id: BlockId,
) -> impl Future<Output = Result<Option<Header>, EthApiError>> + Sendwhere
Self: LoadPendingBlock + SpawnBlocking,
fn rpc_block_header(
&self,
block_id: BlockId,
) -> impl Future<Output = Result<Option<Header>, EthApiError>> + Sendwhere
Self: LoadPendingBlock + SpawnBlocking,
source§fn rpc_block(
&self,
block_id: BlockId,
full: bool,
) -> impl Future<Output = Result<Option<Rich<Block>>, EthApiError>> + Sendwhere
Self: LoadPendingBlock + SpawnBlocking,
fn rpc_block(
&self,
block_id: BlockId,
full: bool,
) -> impl Future<Output = Result<Option<Rich<Block>>, EthApiError>> + Sendwhere
Self: LoadPendingBlock + SpawnBlocking,
source§fn block_transaction_count(
&self,
block_id: BlockId,
) -> impl Future<Output = Result<Option<usize>, EthApiError>> + Send
fn block_transaction_count( &self, block_id: BlockId, ) -> impl Future<Output = Result<Option<usize>, EthApiError>> + Send
§impl<Provider, Pool, Network, EvmConfig> EthCall for EthApi<Provider, Pool, Network, EvmConfig>
impl<Provider, Pool, Network, EvmConfig> EthCall for EthApi<Provider, Pool, Network, EvmConfig>
source§fn estimate_gas_at(
&self,
request: TransactionRequest,
at: BlockId,
state_override: Option<HashMap<Address, AccountOverride>>,
) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send
fn estimate_gas_at( &self, request: TransactionRequest, at: BlockId, state_override: Option<HashMap<Address, AccountOverride>>, ) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send
request
at the BlockId
.source§fn call(
&self,
request: TransactionRequest,
block_number: Option<BlockId>,
overrides: EvmOverrides,
) -> impl Future<Output = Result<Bytes, EthApiError>> + Send
fn call( &self, request: TransactionRequest, block_number: Option<BlockId>, overrides: EvmOverrides, ) -> impl Future<Output = Result<Bytes, EthApiError>> + Send
eth_call
) and returns the output§impl<Provider, Pool, Network, EvmConfig> EthFees for EthApi<Provider, Pool, Network, EvmConfig>
impl<Provider, Pool, Network, EvmConfig> EthFees for EthApi<Provider, Pool, Network, EvmConfig>
source§fn gas_price(
&self,
) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Sendwhere
Self: LoadBlock,
fn gas_price(
&self,
) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Sendwhere
Self: LoadBlock,
source§fn blob_base_fee(
&self,
) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Sendwhere
Self: LoadBlock,
fn blob_base_fee(
&self,
) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Sendwhere
Self: LoadBlock,
source§fn suggested_priority_fee(
&self,
) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Sendwhere
Self: 'static,
fn suggested_priority_fee(
&self,
) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Sendwhere
Self: 'static,
source§fn fee_history(
&self,
block_count: u64,
newest_block: BlockNumberOrTag,
reward_percentiles: Option<Vec<f64>>,
) -> impl Future<Output = Result<FeeHistory, EthApiError>> + Send
fn fee_history( &self, block_count: u64, newest_block: BlockNumberOrTag, reward_percentiles: Option<Vec<f64>>, ) -> impl Future<Output = Result<FeeHistory, EthApiError>> + Send
source§fn approximate_percentile(
&self,
entry: &FeeHistoryEntry,
requested_percentile: f64,
) -> u128
fn approximate_percentile( &self, entry: &FeeHistoryEntry, requested_percentile: f64, ) -> u128
§impl<Provider, Pool, Network, EvmConfig> EthState for EthApi<Provider, Pool, Network, EvmConfig>
impl<Provider, Pool, Network, EvmConfig> EthState for EthApi<Provider, Pool, Network, EvmConfig>
§fn max_proof_window(&self) -> u64
fn max_proof_window(&self) -> u64
source§fn transaction_count(
&self,
address: Address,
block_id: Option<BlockId>,
) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send
fn transaction_count( &self, address: Address, block_id: Option<BlockId>, ) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send
source§fn get_code(
&self,
address: Address,
block_id: Option<BlockId>,
) -> impl Future<Output = Result<Bytes, EthApiError>> + Send
fn get_code( &self, address: Address, block_id: Option<BlockId>, ) -> impl Future<Output = Result<Bytes, EthApiError>> + Send
source§fn balance(
&self,
address: Address,
block_id: Option<BlockId>,
) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send
fn balance( &self, address: Address, block_id: Option<BlockId>, ) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send
source§fn storage_at(
&self,
address: Address,
index: JsonStorageKey,
block_id: Option<BlockId>,
) -> impl Future<Output = Result<FixedBytes<32>, EthApiError>> + Send
fn storage_at( &self, address: Address, index: JsonStorageKey, block_id: Option<BlockId>, ) -> impl Future<Output = Result<FixedBytes<32>, EthApiError>> + Send
§impl<Provider, Pool, Network, EvmConfig> EthTransactions for EthApi<Provider, Pool, Network, EvmConfig>where
EthApi<Provider, Pool, Network, EvmConfig>: LoadTransaction,
Pool: TransactionPool + 'static,
Provider: BlockReaderIdExt,
impl<Provider, Pool, Network, EvmConfig> EthTransactions for EthApi<Provider, Pool, Network, EvmConfig>where
EthApi<Provider, Pool, Network, EvmConfig>: LoadTransaction,
Pool: TransactionPool + 'static,
Provider: BlockReaderIdExt,
§fn provider(&self) -> impl BlockReaderIdExt
fn provider(&self) -> impl BlockReaderIdExt
§fn raw_tx_forwarder(&self) -> Option<Arc<dyn RawTransactionForwarder>>
fn raw_tx_forwarder(&self) -> Option<Arc<dyn RawTransactionForwarder>>
§fn signers(&self) -> &RwLock<RawRwLock, Vec<Box<dyn EthSigner>>>
fn signers(&self) -> &RwLock<RawRwLock, Vec<Box<dyn EthSigner>>>
source§fn transaction_by_hash(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<TransactionSource>, EthApiError>> + Send
fn transaction_by_hash( &self, hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<TransactionSource>, EthApiError>> + Send
source§fn transactions_by_block(
&self,
block: FixedBytes<32>,
) -> impl Future<Output = Result<Option<Vec<TransactionSigned>>, EthApiError>> + Send
fn transactions_by_block( &self, block: FixedBytes<32>, ) -> impl Future<Output = Result<Option<Vec<TransactionSigned>>, EthApiError>> + Send
source§fn raw_transaction_by_hash(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<Bytes>, EthApiError>> + Send
fn raw_transaction_by_hash( &self, hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<Bytes>, EthApiError>> + Send
source§fn historical_transaction_by_hash_at(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<(TransactionSource, FixedBytes<32>)>, EthApiError>> + Send
fn historical_transaction_by_hash_at( &self, hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<(TransactionSource, FixedBytes<32>)>, EthApiError>> + Send
source§fn load_transaction_and_receipt(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<(TransactionSigned, TransactionMeta, Receipt)>, EthApiError>> + Sendwhere
Self: 'static,
fn load_transaction_and_receipt(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<(TransactionSigned, TransactionMeta, Receipt)>, EthApiError>> + Sendwhere
Self: 'static,
source§fn send_raw_transaction(
&self,
tx: Bytes,
) -> impl Future<Output = Result<FixedBytes<32>, EthApiError>> + Send
fn send_raw_transaction( &self, tx: Bytes, ) -> impl Future<Output = Result<FixedBytes<32>, EthApiError>> + Send
source§fn sign_request(
&self,
from: &Address,
request: TypedTransactionRequest,
) -> Result<TransactionSigned, EthApiError>
fn sign_request( &self, from: &Address, request: TypedTransactionRequest, ) -> Result<TransactionSigned, EthApiError>
source§fn sign(
&self,
account: Address,
message: Bytes,
) -> impl Future<Output = Result<Bytes, EthApiError>> + Send
fn sign( &self, account: Address, message: Bytes, ) -> impl Future<Output = Result<Bytes, EthApiError>> + Send
source§fn sign_typed_data(
&self,
data: &TypedData,
account: Address,
) -> Result<Bytes, EthApiError>
fn sign_typed_data( &self, data: &TypedData, account: Address, ) -> Result<Bytes, EthApiError>
§impl<Provider, Pool, Network, EvmConfig> LoadBlock for EthApi<Provider, Pool, Network, EvmConfig>where
EthApi<Provider, Pool, Network, EvmConfig>: LoadPendingBlock + SpawnBlocking,
Provider: BlockReaderIdExt,
impl<Provider, Pool, Network, EvmConfig> LoadBlock for EthApi<Provider, Pool, Network, EvmConfig>where
EthApi<Provider, Pool, Network, EvmConfig>: LoadPendingBlock + SpawnBlocking,
Provider: BlockReaderIdExt,
§fn provider(&self) -> impl BlockReaderIdExt
fn provider(&self) -> impl BlockReaderIdExt
§fn cache(&self) -> &EthStateCache
fn cache(&self) -> &EthStateCache
source§fn block(
&self,
block_id: BlockId,
) -> impl Future<Output = Result<Option<SealedBlock>, EthApiError>> + Send
fn block( &self, block_id: BlockId, ) -> impl Future<Output = Result<Option<SealedBlock>, EthApiError>> + Send
source§fn block_with_senders(
&self,
block_id: BlockId,
) -> impl Future<Output = Result<Option<SealedBlockWithSenders>, EthApiError>> + Send
fn block_with_senders( &self, block_id: BlockId, ) -> impl Future<Output = Result<Option<SealedBlockWithSenders>, EthApiError>> + Send
§impl<Provider, Pool, Network, EvmConfig> LoadFee for EthApi<Provider, Pool, Network, EvmConfig>where
EthApi<Provider, Pool, Network, EvmConfig>: LoadBlock,
Provider: BlockReaderIdExt + HeaderProvider + ChainSpecProvider,
impl<Provider, Pool, Network, EvmConfig> LoadFee for EthApi<Provider, Pool, Network, EvmConfig>where
EthApi<Provider, Pool, Network, EvmConfig>: LoadBlock,
Provider: BlockReaderIdExt + HeaderProvider + ChainSpecProvider,
§fn provider(&self) -> impl BlockIdReader + HeaderProvider + ChainSpecProvider
fn provider(&self) -> impl BlockIdReader + HeaderProvider + ChainSpecProvider
§fn cache(&self) -> &EthStateCache
fn cache(&self) -> &EthStateCache
§fn gas_oracle(&self) -> &GasPriceOracle<impl BlockReaderIdExt>
fn gas_oracle(&self) -> &GasPriceOracle<impl BlockReaderIdExt>
§fn fee_history_cache(&self) -> &FeeHistoryCache
fn fee_history_cache(&self) -> &FeeHistoryCache
source§fn legacy_gas_price(
&self,
gas_price: Option<Uint<256, 4>>,
) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send
fn legacy_gas_price( &self, gas_price: Option<Uint<256, 4>>, ) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send
source§fn eip1559_fees(
&self,
max_fee_per_gas: Option<Uint<256, 4>>,
max_priority_fee_per_gas: Option<Uint<256, 4>>,
) -> impl Future<Output = Result<(Uint<256, 4>, Uint<256, 4>), EthApiError>> + Send
fn eip1559_fees( &self, max_fee_per_gas: Option<Uint<256, 4>>, max_priority_fee_per_gas: Option<Uint<256, 4>>, ) -> impl Future<Output = Result<(Uint<256, 4>, Uint<256, 4>), EthApiError>> + Send
source§fn eip4844_blob_fee(
&self,
blob_fee: Option<Uint<256, 4>>,
) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send
fn eip4844_blob_fee( &self, blob_fee: Option<Uint<256, 4>>, ) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send
source§fn gas_price(
&self,
) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send
fn gas_price( &self, ) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send
source§fn blob_base_fee(
&self,
) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send
fn blob_base_fee( &self, ) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send
source§fn suggested_priority_fee(
&self,
) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Sendwhere
Self: 'static,
fn suggested_priority_fee(
&self,
) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Sendwhere
Self: 'static,
§impl<Provider, Pool, Network, EvmConfig> LoadPendingBlock for EthApi<Provider, Pool, Network, EvmConfig>where
EthApi<Provider, Pool, Network, EvmConfig>: SpawnBlocking,
Provider: BlockReaderIdExt + EvmEnvProvider + ChainSpecProvider + StateProviderFactory,
Pool: TransactionPool,
EvmConfig: ConfigureEvm,
impl<Provider, Pool, Network, EvmConfig> LoadPendingBlock for EthApi<Provider, Pool, Network, EvmConfig>where
EthApi<Provider, Pool, Network, EvmConfig>: SpawnBlocking,
Provider: BlockReaderIdExt + EvmEnvProvider + ChainSpecProvider + StateProviderFactory,
Pool: TransactionPool,
EvmConfig: ConfigureEvm,
§fn provider(
&self,
) -> impl BlockReaderIdExt + EvmEnvProvider + ChainSpecProvider + StateProviderFactory
fn provider( &self, ) -> impl BlockReaderIdExt + EvmEnvProvider + ChainSpecProvider + StateProviderFactory
§fn pool(&self) -> impl TransactionPool
fn pool(&self) -> impl TransactionPool
§fn pending_block(&self) -> &Mutex<Option<PendingBlock>>
fn pending_block(&self) -> &Mutex<Option<PendingBlock>>
§fn evm_config(&self) -> &impl ConfigureEvm
fn evm_config(&self) -> &impl ConfigureEvm
§fn assemble_receipt(
&self,
tx: &TransactionSignedEcRecovered,
result: ExecutionResult,
cumulative_gas_used: u64,
) -> Receipt
fn assemble_receipt( &self, tx: &TransactionSignedEcRecovered, result: ExecutionResult, cumulative_gas_used: u64, ) -> Receipt
Receipt
for a transaction, based on its ExecutionResult
.§fn receipts_root(
&self,
_block_env: &BlockEnv,
execution_outcome: &ExecutionOutcome,
block_number: u64,
) -> FixedBytes<32>
fn receipts_root( &self, _block_env: &BlockEnv, execution_outcome: &ExecutionOutcome, block_number: u64, ) -> FixedBytes<32>
source§fn pending_block_env_and_cfg(&self) -> Result<PendingBlockEnv, EthApiError>
fn pending_block_env_and_cfg(&self) -> Result<PendingBlockEnv, EthApiError>
source§fn local_pending_block(
&self,
) -> impl Future<Output = Result<Option<SealedBlockWithSenders>, EthApiError>> + Sendwhere
Self: SpawnBlocking,
fn local_pending_block(
&self,
) -> impl Future<Output = Result<Option<SealedBlockWithSenders>, EthApiError>> + Sendwhere
Self: SpawnBlocking,
source§fn build_block(
&self,
env: PendingBlockEnv,
) -> Result<SealedBlockWithSenders, EthApiError>
fn build_block( &self, env: PendingBlockEnv, ) -> Result<SealedBlockWithSenders, EthApiError>
§impl<Provider, Pool, Network, EvmConfig> LoadReceipt for EthApi<Provider, Pool, Network, EvmConfig>where
EthApi<Provider, Pool, Network, EvmConfig>: Send + Sync,
Provider: BlockIdReader + ChainSpecProvider,
impl<Provider, Pool, Network, EvmConfig> LoadReceipt for EthApi<Provider, Pool, Network, EvmConfig>where
EthApi<Provider, Pool, Network, EvmConfig>: Send + Sync,
Provider: BlockIdReader + ChainSpecProvider,
§fn cache(&self) -> &EthStateCache
fn cache(&self) -> &EthStateCache
§async fn build_transaction_receipt(
&self,
tx: TransactionSigned,
meta: TransactionMeta,
receipt: Receipt,
) -> Result<WithOtherFields<TransactionReceipt<AnyReceiptEnvelope<Log>>>, EthApiError>
async fn build_transaction_receipt( &self, tx: TransactionSigned, meta: TransactionMeta, receipt: Receipt, ) -> Result<WithOtherFields<TransactionReceipt<AnyReceiptEnvelope<Log>>>, EthApiError>
eth_getBlockReceipts
and eth_getTransactionReceipt
.§impl<Provider, Pool, Network, EvmConfig> LoadState for EthApi<Provider, Pool, Network, EvmConfig>where
Provider: StateProviderFactory,
Pool: TransactionPool,
impl<Provider, Pool, Network, EvmConfig> LoadState for EthApi<Provider, Pool, Network, EvmConfig>where
Provider: StateProviderFactory,
Pool: TransactionPool,
§fn provider(&self) -> impl StateProviderFactory
fn provider(&self) -> impl StateProviderFactory
§fn cache(&self) -> &EthStateCache
fn cache(&self) -> &EthStateCache
§fn pool(&self) -> impl TransactionPool
fn pool(&self) -> impl TransactionPool
source§fn state_at_hash(
&self,
block_hash: FixedBytes<32>,
) -> Result<Box<dyn StateProvider>, EthApiError>
fn state_at_hash( &self, block_hash: FixedBytes<32>, ) -> Result<Box<dyn StateProvider>, EthApiError>
source§fn state_at_block_id(
&self,
at: BlockId,
) -> Result<Box<dyn StateProvider>, EthApiError>
fn state_at_block_id( &self, at: BlockId, ) -> Result<Box<dyn StateProvider>, EthApiError>
source§fn latest_state(&self) -> Result<Box<dyn StateProvider>, EthApiError>
fn latest_state(&self) -> Result<Box<dyn StateProvider>, EthApiError>
source§fn state_at_block_id_or_latest(
&self,
block_id: Option<BlockId>,
) -> Result<Box<dyn StateProvider>, EthApiError>
fn state_at_block_id_or_latest( &self, block_id: Option<BlockId>, ) -> Result<Box<dyn StateProvider>, EthApiError>
§impl<Provider, Pool, Network, EvmConfig> LoadTransaction for EthApi<Provider, Pool, Network, EvmConfig>where
EthApi<Provider, Pool, Network, EvmConfig>: SpawnBlocking,
Provider: TransactionsProvider,
Pool: TransactionPool,
impl<Provider, Pool, Network, EvmConfig> LoadTransaction for EthApi<Provider, Pool, Network, EvmConfig>where
EthApi<Provider, Pool, Network, EvmConfig>: SpawnBlocking,
Provider: TransactionsProvider,
Pool: TransactionPool,
§type Pool = Pool
type Pool = Pool
TransactionPool::Transaction
is the
supported transaction type.§fn provider(&self) -> impl TransactionsProvider
fn provider(&self) -> impl TransactionsProvider
§fn cache(&self) -> &EthStateCache
fn cache(&self) -> &EthStateCache
§fn pool(
&self,
) -> &<EthApi<Provider, Pool, Network, EvmConfig> as LoadTransaction>::Pool
fn pool( &self, ) -> &<EthApi<Provider, Pool, Network, EvmConfig> as LoadTransaction>::Pool
source§fn transaction_by_hash(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<TransactionSource>, EthApiError>> + Send
fn transaction_by_hash( &self, hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<TransactionSource>, EthApiError>> + Send
source§fn transaction_by_hash_at(
&self,
transaction_hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<(TransactionSource, BlockId)>, EthApiError>> + Send
fn transaction_by_hash_at( &self, transaction_hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<(TransactionSource, BlockId)>, EthApiError>> + Send
source§fn transaction_and_block(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<(TransactionSource, SealedBlockWithSenders)>, EthApiError>> + Send
fn transaction_and_block( &self, hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<(TransactionSource, SealedBlockWithSenders)>, EthApiError>> + Send
§impl<Provider, Pool, Network, EvmConfig> SpawnBlocking for EthApi<Provider, Pool, Network, EvmConfig>
impl<Provider, Pool, Network, EvmConfig> SpawnBlocking for EthApi<Provider, Pool, Network, EvmConfig>
§fn io_task_spawner(&self) -> impl TaskSpawner
fn io_task_spawner(&self) -> impl TaskSpawner
§fn tracing_task_pool(&self) -> &BlockingTaskPool
fn tracing_task_pool(&self) -> &BlockingTaskPool
source§fn spawn_blocking_io<F, R>(
&self,
f: F,
) -> impl Future<Output = Result<R, EthApiError>> + Send
fn spawn_blocking_io<F, R>( &self, f: F, ) -> impl Future<Output = Result<R, EthApiError>> + Send
source§fn spawn_tracing<F, R>(
&self,
f: F,
) -> impl Future<Output = Result<R, EthApiError>> + Send
fn spawn_tracing<F, R>( &self, f: F, ) -> impl Future<Output = Result<R, EthApiError>> + Send
§impl<Provider, Pool, Network, EvmConfig> Trace for EthApi<Provider, Pool, Network, EvmConfig>
impl<Provider, Pool, Network, EvmConfig> Trace for EthApi<Provider, Pool, Network, EvmConfig>
§fn evm_config(&self) -> &impl ConfigureEvm
fn evm_config(&self) -> &impl ConfigureEvm
source§fn inspect<DB, I>(
&self,
db: DB,
env: EnvWithHandlerCfg,
inspector: I,
) -> Result<(ResultAndState, EnvWithHandlerCfg), EthApiError>
fn inspect<DB, I>( &self, db: DB, env: EnvWithHandlerCfg, inspector: I, ) -> Result<(ResultAndState, EnvWithHandlerCfg), EthApiError>
EnvWithHandlerCfg
against the given Database without committing state
changes.source§fn inspect_and_return_db<DB, I>(
&self,
db: DB,
env: EnvWithHandlerCfg,
inspector: I,
) -> Result<(ResultAndState, EnvWithHandlerCfg, DB), EthApiError>
fn inspect_and_return_db<DB, I>( &self, db: DB, env: EnvWithHandlerCfg, inspector: I, ) -> Result<(ResultAndState, EnvWithHandlerCfg, DB), EthApiError>
Auto Trait Implementations§
impl<Provider, Pool, Network, EvmConfig> Freeze for EthApi<Provider, Pool, Network, EvmConfig>
impl<Provider, Pool, Network, EvmConfig> !RefUnwindSafe for EthApi<Provider, Pool, Network, EvmConfig>
impl<Provider, Pool, Network, EvmConfig> Send for EthApi<Provider, Pool, Network, EvmConfig>
impl<Provider, Pool, Network, EvmConfig> Sync for EthApi<Provider, Pool, Network, EvmConfig>
impl<Provider, Pool, Network, EvmConfig> Unpin for EthApi<Provider, Pool, Network, EvmConfig>
impl<Provider, Pool, Network, EvmConfig> !UnwindSafe for EthApi<Provider, Pool, Network, EvmConfig>
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
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 for Twhere
T: FullEthApi,
impl<T> EthApiServer for Twhere
T: FullEthApi,
source§fn protocol_version<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Uint<64, 1>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn protocol_version<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Uint<64, 1>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
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§fn chain_id<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<Uint<64, 1>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn chain_id<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<Uint<64, 1>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_chainId
source§fn block_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
full: bool,
) -> Pin<Box<dyn Future<Output = Result<Option<Rich<Block>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn block_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
full: bool,
) -> Pin<Box<dyn Future<Output = Result<Option<Rich<Block>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getBlockByHash
source§fn block_by_number<'life0, 'async_trait>(
&'life0 self,
number: BlockNumberOrTag,
full: bool,
) -> Pin<Box<dyn Future<Output = Result<Option<Rich<Block>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn block_by_number<'life0, 'async_trait>(
&'life0 self,
number: BlockNumberOrTag,
full: bool,
) -> Pin<Box<dyn Future<Output = Result<Option<Rich<Block>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getBlockByNumber
source§fn block_transaction_count_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<Option<Uint<256, 4>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn block_transaction_count_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<Option<Uint<256, 4>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getBlockTransactionCountByHash
source§fn block_transaction_count_by_number<'life0, 'async_trait>(
&'life0 self,
number: BlockNumberOrTag,
) -> Pin<Box<dyn Future<Output = Result<Option<Uint<256, 4>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn block_transaction_count_by_number<'life0, 'async_trait>(
&'life0 self,
number: BlockNumberOrTag,
) -> Pin<Box<dyn Future<Output = Result<Option<Uint<256, 4>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getBlockTransactionCountByNumber
source§fn block_uncles_count_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<Option<Uint<256, 4>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn block_uncles_count_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<Option<Uint<256, 4>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getUncleCountByBlockHash
source§fn block_uncles_count_by_number<'life0, 'async_trait>(
&'life0 self,
number: BlockNumberOrTag,
) -> Pin<Box<dyn Future<Output = Result<Option<Uint<256, 4>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn block_uncles_count_by_number<'life0, 'async_trait>(
&'life0 self,
number: BlockNumberOrTag,
) -> Pin<Box<dyn Future<Output = Result<Option<Uint<256, 4>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getUncleCountByBlockNumber
source§fn block_receipts<'life0, 'async_trait>(
&'life0 self,
block_id: BlockId,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<WithOtherFields<TransactionReceipt<AnyReceiptEnvelope<Log>>>>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn block_receipts<'life0, 'async_trait>(
&'life0 self,
block_id: BlockId,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<WithOtherFields<TransactionReceipt<AnyReceiptEnvelope<Log>>>>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getBlockReceipts
source§fn uncle_by_block_hash_and_index<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
index: Index,
) -> Pin<Box<dyn Future<Output = Result<Option<Rich<Block>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn uncle_by_block_hash_and_index<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
index: Index,
) -> Pin<Box<dyn Future<Output = Result<Option<Rich<Block>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getUncleByBlockHashAndIndex
source§fn uncle_by_block_number_and_index<'life0, 'async_trait>(
&'life0 self,
number: BlockNumberOrTag,
index: Index,
) -> Pin<Box<dyn Future<Output = Result<Option<Rich<Block>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn uncle_by_block_number_and_index<'life0, 'async_trait>(
&'life0 self,
number: BlockNumberOrTag,
index: Index,
) -> Pin<Box<dyn Future<Output = Result<Option<Rich<Block>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getUncleByBlockNumberAndIndex
source§fn raw_transaction_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<Option<Bytes>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn raw_transaction_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<Option<Bytes>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getRawTransactionByHash
source§fn transaction_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<Option<Transaction>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn transaction_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<Option<Transaction>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getTransactionByHash
source§fn raw_transaction_by_block_hash_and_index<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
index: Index,
) -> Pin<Box<dyn Future<Output = Result<Option<Bytes>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn raw_transaction_by_block_hash_and_index<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
index: Index,
) -> Pin<Box<dyn Future<Output = Result<Option<Bytes>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getRawTransactionByBlockHashAndIndex
source§fn transaction_by_block_hash_and_index<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
index: Index,
) -> Pin<Box<dyn Future<Output = Result<Option<Transaction>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn transaction_by_block_hash_and_index<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
index: Index,
) -> Pin<Box<dyn Future<Output = Result<Option<Transaction>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getTransactionByBlockHashAndIndex
source§fn raw_transaction_by_block_number_and_index<'life0, 'async_trait>(
&'life0 self,
number: BlockNumberOrTag,
index: Index,
) -> Pin<Box<dyn Future<Output = Result<Option<Bytes>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn raw_transaction_by_block_number_and_index<'life0, 'async_trait>(
&'life0 self,
number: BlockNumberOrTag,
index: Index,
) -> Pin<Box<dyn Future<Output = Result<Option<Bytes>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getRawTransactionByBlockNumberAndIndex
source§fn transaction_by_block_number_and_index<'life0, 'async_trait>(
&'life0 self,
number: BlockNumberOrTag,
index: Index,
) -> Pin<Box<dyn Future<Output = Result<Option<Transaction>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn transaction_by_block_number_and_index<'life0, 'async_trait>(
&'life0 self,
number: BlockNumberOrTag,
index: Index,
) -> Pin<Box<dyn Future<Output = Result<Option<Transaction>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getTransactionByBlockNumberAndIndex
source§fn transaction_receipt<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<Option<WithOtherFields<TransactionReceipt<AnyReceiptEnvelope<Log>>>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn transaction_receipt<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<Option<WithOtherFields<TransactionReceipt<AnyReceiptEnvelope<Log>>>>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getTransactionReceipt
source§fn balance<'life0, 'async_trait>(
&'life0 self,
address: Address,
block_number: Option<BlockId>,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn balance<'life0, 'async_trait>(
&'life0 self,
address: Address,
block_number: Option<BlockId>,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getBalance
source§fn storage_at<'life0, 'async_trait>(
&'life0 self,
address: Address,
index: JsonStorageKey,
block_number: Option<BlockId>,
) -> Pin<Box<dyn Future<Output = Result<FixedBytes<32>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn storage_at<'life0, 'async_trait>(
&'life0 self,
address: Address,
index: JsonStorageKey,
block_number: Option<BlockId>,
) -> Pin<Box<dyn Future<Output = Result<FixedBytes<32>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getStorageAt
source§fn transaction_count<'life0, 'async_trait>(
&'life0 self,
address: Address,
block_number: Option<BlockId>,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn transaction_count<'life0, 'async_trait>(
&'life0 self,
address: Address,
block_number: Option<BlockId>,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getTransactionCount
source§fn get_code<'life0, 'async_trait>(
&'life0 self,
address: Address,
block_number: Option<BlockId>,
) -> Pin<Box<dyn Future<Output = Result<Bytes, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn get_code<'life0, 'async_trait>(
&'life0 self,
address: Address,
block_number: Option<BlockId>,
) -> Pin<Box<dyn Future<Output = Result<Bytes, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getCode
source§fn header_by_number<'life0, 'async_trait>(
&'life0 self,
block_number: BlockNumberOrTag,
) -> Pin<Box<dyn Future<Output = Result<Option<Header>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn header_by_number<'life0, 'async_trait>(
&'life0 self,
block_number: BlockNumberOrTag,
) -> Pin<Box<dyn Future<Output = Result<Option<Header>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getHeaderByNumber
source§fn header_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<Option<Header>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn header_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<Option<Header>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getHeaderByHash
source§fn call<'life0, 'async_trait>(
&'life0 self,
request: TransactionRequest,
block_number: Option<BlockId>,
state_overrides: Option<HashMap<Address, AccountOverride>>,
block_overrides: Option<Box<BlockOverrides>>,
) -> Pin<Box<dyn Future<Output = Result<Bytes, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn call<'life0, 'async_trait>(
&'life0 self,
request: TransactionRequest,
block_number: Option<BlockId>,
state_overrides: Option<HashMap<Address, AccountOverride>>,
block_overrides: Option<Box<BlockOverrides>>,
) -> Pin<Box<dyn Future<Output = Result<Bytes, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_call
source§fn call_many<'life0, 'async_trait>(
&'life0 self,
bundle: Bundle,
state_context: Option<StateContext>,
state_override: Option<HashMap<Address, AccountOverride>>,
) -> Pin<Box<dyn Future<Output = Result<Vec<EthCallResponse>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn call_many<'life0, 'async_trait>(
&'life0 self,
bundle: Bundle,
state_context: Option<StateContext>,
state_override: Option<HashMap<Address, AccountOverride>>,
) -> Pin<Box<dyn Future<Output = Result<Vec<EthCallResponse>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_callMany
source§fn create_access_list<'life0, 'async_trait>(
&'life0 self,
request: TransactionRequest,
block_number: Option<BlockId>,
) -> Pin<Box<dyn Future<Output = Result<AccessListWithGasUsed, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn create_access_list<'life0, 'async_trait>(
&'life0 self,
request: TransactionRequest,
block_number: Option<BlockId>,
) -> Pin<Box<dyn Future<Output = Result<AccessListWithGasUsed, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_createAccessList
source§fn estimate_gas<'life0, 'async_trait>(
&'life0 self,
request: TransactionRequest,
block_number: Option<BlockId>,
state_override: Option<HashMap<Address, AccountOverride>>,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn estimate_gas<'life0, 'async_trait>(
&'life0 self,
request: TransactionRequest,
block_number: Option<BlockId>,
state_override: Option<HashMap<Address, AccountOverride>>,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_estimateGas
source§fn gas_price<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn gas_price<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_gasPrice
source§fn max_priority_fee_per_gas<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn max_priority_fee_per_gas<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_maxPriorityFeePerGas
source§fn blob_base_fee<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn blob_base_fee<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_blobBaseFee
source§fn fee_history<'life0, 'async_trait>(
&'life0 self,
block_count: Uint<64, 1>,
newest_block: BlockNumberOrTag,
reward_percentiles: Option<Vec<f64>>,
) -> Pin<Box<dyn Future<Output = Result<FeeHistory, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn fee_history<'life0, 'async_trait>(
&'life0 self,
block_count: Uint<64, 1>,
newest_block: BlockNumberOrTag,
reward_percentiles: Option<Vec<f64>>,
) -> Pin<Box<dyn Future<Output = Result<FeeHistory, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_feeHistory
source§fn is_mining<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn is_mining<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_mining
source§fn hashrate<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn hashrate<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_hashrate
source§fn get_work<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Work, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn get_work<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Work, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getWork
source§fn submit_hashrate<'life0, 'async_trait>(
&'life0 self,
_hashrate: Uint<256, 4>,
_id: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<bool, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn submit_hashrate<'life0, 'async_trait>(
&'life0 self,
_hashrate: Uint<256, 4>,
_id: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<bool, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_submitHashrate
source§fn submit_work<'life0, 'async_trait>(
&'life0 self,
_nonce: FixedBytes<8>,
_pow_hash: FixedBytes<32>,
_mix_digest: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<bool, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn submit_work<'life0, 'async_trait>(
&'life0 self,
_nonce: FixedBytes<8>,
_pow_hash: FixedBytes<32>,
_mix_digest: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<bool, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_submitWork
source§fn send_transaction<'life0, 'async_trait>(
&'life0 self,
request: TransactionRequest,
) -> Pin<Box<dyn Future<Output = Result<FixedBytes<32>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn send_transaction<'life0, 'async_trait>(
&'life0 self,
request: TransactionRequest,
) -> Pin<Box<dyn Future<Output = Result<FixedBytes<32>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_sendTransaction
source§fn send_raw_transaction<'life0, 'async_trait>(
&'life0 self,
tx: Bytes,
) -> Pin<Box<dyn Future<Output = Result<FixedBytes<32>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn send_raw_transaction<'life0, 'async_trait>(
&'life0 self,
tx: Bytes,
) -> Pin<Box<dyn Future<Output = Result<FixedBytes<32>, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_sendRawTransaction
source§fn sign<'life0, 'async_trait>(
&'life0 self,
address: Address,
message: Bytes,
) -> Pin<Box<dyn Future<Output = Result<Bytes, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn sign<'life0, 'async_trait>(
&'life0 self,
address: Address,
message: Bytes,
) -> Pin<Box<dyn Future<Output = Result<Bytes, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_sign
source§fn sign_transaction<'life0, 'async_trait>(
&'life0 self,
_transaction: TransactionRequest,
) -> Pin<Box<dyn Future<Output = Result<Bytes, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn sign_transaction<'life0, 'async_trait>(
&'life0 self,
_transaction: TransactionRequest,
) -> Pin<Box<dyn Future<Output = Result<Bytes, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_signTransaction
source§fn sign_typed_data<'life0, 'async_trait>(
&'life0 self,
address: Address,
data: TypedData,
) -> Pin<Box<dyn Future<Output = Result<Bytes, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn sign_typed_data<'life0, 'async_trait>(
&'life0 self,
address: Address,
data: TypedData,
) -> Pin<Box<dyn Future<Output = Result<Bytes, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_signTypedData
source§fn get_proof<'life0, 'async_trait>(
&'life0 self,
address: Address,
keys: Vec<JsonStorageKey>,
block_number: Option<BlockId>,
) -> Pin<Box<dyn Future<Output = Result<EIP1186AccountProofResponse, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn get_proof<'life0, 'async_trait>(
&'life0 self,
address: Address,
keys: Vec<JsonStorageKey>,
block_number: Option<BlockId>,
) -> Pin<Box<dyn Future<Output = Result<EIP1186AccountProofResponse, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Handler for: eth_getProof
§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> 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> 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> 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> TryConv for T
impl<T> TryConv for T
source§impl<T, K> UpdateRawTxForwarder for T
impl<T, K> UpdateRawTxForwarder for T
source§fn set_eth_raw_transaction_forwarder(
&self,
forwarder: Arc<dyn RawTransactionForwarder>,
)
fn set_eth_raw_transaction_forwarder( &self, forwarder: Arc<dyn RawTransactionForwarder>, )
eth_sendRawTransaction
Read more§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> ⓘ
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> FullEthApi for Twhere
T: EthApiSpec + EthTransactions + EthBlocks + EthState + EthCall + EthFees + Trace + LoadReceipt,
impl<T> FullEthApiServer for T
impl<T> MaybeDebug for Twhere
T: Debug,
impl<T> MaybeSend for Twhere
T: Send,
impl<T> MaybeSendSync for T
impl<T> TraceExt for T
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