pub struct EthereumClient<M> {
pub provider: M,
}
Fields§
§provider: M
Implementations§
Source§impl EthereumClient<HttpProvider>
impl EthereumClient<HttpProvider>
Sourcepub fn new(url: String) -> Result<Self, EthereumServiceError>
pub fn new(url: String) -> Result<Self, EthereumServiceError>
Connects to an existing Ethereum node and creates an EthereumClient
if successful.
Trait Implementations§
Source§impl<M: Clone> Clone for EthereumClient<M>
impl<M: Clone> Clone for EthereumClient<M>
Source§fn clone(&self) -> EthereumClient<M>
fn clone(&self) -> EthereumClient<M>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl EthereumQueries for EthereumClient<HttpProvider>
impl EthereumQueries for EthereumClient<HttpProvider>
type Error = EthereumServiceError
Source§fn get_accounts<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, EthereumServiceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_accounts<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, EthereumServiceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: '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, EthereumServiceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_block_number<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, EthereumServiceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Gets the latest block number of the Ethereum node.
Source§fn get_balance<'life0, 'life1, 'async_trait>(
&'life0 self,
address: &'life1 str,
block_number: u64,
) -> Pin<Box<dyn Future<Output = Result<U256, EthereumServiceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_balance<'life0, 'life1, 'async_trait>(
&'life0 self,
address: &'life1 str,
block_number: u64,
) -> Pin<Box<dyn Future<Output = Result<U256, EthereumServiceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: '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>, EthereumServiceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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>, EthereumServiceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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, EthereumServiceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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, EthereumServiceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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.Auto Trait Implementations§
impl<M> Freeze for EthereumClient<M>where
M: Freeze,
impl<M> RefUnwindSafe for EthereumClient<M>where
M: RefUnwindSafe,
impl<M> Send for EthereumClient<M>where
M: Send,
impl<M> Sync for EthereumClient<M>where
M: Sync,
impl<M> Unpin for EthereumClient<M>where
M: Unpin,
impl<M> UnwindSafe for EthereumClient<M>where
M: UnwindSafe,
Blanket Implementations§
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
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<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
.