Struct reth::rpc::eth::EthApi

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,

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>

Creates a new, shareable instance.

§

impl<Provider, Pool, Network, EvmConfig> EthApi<Provider, Pool, Network, EvmConfig>

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,

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,

§

fn call_gas_limit(&self) -> u64

Returns default gas limit to use for eth_call and tracing RPC methods. Read more
§

fn evm_config(&self) -> &impl ConfigureEvm

Returns a handle for reading evm config. Read more
source§

fn with_state_at_block<F, T>(&self, at: BlockId, f: F) -> Result<T, EthApiError>

Executes the closure with the state that corresponds to the given BlockId.
source§

fn transact<DB>( &self, db: DB, env: EnvWithHandlerCfg, ) -> Result<(ResultAndState, EnvWithHandlerCfg), EthApiError>
where DB: Database, <DB as Database>::Error: Into<EthApiError>,

Executes the 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>> + Send
where F: FnOnce(StateProviderTraitObjWrapper<'_>) -> Result<T, EthApiError> + Send + 'static, T: Send + 'static,

Executes the closure with the state that corresponds to the given BlockId on a new task
source§

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>

Replays all the transactions until the target transaction is found. Read more
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,

Estimates the gas usage of the request with the state. Read more
source§

fn update_estimated_gas_range( &self, result: ExecutionResult, tx_gas_limit: u64, highest_gas_limit: &mut u64, lowest_gas_limit: &mut u64, ) -> Result<(), EthApiError>

Updates the highest and lowest gas limits for binary search based on the execution result. Read more
source§

fn map_out_of_gas_err<S>( &self, env_gas_limit: Uint<256, 4>, env: EnvWithHandlerCfg, db: &mut CacheDB<StateProviderDatabase<S>>, ) -> EthApiError
where S: StateProvider,

Executes the requests again after an out of gas error to check if the error is gas related or not
§

impl<Provider, Pool, Network, EvmConfig> Clone for EthApi<Provider, Pool, Network, EvmConfig>

§

fn clone(&self) -> EthApi<Provider, Pool, Network, EvmConfig>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl<Provider, Pool, Network, EvmConfig> Debug for EthApi<Provider, Pool, Network, EvmConfig>

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<Provider, Pool, Network, EvmConfig> Deref for EthApi<Provider, Pool, Network, EvmConfig>

§

type Target = Arc<EthApiInner<Provider, Pool, Network, EvmConfig>>

The resulting type after dereferencing.
§

fn deref( &self, ) -> &<EthApi<Provider, Pool, Network, EvmConfig> as Deref>::Target

Dereferences the value.
§

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>

Returns the current ethereum protocol version.

Note: This returns an U64, since this should return as hex string.

§

fn chain_id(&self) -> Uint<64, 1>

Returns the chain id

§

fn chain_info(&self) -> Result<ChainInfo, RethError>

Returns the current info for the chain

§

fn sync_status(&self) -> Result<SyncStatus, RethError>

Returns the SyncStatus of the network

§

fn accounts(&self) -> Vec<Address>

Returns a list of addresses owned by provider.
§

fn is_syncing(&self) -> bool

Returns true if the network is undergoing sync.
§

impl<Provider, Pool, Network, EvmConfig> EthBlocks for EthApi<Provider, Pool, Network, EvmConfig>
where EthApi<Provider, Pool, Network, EvmConfig>: LoadBlock, Provider: HeaderProvider,

§

fn provider(&self) -> impl HeaderProvider

Returns a handle for reading data from disk. Read more
source§

fn rpc_block_header( &self, block_id: BlockId, ) -> impl Future<Output = Result<Option<Header>, EthApiError>> + Send

Returns the block header for the given block id.
source§

fn rpc_block( &self, block_id: BlockId, full: bool, ) -> impl Future<Output = Result<Option<Rich<Block>>, EthApiError>> + Send

Returns the populated rpc block object for the given block id. Read more
source§

fn block_transaction_count( &self, block_id: BlockId, ) -> impl Future<Output = Result<Option<usize>, EthApiError>> + Send

Returns the number transactions in the given block. Read more
source§

fn ommers(&self, block_id: BlockId) -> Result<Option<Vec<Header>>, EthApiError>

Returns uncle headers of given block. Read more
source§

fn ommer_by_block_and_index( &self, block_id: BlockId, index: Index, ) -> impl Future<Output = Result<Option<Rich<Block>>, EthApiError>> + Send

Returns uncle block at given index in given block. Read more
§

impl<Provider, Pool, Network, EvmConfig> EthCall for EthApi<Provider, Pool, Network, EvmConfig>
where EthApi<Provider, Pool, Network, EvmConfig>: Call + LoadPendingBlock,

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

Estimate gas needed for execution of the request at the BlockId.
source§

fn call( &self, request: TransactionRequest, block_number: Option<BlockId>, overrides: EvmOverrides, ) -> impl Future<Output = Result<Bytes, EthApiError>> + Send

Executes the call request (eth_call) and returns the output
§

impl<Provider, Pool, Network, EvmConfig> EthFees for EthApi<Provider, Pool, Network, EvmConfig>
where EthApi<Provider, Pool, Network, EvmConfig>: LoadFee,

source§

fn gas_price( &self, ) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send
where Self: LoadBlock,

Returns a suggestion for a gas price for legacy transactions. Read more
source§

fn blob_base_fee( &self, ) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send
where Self: LoadBlock,

Returns a suggestion for a base fee for blob transactions.
source§

fn suggested_priority_fee( &self, ) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send
where Self: 'static,

Returns a suggestion for the priority fee (the tip)
source§

fn fee_history( &self, block_count: u64, newest_block: BlockNumberOrTag, reward_percentiles: Option<Vec<f64>>, ) -> impl Future<Output = Result<FeeHistory, EthApiError>> + Send

Reports the fee history, for the given amount of blocks, up until the given newest block. Read more
source§

fn approximate_percentile( &self, entry: &FeeHistoryEntry, requested_percentile: f64, ) -> u128

Approximates reward at a given percentile for a specific block Based on the configured resolution
§

impl<Provider, Pool, Network, EvmConfig> EthState for EthApi<Provider, Pool, Network, EvmConfig>
where EthApi<Provider, Pool, Network, EvmConfig>: LoadState + SpawnBlocking,

§

fn max_proof_window(&self) -> u64

Returns the maximum number of blocks into the past for generating state proofs.
source§

fn transaction_count( &self, address: Address, block_id: Option<BlockId>, ) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send

Returns the number of transactions sent from an address at the given block identifier. Read more
source§

fn get_code( &self, address: Address, block_id: Option<BlockId>, ) -> impl Future<Output = Result<Bytes, EthApiError>> + Send

Returns code of given account, at given blocknumber.
source§

fn balance( &self, address: Address, block_id: Option<BlockId>, ) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send

Returns balance of given account, at given blocknumber.
source§

fn storage_at( &self, address: Address, index: JsonStorageKey, block_id: Option<BlockId>, ) -> impl Future<Output = Result<FixedBytes<32>, EthApiError>> + Send

Returns values stored of given account, at given blocknumber.
§

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

Returns a handle for reading data from disk. Read more
§

fn raw_tx_forwarder(&self) -> Option<Arc<dyn RawTransactionForwarder>>

Returns a handle for forwarding received raw transactions. Read more
§

fn signers(&self) -> &RwLock<RawRwLock, Vec<Box<dyn EthSigner>>>

Returns a handle for signing data. Read more
source§

fn transaction_by_hash( &self, hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<TransactionSource>, EthApiError>> + Send

Returns the transaction by hash. Read more
source§

fn transactions_by_block( &self, block: FixedBytes<32>, ) -> impl Future<Output = Result<Option<Vec<TransactionSigned>>, EthApiError>> + Send

Get all transactions in the block with the given hash. Read more
source§

fn raw_transaction_by_hash( &self, hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<Bytes>, EthApiError>> + Send

Returns the EIP-2718 encoded transaction by hash. Read more
source§

fn historical_transaction_by_hash_at( &self, hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<(TransactionSource, FixedBytes<32>)>, EthApiError>> + Send

Returns the historical transaction and the block it was mined in
source§

fn load_transaction_and_receipt( &self, hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<(TransactionSigned, TransactionMeta, Receipt)>, EthApiError>> + Send
where Self: 'static,

Helper method that loads a transaction and its receipt.
source§

fn send_raw_transaction( &self, tx: Bytes, ) -> impl Future<Output = Result<FixedBytes<32>, EthApiError>> + Send

Decodes and recovers the transaction and submits it to the pool. Read more
source§

fn sign_request( &self, from: &Address, request: TypedTransactionRequest, ) -> Result<TransactionSigned, EthApiError>

Signs a transaction, with configured signers.
source§

fn sign( &self, account: Address, message: Bytes, ) -> impl Future<Output = Result<Bytes, EthApiError>> + Send

Signs given message. Returns the signature.
source§

fn sign_typed_data( &self, data: &TypedData, account: Address, ) -> Result<Bytes, EthApiError>

Encodes and signs the typed data according EIP-712. Payload must implement Eip712 trait.
source§

fn find_signer( &self, account: &Address, ) -> Result<Box<dyn EthSigner>, SignError>

Returns the signer for the given account, if found in configured signers.
§

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

Data access in default (L1) trait method implementations.
§

fn cache(&self) -> &EthStateCache

Returns a handle for reading data from memory. Read more
source§

fn block( &self, block_id: BlockId, ) -> impl Future<Output = Result<Option<SealedBlock>, EthApiError>> + Send

Returns the block object for the given block id.
source§

fn block_with_senders( &self, block_id: BlockId, ) -> impl Future<Output = Result<Option<SealedBlockWithSenders>, EthApiError>> + Send

Returns the block object for the given block id.
§

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

Data access in default (L1) trait method implementations.
§

fn cache(&self) -> &EthStateCache

Returns a handle for reading data from memory. Read more
§

fn gas_oracle(&self) -> &GasPriceOracle<impl BlockReaderIdExt>

Returns a handle for reading gas price. Read more
§

fn fee_history_cache(&self) -> &FeeHistoryCache

Returns a handle for reading fee history data from memory. Read more
source§

fn legacy_gas_price( &self, gas_price: Option<Uint<256, 4>>, ) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send

Returns the gas price if it is set, otherwise fetches a suggested gas price for legacy transactions.
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

Returns the EIP-1559 fees if they are set, otherwise fetches a suggested gas price for EIP-1559 transactions. Read more
source§

fn eip4844_blob_fee( &self, blob_fee: Option<Uint<256, 4>>, ) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send

Returns the EIP-4844 blob fee if it is set, otherwise fetches a blob fee.
source§

fn gas_price( &self, ) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send

Returns a suggestion for a gas price for legacy transactions. Read more
source§

fn blob_base_fee( &self, ) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send

Returns a suggestion for a base fee for blob transactions.
source§

fn suggested_priority_fee( &self, ) -> impl Future<Output = Result<Uint<256, 4>, EthApiError>> + Send
where Self: 'static,

Returns a suggestion for the priority fee (the tip)
§

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

Returns a handle for reading data from disk. Read more
§

fn pool(&self) -> impl TransactionPool

Returns a handle for reading data from transaction pool. Read more
§

fn pending_block(&self) -> &Mutex<Option<PendingBlock>>

Returns a handle to the pending block. Read more
§

fn evm_config(&self) -> &impl ConfigureEvm

Returns a handle for reading evm config. Read more
§

fn assemble_receipt( &self, tx: &TransactionSignedEcRecovered, result: ExecutionResult, cumulative_gas_used: u64, ) -> Receipt

Assembles a Receipt for a transaction, based on its ExecutionResult.
§

fn receipts_root( &self, _block_env: &BlockEnv, execution_outcome: &ExecutionOutcome, block_number: u64, ) -> FixedBytes<32>

Calculates receipts root in block building. Read more
source§

fn pending_block_env_and_cfg(&self) -> Result<PendingBlockEnv, EthApiError>

Configures the CfgEnvWithHandlerCfg and BlockEnv for the pending block Read more
source§

fn local_pending_block( &self, ) -> impl Future<Output = Result<Option<SealedBlockWithSenders>, EthApiError>> + Send
where Self: SpawnBlocking,

Returns the locally built pending block
source§

fn build_block( &self, env: PendingBlockEnv, ) -> Result<SealedBlockWithSenders, EthApiError>

Builds a pending block using the configured provider and pool. Read more
§

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

Returns a handle for reading data from memory. Read more
§

async fn build_transaction_receipt( &self, tx: TransactionSigned, meta: TransactionMeta, receipt: Receipt, ) -> Result<WithOtherFields<TransactionReceipt<AnyReceiptEnvelope<Log>>>, EthApiError>

Helper method for eth_getBlockReceipts and eth_getTransactionReceipt.
§

impl<Provider, Pool, Network, EvmConfig> LoadState for EthApi<Provider, Pool, Network, EvmConfig>
where Provider: StateProviderFactory, Pool: TransactionPool,

§

fn provider(&self) -> impl StateProviderFactory

Returns a handle for reading state from database. Read more
§

fn cache(&self) -> &EthStateCache

Returns a handle for reading data from memory. Read more
§

fn pool(&self) -> impl TransactionPool

Returns a handle for reading data from transaction pool. Read more
source§

fn state_at_hash( &self, block_hash: FixedBytes<32>, ) -> Result<Box<dyn StateProvider>, EthApiError>

Returns the state at the given block number
source§

fn state_at_block_id( &self, at: BlockId, ) -> Result<Box<dyn StateProvider>, EthApiError>

Returns the state at the given BlockId enum. Read more
source§

fn latest_state(&self) -> Result<Box<dyn StateProvider>, EthApiError>

Returns the latest state
source§

fn state_at_block_id_or_latest( &self, block_id: Option<BlockId>, ) -> Result<Box<dyn StateProvider>, EthApiError>

Returns the state at the given BlockId enum or the latest. Read more
§

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

Transaction pool with pending transactions. TransactionPool::Transaction is the supported transaction type.
§

fn provider(&self) -> impl TransactionsProvider

Returns a handle for reading data from disk. Read more
§

fn cache(&self) -> &EthStateCache

Returns a handle for reading data from memory. Read more
§

fn pool( &self, ) -> &<EthApi<Provider, Pool, Network, EvmConfig> as LoadTransaction>::Pool

Returns a handle for reading data from pool. Read more
source§

fn transaction_by_hash( &self, hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<TransactionSource>, EthApiError>> + Send

Returns the transaction by hash. Read more
source§

fn transaction_by_hash_at( &self, transaction_hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<(TransactionSource, BlockId)>, EthApiError>> + Send

Returns the transaction by including its corresponding BlockId. Read more
source§

fn transaction_and_block( &self, hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<(TransactionSource, SealedBlockWithSenders)>, EthApiError>> + Send

Fetches the transaction and the transaction’s block
§

impl<Provider, Pool, Network, EvmConfig> SpawnBlocking for EthApi<Provider, Pool, Network, EvmConfig>
where EthApi<Provider, Pool, Network, EvmConfig>: Clone + Send + Sync + 'static,

§

fn io_task_spawner(&self) -> impl TaskSpawner

Returns a handle for spawning IO heavy blocking tasks. Read more
§

fn tracing_task_pool(&self) -> &BlockingTaskPool

Returns a handle for spawning CPU heavy blocking tasks. Read more
source§

fn spawn_blocking_io<F, R>( &self, f: F, ) -> impl Future<Output = Result<R, EthApiError>> + Send
where F: FnOnce(Self) -> Result<R, EthApiError> + Send + 'static, R: Send + 'static,

Executes the future on a new blocking task. Read more
source§

fn spawn_tracing<F, R>( &self, f: F, ) -> impl Future<Output = Result<R, EthApiError>> + Send
where F: FnOnce(Self) -> Result<R, EthApiError> + Send + 'static, R: Send + 'static,

Executes a blocking task on the tracing pool. Read more
§

impl<Provider, Pool, Network, EvmConfig> Trace for EthApi<Provider, Pool, Network, EvmConfig>
where EthApi<Provider, Pool, Network, EvmConfig>: LoadState, EvmConfig: ConfigureEvm,

§

fn evm_config(&self) -> &impl ConfigureEvm

Returns a handle for reading evm config. Read more
source§

fn inspect<DB, I>( &self, db: DB, env: EnvWithHandlerCfg, inspector: I, ) -> Result<(ResultAndState, EnvWithHandlerCfg), EthApiError>
where DB: Database, <DB as Database>::Error: Into<EthApiError>, I: GetInspector<DB>,

Executes the 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>
where DB: Database, <DB as Database>::Error: Into<EthApiError>, I: GetInspector<DB>,

Same as inspect but also returns the database again. Read more

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>
where Pool: Sync + Send, Provider: Sync + Send, Network: Sync + Send, EvmConfig: Sync + Send,

§

impl<Provider, Pool, Network, EvmConfig> Sync for EthApi<Provider, Pool, Network, EvmConfig>
where Pool: Sync + Send, Provider: Sync + Send, Network: Sync + Send, EvmConfig: Sync + Send,

§

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> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit #126799)
Performs copy-assignment from self to dst. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
source§

impl<T> DynClone for T
where T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<T> EthApiServer for T
where 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,

Handler for: eth_protocolVersion

source§

fn syncing(&self) -> Result<SyncStatus, ErrorObject<'static>>

Handler for: eth_syncing

source§

fn author<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Address, ErrorObject<'static>>> + Send + 'async_trait>>
where 'life0: 'async_trait, T: 'async_trait,

Handler for: eth_coinbase

source§

fn accounts(&self) -> Result<Vec<Address>, ErrorObject<'static>>

Handler for: eth_accounts

source§

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

Handler for: eth_getProof

source§

fn into_rpc(self) -> RpcModule<Self>

Collects all the methods and subscriptions defined in the trait and adds them into a single RpcModule.
§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> Pipe for T
where T: ?Sized,

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows 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) -> R
where R: 'a,

Mutably borrows 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
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows 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
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows 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
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
§

impl<T> Tap for T

§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .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
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .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
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryClone for T
where T: Clone,

§

fn try_clone(&self) -> Result<T, Error>

Clones self, possibly returning an error.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T, K> UpdateRawTxForwarder for T
where T: Deref<Target = Arc<K>>, K: UpdateRawTxForwarder,

source§

fn set_eth_raw_transaction_forwarder( &self, forwarder: Arc<dyn RawTransactionForwarder>, )

Sets a forwarder for eth_sendRawTransaction Read more
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,

source§

impl<T> FullEthApi for T

source§

impl<T> FullEthApiServer for T

§

impl<T> MaybeDebug for T
where T: Debug,

§

impl<T> MaybeSend for T
where T: Send,

§

impl<T> MaybeSendSync for T

source§

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