Trait EthApiSpec
pub trait EthApiSpec: RpcNodeCorewhere
Self::Provider: ChainSpecProvider + BlockNumReader + StageCheckpointReader,
<Self::Provider as ChainSpecProvider>::ChainSpec: EthereumHardforks,
Self::Network: NetworkInfo,{
type Transaction;
// Required methods
fn starting_block(&self) -> Uint<256, 4>;
fn signers(
&self,
) -> &RwLock<RawRwLock, Vec<Box<dyn EthSigner<Self::Transaction>>>>;
// Provided methods
fn protocol_version(
&self,
) -> impl Future<Output = Result<Uint<64, 1>, RethError>> + Send { ... }
fn chain_id(&self) -> Uint<64, 1> { ... }
fn chain_info(&self) -> Result<ChainInfo, RethError> { ... }
fn accounts(&self) -> Vec<Address> { ... }
fn is_syncing(&self) -> bool { ... }
fn sync_status(&self) -> Result<SyncStatus, RethError> { ... }
}
Available on crate feature
rpc
only.Expand description
Eth
API trait.
Defines core functionality of the eth
API implementation.
Required Associated Types§
type Transaction
type Transaction
The transaction type signers are using.
Required Methods§
fn starting_block(&self) -> Uint<256, 4>
fn starting_block(&self) -> Uint<256, 4>
Returns the block node is started on.
fn signers(
&self,
) -> &RwLock<RawRwLock, Vec<Box<dyn EthSigner<Self::Transaction>>>>
fn signers( &self, ) -> &RwLock<RawRwLock, Vec<Box<dyn EthSigner<Self::Transaction>>>>
Returns a handle to the signers owned by provider.
Provided Methods§
fn protocol_version(
&self,
) -> impl Future<Output = Result<Uint<64, 1>, RethError>> + Send
fn protocol_version( &self, ) -> impl Future<Output = Result<Uint<64, 1>, RethError>> + Send
Returns the current ethereum protocol version.
fn chain_id(&self) -> Uint<64, 1>
fn chain_id(&self) -> Uint<64, 1>
Returns the chain id
fn chain_info(&self) -> Result<ChainInfo, RethError>
fn chain_info(&self) -> Result<ChainInfo, RethError>
Returns provider chain info
fn is_syncing(&self) -> bool
fn is_syncing(&self) -> bool
Returns true
if the network is undergoing sync.
fn sync_status(&self) -> Result<SyncStatus, RethError>
fn sync_status(&self) -> Result<SyncStatus, RethError>
Returns the SyncStatus
of the network
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.