pub struct EvmAdapter { /* private fields */ }Expand description
EVM chain adapter implementation
Implementations§
Trait Implementations§
Source§impl ChainAdapter for EvmAdapter
impl ChainAdapter for EvmAdapter
Source§fn native_symbol(&self) -> &str
fn native_symbol(&self) -> &str
Get the native currency symbol
Source§fn native_decimals(&self) -> u8
fn native_decimals(&self) -> u8
Get the native currency decimals
Source§fn get_balance<'life0, 'life1, 'async_trait>(
&'life0 self,
address: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Balance>> + 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,
) -> Pin<Box<dyn Future<Output = Result<Balance>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get the native balance for an address
Source§fn get_nonce<'life0, 'life1, 'async_trait>(
&'life0 self,
address: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_nonce<'life0, 'life1, 'async_trait>(
&'life0 self,
address: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get the current nonce/sequence for an address
Source§fn build_transaction<'life0, 'async_trait>(
&'life0 self,
params: TxParams,
) -> Pin<Box<dyn Future<Output = Result<UnsignedTx>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn build_transaction<'life0, 'async_trait>(
&'life0 self,
params: TxParams,
) -> Pin<Box<dyn Future<Output = Result<UnsignedTx>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Build an unsigned transaction
Source§fn broadcast<'life0, 'life1, 'async_trait>(
&'life0 self,
signed_tx: &'life1 SignedTx,
) -> Pin<Box<dyn Future<Output = Result<TxHash>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn broadcast<'life0, 'life1, 'async_trait>(
&'life0 self,
signed_tx: &'life1 SignedTx,
) -> Pin<Box<dyn Future<Output = Result<TxHash>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Broadcast a signed transaction
Source§fn derive_address(&self, public_key: &[u8]) -> Result<String>
fn derive_address(&self, public_key: &[u8]) -> Result<String>
Derive address from public key bytes
Source§fn get_gas_prices<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<GasPrices>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_gas_prices<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<GasPrices>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get current gas prices (for EVM) or priority fees (for Solana)
Source§fn estimate_gas<'life0, 'life1, 'async_trait>(
&'life0 self,
params: &'life1 TxParams,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn estimate_gas<'life0, 'life1, 'async_trait>(
&'life0 self,
params: &'life1 TxParams,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Estimate gas for a transaction
Source§fn wait_for_confirmation<'life0, 'life1, 'async_trait>(
&'life0 self,
tx_hash: &'life1 str,
timeout_secs: u64,
) -> Pin<Box<dyn Future<Output = Result<TxReceipt>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn wait_for_confirmation<'life0, 'life1, 'async_trait>(
&'life0 self,
tx_hash: &'life1 str,
timeout_secs: u64,
) -> Pin<Box<dyn Future<Output = Result<TxReceipt>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Wait for transaction confirmation
Source§fn is_valid_address(&self, address: &str) -> bool
fn is_valid_address(&self, address: &str) -> bool
Check if an address is valid for this chain
Source§fn explorer_tx_url(&self, tx_hash: &str) -> Option<String>
fn explorer_tx_url(&self, tx_hash: &str) -> Option<String>
Get the explorer URL for a transaction
Source§fn explorer_address_url(&self, address: &str) -> Option<String>
fn explorer_address_url(&self, address: &str) -> Option<String>
Get the explorer URL for an address
Source§fn finalize_transaction(
&self,
unsigned_tx: &UnsignedTx,
signature: &Signature,
) -> Result<SignedTx>
fn finalize_transaction( &self, unsigned_tx: &UnsignedTx, signature: &Signature, ) -> Result<SignedTx>
Finalize a transaction with signature (chain-specific encoding)
Source§impl Clone for EvmAdapter
impl Clone for EvmAdapter
Source§fn clone(&self) -> EvmAdapter
fn clone(&self) -> EvmAdapter
Returns a duplicate 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 moreAuto Trait Implementations§
impl Freeze for EvmAdapter
impl !RefUnwindSafe for EvmAdapter
impl Send for EvmAdapter
impl Sync for EvmAdapter
impl Unpin for EvmAdapter
impl !UnwindSafe for EvmAdapter
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<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 more