pub struct Eth<B: BlockT, C, P, CT, BE, A: ChainApi, CIDP, EC> { /* private fields */ }
Expand description
Eth API implementation.
Implementations§
source§impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where
B: BlockT,
C: ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static,
C::Api: EthereumRuntimeRPCApi<B>,
BE: Backend<B> + 'static,
A: ChainApi<Block = B>,
impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where
B: BlockT,
C: ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static,
C::Api: EthereumRuntimeRPCApi<B>,
BE: Backend<B> + 'static,
A: ChainApi<Block = B>,
pub async fn block_by_hash( &self, hash: H256, full: bool ) -> RpcResult<Option<RichBlock>>
pub async fn block_by_number( &self, number_or_hash: BlockNumberOrHash, full: bool ) -> RpcResult<Option<RichBlock>>
pub async fn block_transaction_count_by_hash( &self, hash: H256 ) -> RpcResult<Option<U256>>
pub async fn block_transaction_count_by_number( &self, number_or_hash: BlockNumberOrHash ) -> RpcResult<Option<U256>>
pub async fn block_transaction_receipts( &self, number_or_hash: BlockNumberOrHash ) -> RpcResult<Option<Vec<Receipt>>>
pub fn block_uncles_count_by_hash(&self, _: H256) -> RpcResult<U256>
pub fn block_uncles_count_by_number( &self, _: BlockNumberOrHash ) -> RpcResult<U256>
pub fn uncle_by_block_hash_and_index( &self, _: H256, _: Index ) -> RpcResult<Option<RichBlock>>
pub fn uncle_by_block_number_and_index( &self, _: BlockNumberOrHash, _: Index ) -> RpcResult<Option<RichBlock>>
source§impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where
B: BlockT,
C: ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static,
C::Api: EthereumRuntimeRPCApi<B>,
BE: Backend<B>,
A: ChainApi<Block = B>,
impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where
B: BlockT,
C: ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static,
C::Api: EthereumRuntimeRPCApi<B>,
BE: Backend<B>,
A: ChainApi<Block = B>,
pub fn protocol_version(&self) -> RpcResult<u64>
pub async fn syncing(&self) -> RpcResult<SyncStatus>
pub fn accounts(&self) -> RpcResult<Vec<H160>>
pub fn block_number(&self) -> RpcResult<U256>
pub fn chain_id(&self) -> RpcResult<Option<U64>>
source§impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where
B: BlockT,
C: CallApiAt<B> + ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static,
C::Api: BlockBuilderApi<B> + EthereumRuntimeRPCApi<B>,
BE: Backend<B> + 'static,
A: ChainApi<Block = B>,
CIDP: CreateInherentDataProviders<B, ()> + Send + 'static,
EC: EthConfig<B, C>,
impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where
B: BlockT,
C: CallApiAt<B> + ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static,
C::Api: BlockBuilderApi<B> + EthereumRuntimeRPCApi<B>,
BE: Backend<B> + 'static,
A: ChainApi<Block = B>,
CIDP: CreateInherentDataProviders<B, ()> + Send + 'static,
EC: EthConfig<B, C>,
pub async fn call( &self, request: TransactionRequest, number_or_hash: Option<BlockNumberOrHash>, state_overrides: Option<BTreeMap<H160, CallStateOverride>> ) -> RpcResult<Bytes>
pub async fn estimate_gas( &self, request: TransactionRequest, number_or_hash: Option<BlockNumberOrHash> ) -> RpcResult<U256>
source§impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where
B: BlockT,
C: ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static,
C::Api: EthereumRuntimeRPCApi<B>,
BE: Backend<B> + 'static,
A: ChainApi<Block = B>,
impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where
B: BlockT,
C: ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static,
C::Api: EthereumRuntimeRPCApi<B>,
BE: Backend<B> + 'static,
A: ChainApi<Block = B>,
pub fn gas_price(&self) -> RpcResult<U256>
pub async fn fee_history( &self, block_count: U256, newest_block: BlockNumberOrHash, reward_percentiles: Option<Vec<f64>> ) -> RpcResult<FeeHistory>
pub fn max_priority_fee_per_gas(&self) -> RpcResult<U256>
source§impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where
B: BlockT,
A: ChainApi<Block = B>,
impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where
B: BlockT,
A: ChainApi<Block = B>,
source§impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where
B: BlockT,
C: ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static,
C::Api: BlockBuilderApi<B> + EthereumRuntimeRPCApi<B>,
BE: Backend<B> + 'static,
P: TransactionPool<Block = B> + 'static,
A: ChainApi<Block = B>,
CIDP: CreateInherentDataProviders<B, ()> + Send + 'static,
impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where
B: BlockT,
C: ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static,
C::Api: BlockBuilderApi<B> + EthereumRuntimeRPCApi<B>,
BE: Backend<B> + 'static,
P: TransactionPool<Block = B> + 'static,
A: ChainApi<Block = B>,
CIDP: CreateInherentDataProviders<B, ()> + Send + 'static,
pub async fn balance( &self, address: H160, number_or_hash: Option<BlockNumberOrHash> ) -> RpcResult<U256>
pub async fn storage_at( &self, address: H160, index: U256, number_or_hash: Option<BlockNumberOrHash> ) -> RpcResult<H256>
pub async fn transaction_count( &self, address: H160, number_or_hash: Option<BlockNumberOrHash> ) -> RpcResult<U256>
pub async fn code_at( &self, address: H160, number_or_hash: Option<BlockNumberOrHash> ) -> RpcResult<Bytes>
source§impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where
B: BlockT,
C: ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static,
C::Api: BlockBuilderApi<B> + ConvertTransactionRuntimeApi<B> + EthereumRuntimeRPCApi<B>,
BE: Backend<B> + 'static,
P: TransactionPool<Block = B> + 'static,
CT: ConvertTransaction<<B as BlockT>::Extrinsic> + 'static,
A: ChainApi<Block = B>,
CIDP: CreateInherentDataProviders<B, ()> + Send + 'static,
impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where
B: BlockT,
C: ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static,
C::Api: BlockBuilderApi<B> + ConvertTransactionRuntimeApi<B> + EthereumRuntimeRPCApi<B>,
BE: Backend<B> + 'static,
P: TransactionPool<Block = B> + 'static,
CT: ConvertTransaction<<B as BlockT>::Extrinsic> + 'static,
A: ChainApi<Block = B>,
CIDP: CreateInherentDataProviders<B, ()> + Send + 'static,
pub async fn send_transaction( &self, request: TransactionRequest ) -> RpcResult<H256>
pub async fn send_raw_transaction(&self, bytes: Bytes) -> RpcResult<H256>
source§impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where
B: BlockT,
C: ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static,
C::Api: EthereumRuntimeRPCApi<B>,
BE: Backend<B> + 'static,
A: ChainApi<Block = B>,
impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where
B: BlockT,
C: ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static,
C::Api: EthereumRuntimeRPCApi<B>,
BE: Backend<B> + 'static,
A: ChainApi<Block = B>,
pub async fn transaction_by_hash( &self, hash: H256 ) -> RpcResult<Option<Transaction>>
pub async fn transaction_by_block_hash_and_index( &self, hash: H256, index: Index ) -> RpcResult<Option<Transaction>>
pub async fn transaction_by_block_number_and_index( &self, number: BlockNumberOrHash, index: Index ) -> RpcResult<Option<Transaction>>
pub async fn transaction_receipt( &self, block_info: &BlockInfo<B::Hash>, hash: H256, index: usize ) -> RpcResult<Option<Receipt>>
source§impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where
B: BlockT,
C: ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static,
C::Api: EthereumRuntimeRPCApi<B>,
BE: Backend<B> + 'static,
A: ChainApi<Block = B>,
impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where
B: BlockT,
C: ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static,
C::Api: EthereumRuntimeRPCApi<B>,
BE: Backend<B> + 'static,
A: ChainApi<Block = B>,
pub fn new( client: Arc<C>, pool: Arc<P>, graph: Arc<Pool<A>>, convert_transaction: Option<CT>, sync: Arc<SyncingService<B>>, signers: Vec<Box<dyn EthSigner>>, overrides: Arc<OverrideHandle<B>>, backend: Arc<dyn Backend<B>>, is_authority: bool, block_data_cache: Arc<EthBlockDataCacheTask<B>>, fee_history_cache: FeeHistoryCache, fee_history_cache_limit: FeeHistoryCacheLimit, execute_gas_limit_multiplier: u64, forced_parent_hashes: Option<BTreeMap<H256, H256>>, pending_create_inherent_data_providers: CIDP, pending_consensus_data_provider: Option<Box<dyn ConsensusDataProvider<B>>> ) -> Self
pub async fn block_info_by_number( &self, number_or_hash: BlockNumberOrHash ) -> RpcResult<BlockInfo<B::Hash>>
pub async fn block_info_by_eth_block_hash( &self, eth_block_hash: H256 ) -> RpcResult<BlockInfo<B::Hash>>
pub async fn block_info_by_eth_transaction_hash( &self, ethereum_tx_hash: H256 ) -> RpcResult<(BlockInfo<B::Hash>, usize)>
pub async fn block_info_by_substrate_hash( &self, substrate_hash: B::Hash ) -> RpcResult<BlockInfo<B::Hash>>
Trait Implementations§
source§impl<B, C, P, CT, BE, A, CIDP, EC> EthApiServer for Eth<B, C, P, CT, BE, A, CIDP, EC>where
B: BlockT,
C: CallApiAt<B> + ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static,
C::Api: BlockBuilderApi<B> + ConvertTransactionRuntimeApi<B> + EthereumRuntimeRPCApi<B>,
BE: Backend<B> + 'static,
P: TransactionPool<Block = B> + 'static,
CT: ConvertTransaction<<B as BlockT>::Extrinsic> + Send + Sync + 'static,
A: ChainApi<Block = B> + 'static,
CIDP: CreateInherentDataProviders<B, ()> + Send + 'static,
EC: EthConfig<B, C>,
impl<B, C, P, CT, BE, A, CIDP, EC> EthApiServer for Eth<B, C, P, CT, BE, A, CIDP, EC>where
B: BlockT,
C: CallApiAt<B> + ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static,
C::Api: BlockBuilderApi<B> + ConvertTransactionRuntimeApi<B> + EthereumRuntimeRPCApi<B>,
BE: Backend<B> + 'static,
P: TransactionPool<Block = B> + 'static,
CT: ConvertTransaction<<B as BlockT>::Extrinsic> + Send + Sync + 'static,
A: ChainApi<Block = B> + 'static,
CIDP: CreateInherentDataProviders<B, ()> + Send + 'static,
EC: EthConfig<B, C>,
source§fn protocol_version(&self) -> RpcResult<u64>
fn protocol_version(&self) -> RpcResult<u64>
Returns protocol version encoded as a string (quotes are necessary).
source§fn syncing<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = RpcResult<SyncStatus>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn syncing<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = RpcResult<SyncStatus>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns an object with data about the sync status or false. (wtf?)
Returns block author.
source§fn block_number(&self) -> RpcResult<U256>
fn block_number(&self) -> RpcResult<U256>
Returns highest block number.
source§fn chain_id(&self) -> RpcResult<Option<U64>>
fn chain_id(&self) -> RpcResult<Option<U64>>
Returns the chain ID used for transaction signing at the
current best block. None is returned if not
available.
source§fn block_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: H256,
full: bool
) -> Pin<Box<dyn Future<Output = RpcResult<Option<RichBlock>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn block_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: H256,
full: bool
) -> Pin<Box<dyn Future<Output = RpcResult<Option<RichBlock>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns block with given hash.
source§fn block_by_number<'life0, 'async_trait>(
&'life0 self,
number_or_hash: BlockNumberOrHash,
full: bool
) -> Pin<Box<dyn Future<Output = RpcResult<Option<RichBlock>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn block_by_number<'life0, 'async_trait>(
&'life0 self,
number_or_hash: BlockNumberOrHash,
full: bool
) -> Pin<Box<dyn Future<Output = RpcResult<Option<RichBlock>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns block with given number.
source§fn block_transaction_count_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: H256
) -> Pin<Box<dyn Future<Output = RpcResult<Option<U256>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn block_transaction_count_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: H256
) -> Pin<Box<dyn Future<Output = RpcResult<Option<U256>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns the number of transactions in a block with given hash.
source§fn block_transaction_count_by_number<'life0, 'async_trait>(
&'life0 self,
number_or_hash: BlockNumberOrHash
) -> Pin<Box<dyn Future<Output = RpcResult<Option<U256>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn block_transaction_count_by_number<'life0, 'async_trait>(
&'life0 self,
number_or_hash: BlockNumberOrHash
) -> Pin<Box<dyn Future<Output = RpcResult<Option<U256>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns the number of transactions in a block with given block number.
source§fn block_transaction_receipts<'life0, 'async_trait>(
&'life0 self,
number_or_hash: BlockNumberOrHash
) -> Pin<Box<dyn Future<Output = RpcResult<Option<Vec<Receipt>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn block_transaction_receipts<'life0, 'async_trait>(
&'life0 self,
number_or_hash: BlockNumberOrHash
) -> Pin<Box<dyn Future<Output = RpcResult<Option<Vec<Receipt>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns the receipts of a block by number or hash.
source§fn block_uncles_count_by_hash(&self, hash: H256) -> RpcResult<U256>
fn block_uncles_count_by_hash(&self, hash: H256) -> RpcResult<U256>
Returns the number of uncles in a block with given hash.
source§fn block_uncles_count_by_number(
&self,
number_or_hash: BlockNumberOrHash
) -> RpcResult<U256>
fn block_uncles_count_by_number( &self, number_or_hash: BlockNumberOrHash ) -> RpcResult<U256>
Returns the number of uncles in a block with given block number.
source§fn uncle_by_block_hash_and_index(
&self,
hash: H256,
index: Index
) -> RpcResult<Option<RichBlock>>
fn uncle_by_block_hash_and_index( &self, hash: H256, index: Index ) -> RpcResult<Option<RichBlock>>
Returns an uncles at given block and index.
source§fn uncle_by_block_number_and_index(
&self,
number_or_hash: BlockNumberOrHash,
index: Index
) -> RpcResult<Option<RichBlock>>
fn uncle_by_block_number_and_index( &self, number_or_hash: BlockNumberOrHash, index: Index ) -> RpcResult<Option<RichBlock>>
Returns an uncles at given block and index.
source§fn transaction_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: H256
) -> Pin<Box<dyn Future<Output = RpcResult<Option<Transaction>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn transaction_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: H256
) -> Pin<Box<dyn Future<Output = RpcResult<Option<Transaction>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get transaction by its hash.
source§fn transaction_by_block_hash_and_index<'life0, 'async_trait>(
&'life0 self,
hash: H256,
index: Index
) -> Pin<Box<dyn Future<Output = RpcResult<Option<Transaction>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn transaction_by_block_hash_and_index<'life0, 'async_trait>(
&'life0 self,
hash: H256,
index: Index
) -> Pin<Box<dyn Future<Output = RpcResult<Option<Transaction>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns transaction at given block hash and index.
source§fn transaction_by_block_number_and_index<'life0, 'async_trait>(
&'life0 self,
number_or_hash: BlockNumberOrHash,
index: Index
) -> Pin<Box<dyn Future<Output = RpcResult<Option<Transaction>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn transaction_by_block_number_and_index<'life0, 'async_trait>(
&'life0 self,
number_or_hash: BlockNumberOrHash,
index: Index
) -> Pin<Box<dyn Future<Output = RpcResult<Option<Transaction>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns transaction by given block number and index.
source§fn transaction_receipt<'life0, 'async_trait>(
&'life0 self,
hash: H256
) -> Pin<Box<dyn Future<Output = RpcResult<Option<Receipt>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn transaction_receipt<'life0, 'async_trait>(
&'life0 self,
hash: H256
) -> Pin<Box<dyn Future<Output = RpcResult<Option<Receipt>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns transaction receipt by transaction hash.
source§fn balance<'life0, 'async_trait>(
&'life0 self,
address: H160,
number_or_hash: Option<BlockNumberOrHash>
) -> Pin<Box<dyn Future<Output = RpcResult<U256>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn balance<'life0, 'async_trait>(
&'life0 self,
address: H160,
number_or_hash: Option<BlockNumberOrHash>
) -> Pin<Box<dyn Future<Output = RpcResult<U256>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns balance of the given account.
source§fn storage_at<'life0, 'async_trait>(
&'life0 self,
address: H160,
index: U256,
number_or_hash: Option<BlockNumberOrHash>
) -> Pin<Box<dyn Future<Output = RpcResult<H256>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn storage_at<'life0, 'async_trait>(
&'life0 self,
address: H160,
index: U256,
number_or_hash: Option<BlockNumberOrHash>
) -> Pin<Box<dyn Future<Output = RpcResult<H256>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns content of the storage at given address.
source§fn transaction_count<'life0, 'async_trait>(
&'life0 self,
address: H160,
number_or_hash: Option<BlockNumberOrHash>
) -> Pin<Box<dyn Future<Output = RpcResult<U256>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn transaction_count<'life0, 'async_trait>(
&'life0 self,
address: H160,
number_or_hash: Option<BlockNumberOrHash>
) -> Pin<Box<dyn Future<Output = RpcResult<U256>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns the number of transactions sent from given address at given time (block number).
source§fn code_at<'life0, 'async_trait>(
&'life0 self,
address: H160,
number_or_hash: Option<BlockNumberOrHash>
) -> Pin<Box<dyn Future<Output = RpcResult<Bytes>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn code_at<'life0, 'async_trait>(
&'life0 self,
address: H160,
number_or_hash: Option<BlockNumberOrHash>
) -> Pin<Box<dyn Future<Output = RpcResult<Bytes>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns the code at given address at given time (block number).
source§fn call<'life0, 'async_trait>(
&'life0 self,
request: TransactionRequest,
number_or_hash: Option<BlockNumberOrHash>,
state_overrides: Option<BTreeMap<H160, CallStateOverride>>
) -> Pin<Box<dyn Future<Output = RpcResult<Bytes>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn call<'life0, 'async_trait>(
&'life0 self,
request: TransactionRequest,
number_or_hash: Option<BlockNumberOrHash>,
state_overrides: Option<BTreeMap<H160, CallStateOverride>>
) -> Pin<Box<dyn Future<Output = RpcResult<Bytes>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Call contract, returning the output data.
source§fn estimate_gas<'life0, 'async_trait>(
&'life0 self,
request: TransactionRequest,
number_or_hash: Option<BlockNumberOrHash>
) -> Pin<Box<dyn Future<Output = RpcResult<U256>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn estimate_gas<'life0, 'async_trait>(
&'life0 self,
request: TransactionRequest,
number_or_hash: Option<BlockNumberOrHash>
) -> Pin<Box<dyn Future<Output = RpcResult<U256>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Estimate gas needed for execution of given contract.
source§fn fee_history<'life0, 'async_trait>(
&'life0 self,
block_count: U256,
newest_block: BlockNumberOrHash,
reward_percentiles: Option<Vec<f64>>
) -> Pin<Box<dyn Future<Output = RpcResult<FeeHistory>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fee_history<'life0, 'async_trait>(
&'life0 self,
block_count: U256,
newest_block: BlockNumberOrHash,
reward_percentiles: Option<Vec<f64>>
) -> Pin<Box<dyn Future<Output = RpcResult<FeeHistory>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Introduced in EIP-1159 for getting information on the appropriate priority fee to use.
source§fn max_priority_fee_per_gas(&self) -> RpcResult<U256>
fn max_priority_fee_per_gas(&self) -> RpcResult<U256>
Introduced in EIP-1159, a Geth-specific and simplified priority fee oracle.
Leverages the already existing fee history cache.
source§fn hashrate(&self) -> RpcResult<U256>
fn hashrate(&self) -> RpcResult<U256>
Returns the number of hashes per second that the node is mining with.
source§fn work(&self) -> RpcResult<Work>
fn work(&self) -> RpcResult<Work>
Returns the hash of the current block, the seedHash, and the boundary condition to be met.
source§fn submit_hashrate(&self, hashrate: U256, id: H256) -> RpcResult<bool>
fn submit_hashrate(&self, hashrate: U256, id: H256) -> RpcResult<bool>
Used for submitting mining hashrate.
source§fn submit_work(
&self,
nonce: H64,
pow_hash: H256,
mix_digest: H256
) -> RpcResult<bool>
fn submit_work( &self, nonce: H64, pow_hash: H256, mix_digest: H256 ) -> RpcResult<bool>
Used for submitting a proof-of-work solution.
source§fn send_transaction<'life0, 'async_trait>(
&'life0 self,
request: TransactionRequest
) -> Pin<Box<dyn Future<Output = RpcResult<H256>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn send_transaction<'life0, 'async_trait>(
&'life0 self,
request: TransactionRequest
) -> Pin<Box<dyn Future<Output = RpcResult<H256>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Sends transaction; will block waiting for signer to return the
transaction hash.
Auto Trait Implementations§
impl<B, C, P, CT, BE, A, CIDP, EC> !RefUnwindSafe for Eth<B, C, P, CT, BE, A, CIDP, EC>
impl<B, C, P, CT, BE, A, CIDP, EC> Send for Eth<B, C, P, CT, BE, A, CIDP, EC>
impl<B, C, P, CT, BE, A, CIDP, EC> Sync for Eth<B, C, P, CT, BE, A, CIDP, EC>
impl<B, C, P, CT, BE, A, CIDP, EC> Unpin for Eth<B, C, P, CT, BE, A, CIDP, EC>
impl<B, C, P, CT, BE, A, CIDP, EC> !UnwindSafe for Eth<B, C, P, CT, BE, A, CIDP, EC>
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
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
Mutably borrows from an owned value. Read more
§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
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> 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>
§impl<T> IsType<T> for T
impl<T> IsType<T> for T
§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T
. Read more§impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
type Error = <U as TryFromKey<T>>::Error
fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>
§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.