Trait EthApiSpec
pub trait EthApiSpec: RpcNodeCorewhere
Self::Provider: ChainSpecProvider + BlockNumReader + StageCheckpointReader,
<Self::Provider as ChainSpecProvider>::ChainSpec: EthereumHardforks,
Self::Network: NetworkInfo,{
// Required methods
fn starting_block(&self) -> Uint<256, 4>;
fn signers(&self) -> &RwLock<RawRwLock, Vec<Box<dyn EthSigner>>>;
// 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> { ... }
}
Expand description
Eth
API trait.
Defines core functionality of the eth
API implementation.
Required Methods§
fn starting_block(&self) -> Uint<256, 4>
fn starting_block(&self) -> Uint<256, 4>
Returns the block node is started on.
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_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.