pub struct EthereumClientSimplified {
pub url: String,
pub id: Mutex<u64>,
}Expand description
The Ethereum endpoint and its provider used for accessing the Ethereum node.
Fields§
§url: StringThe URL of the Ethereum node.
id: Mutex<u64>The counter used to generate JSON-RPC request IDs.
Implementations§
Trait Implementations§
Source§impl JsonRpcClient for EthereumClientSimplified
impl JsonRpcClient for EthereumClientSimplified
Source§type Error = EthereumServiceError
type Error = EthereumServiceError
The error type returned by the client’s requests.
Source§fn get_id<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = u64> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_id<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = u64> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Gets a new ID for the next message.
Source§fn request_inner<'life0, 'async_trait>(
&'life0 self,
payload: Vec<u8>,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn request_inner<'life0, 'async_trait>(
&'life0 self,
payload: Vec<u8>,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
The inner function that has to be implemented and access the client
Auto Trait Implementations§
impl !Freeze for EthereumClientSimplified
impl !RefUnwindSafe for EthereumClientSimplified
impl Send for EthereumClientSimplified
impl Sync for EthereumClientSimplified
impl Unpin for EthereumClientSimplified
impl UnsafeUnpin for EthereumClientSimplified
impl UnwindSafe for EthereumClientSimplified
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<C> EthereumQueries for C
impl<C> EthereumQueries for C
Source§type Error = EthereumServiceError
type Error = EthereumServiceError
The error type returned by the queries.
Source§fn get_accounts<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, <C as EthereumQueries>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: 'async_trait,
fn get_accounts<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, <C as EthereumQueries>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: 'async_trait,
Lists all the accounts of the Ethereum node.
Source§fn get_block_number<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, <C as EthereumQueries>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: 'async_trait,
fn get_block_number<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, <C as EthereumQueries>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: 'async_trait,
Gets the latest block number of the Ethereum node.
Source§fn get_chain_id<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, <C as EthereumQueries>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: 'async_trait,
fn get_chain_id<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, <C as EthereumQueries>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: 'async_trait,
Returns the chain ID reported by the connected EVM node.
Source§fn get_balance<'life0, 'life1, 'async_trait>(
&'life0 self,
address: &'life1 str,
block_number: u64,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, <C as EthereumQueries>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
C: 'async_trait,
fn get_balance<'life0, 'life1, 'async_trait>(
&'life0 self,
address: &'life1 str,
block_number: u64,
) -> Pin<Box<dyn Future<Output = Result<Uint<256, 4>, <C as EthereumQueries>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
C: 'async_trait,
Gets the balance of the specified address at the specified block number.
if no block number is specified then the balance of the latest block is
returned.
Source§fn read_events<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
contract_address: &'life1 str,
event_name_expanded: &'life2 str,
from_block: u64,
to_block: u64,
) -> Pin<Box<dyn Future<Output = Result<Vec<EthereumEvent>, <C as EthereumQueries>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
C: 'async_trait,
fn read_events<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
contract_address: &'life1 str,
event_name_expanded: &'life2 str,
from_block: u64,
to_block: u64,
) -> Pin<Box<dyn Future<Output = Result<Vec<EthereumEvent>, <C as EthereumQueries>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
C: 'async_trait,
Reads the events of the smart contract. Read more
Source§fn non_executive_call<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
contract_address: &'life1 str,
data: Bytes,
from: &'life2 str,
block: u64,
) -> Pin<Box<dyn Future<Output = Result<Bytes, <C as EthereumQueries>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
C: 'async_trait,
fn non_executive_call<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
contract_address: &'life1 str,
data: Bytes,
from: &'life2 str,
block: u64,
) -> Pin<Box<dyn Future<Output = Result<Bytes, <C as EthereumQueries>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
C: 'async_trait,
The operation done with
eth_call on Ethereum returns
a result but are not committed to the blockchain. This can be useful for example
for executing function that are const and allow to inspect
the contract without modifying it.Source§fn is_block_hash_finalized<'life0, 'async_trait>(
&'life0 self,
block_hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<bool, <C as EthereumQueries>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: 'async_trait,
fn is_block_hash_finalized<'life0, 'async_trait>(
&'life0 self,
block_hash: FixedBytes<32>,
) -> Pin<Box<dyn Future<Output = Result<bool, <C as EthereumQueries>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: 'async_trait,
Checks whether a block hash is finalized and canonical on the EVM chain. Read more
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>
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 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>
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.
Source§impl<T> MockResults for T
impl<T> MockResults for T
Source§type Results = T
type Results = T
The mock native type of the results for the
MockInstance.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
impl<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
Source§fn read<'instance>(
&self,
instance: &'instance &mut I,
location: GuestPointer,
length: u32,
) -> Result<Cow<'instance, [u8]>, RuntimeError>
fn read<'instance>( &self, instance: &'instance &mut I, location: GuestPointer, length: u32, ) -> Result<Cow<'instance, [u8]>, RuntimeError>
Reads length bytes from memory from the provided location.
Source§fn write(
&mut self,
instance: &mut &mut I,
location: GuestPointer,
bytes: &[u8],
) -> Result<(), RuntimeError>
fn write( &mut self, instance: &mut &mut I, location: GuestPointer, bytes: &[u8], ) -> Result<(), RuntimeError>
Writes the bytes to memory at the provided location.
Source§impl<T> Upcastable for T
impl<T> Upcastable for T
Source§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
Source§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref