pub struct EthereumWallet { /* private fields */ }
Available on crate feature
network
only.Expand description
A wallet capable of signing any transaction for the Ethereum network.
Implementations§
Source§impl EthereumWallet
impl EthereumWallet
Sourcepub fn new<S>(signer: S) -> EthereumWallet
pub fn new<S>(signer: S) -> EthereumWallet
Create a new signer with the given signer as the default signer.
Sourcepub fn register_signer<S>(&mut self, signer: S)
pub fn register_signer<S>(&mut self, signer: S)
Register a new signer on this object. This signer will be used to sign
TransactionRequest
and TypedTransaction
object that specify the
signer’s address in the from
field.
Sourcepub fn register_default_signer<S>(&mut self, signer: S)
pub fn register_default_signer<S>(&mut self, signer: S)
Register a new signer on this object, and set it as the default signer.
This signer will be used to sign TransactionRequest
and
TypedTransaction
objects that do not specify a signer address in the
from
field.
Sourcepub fn default_signer(
&self,
) -> Arc<dyn TxSigner<PrimitiveSignature> + Send + Sync>
pub fn default_signer( &self, ) -> Arc<dyn TxSigner<PrimitiveSignature> + Send + Sync>
Get the default signer.
Sourcepub fn signer_by_address(
&self,
address: Address,
) -> Option<Arc<dyn TxSigner<PrimitiveSignature> + Send + Sync>>
pub fn signer_by_address( &self, address: Address, ) -> Option<Arc<dyn TxSigner<PrimitiveSignature> + Send + Sync>>
Get the signer for the given address.
Trait Implementations§
Source§impl Clone for EthereumWallet
impl Clone for EthereumWallet
Source§fn clone(&self) -> EthereumWallet
fn clone(&self) -> EthereumWallet
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 Debug for EthereumWallet
impl Debug for EthereumWallet
Source§impl Default for EthereumWallet
impl Default for EthereumWallet
Source§fn default() -> EthereumWallet
fn default() -> EthereumWallet
Returns the “default value” for a type. Read more
Source§impl<S> From<S> for EthereumWallet
impl<S> From<S> for EthereumWallet
Source§fn from(signer: S) -> EthereumWallet
fn from(signer: S) -> EthereumWallet
Converts to this type from the input type.
Source§impl NetworkWallet<AnyNetwork> for EthereumWallet
impl NetworkWallet<AnyNetwork> for EthereumWallet
Source§fn default_signer_address(&self) -> Address
fn default_signer_address(&self) -> Address
Get the default signer address. This address should be used
in
NetworkWallet::sign_transaction_from
when no specific signer is
specified.Source§fn has_signer_for(&self, address: &Address) -> bool
fn has_signer_for(&self, address: &Address) -> bool
Return true if the signer contains a credential for the given address.
Source§fn signer_addresses(&self) -> impl Iterator<Item = Address>
fn signer_addresses(&self) -> impl Iterator<Item = Address>
Return an iterator of all signer addresses.
Source§async fn sign_transaction_from(
&self,
sender: Address,
tx: AnyTypedTransaction,
) -> Result<AnyTxEnvelope, Error>
async fn sign_transaction_from( &self, sender: Address, tx: AnyTypedTransaction, ) -> Result<AnyTxEnvelope, Error>
Asynchronously sign an unsigned transaction, with a specified
credential.
Source§fn sign_transaction(
&self,
tx: <N as Network>::UnsignedTx,
) -> impl Send + Future<Output = Result<<N as Network>::TxEnvelope, Error>>
fn sign_transaction( &self, tx: <N as Network>::UnsignedTx, ) -> impl Send + Future<Output = Result<<N as Network>::TxEnvelope, Error>>
Asynchronously sign an unsigned transaction.
Source§fn sign_request(
&self,
request: <N as Network>::TransactionRequest,
) -> impl Send + Future<Output = Result<<N as Network>::TxEnvelope, Error>>
fn sign_request( &self, request: <N as Network>::TransactionRequest, ) -> impl Send + Future<Output = Result<<N as Network>::TxEnvelope, Error>>
Asynchronously sign a transaction request, using the sender specified
in the
from
field.Source§impl<N> NetworkWallet<N> for EthereumWallet
impl<N> NetworkWallet<N> for EthereumWallet
Source§fn default_signer_address(&self) -> Address
fn default_signer_address(&self) -> Address
Get the default signer address. This address should be used
in
NetworkWallet::sign_transaction_from
when no specific signer is
specified.Source§fn has_signer_for(&self, address: &Address) -> bool
fn has_signer_for(&self, address: &Address) -> bool
Return true if the signer contains a credential for the given address.
Source§fn signer_addresses(&self) -> impl Iterator<Item = Address>
fn signer_addresses(&self) -> impl Iterator<Item = Address>
Return an iterator of all signer addresses.
Source§async fn sign_transaction_from(
&self,
sender: Address,
tx: TypedTransaction,
) -> Result<TxEnvelope, Error>
async fn sign_transaction_from( &self, sender: Address, tx: TypedTransaction, ) -> Result<TxEnvelope, Error>
Asynchronously sign an unsigned transaction, with a specified
credential.
Source§fn sign_transaction(
&self,
tx: <N as Network>::UnsignedTx,
) -> impl Send + Future<Output = Result<<N as Network>::TxEnvelope, Error>>
fn sign_transaction( &self, tx: <N as Network>::UnsignedTx, ) -> impl Send + Future<Output = Result<<N as Network>::TxEnvelope, Error>>
Asynchronously sign an unsigned transaction.
Source§fn sign_request(
&self,
request: <N as Network>::TransactionRequest,
) -> impl Send + Future<Output = Result<<N as Network>::TxEnvelope, Error>>
fn sign_request( &self, request: <N as Network>::TransactionRequest, ) -> impl Send + Future<Output = Result<<N as Network>::TxEnvelope, Error>>
Asynchronously sign a transaction request, using the sender specified
in the
from
field.Source§impl NetworkWallet<Optimism> for EthereumWallet
impl NetworkWallet<Optimism> for EthereumWallet
Source§fn default_signer_address(&self) -> Address
fn default_signer_address(&self) -> Address
Get the default signer address. This address should be used
in
NetworkWallet::sign_transaction_from
when no specific signer is
specified.Source§fn has_signer_for(&self, address: &Address) -> bool
fn has_signer_for(&self, address: &Address) -> bool
Return true if the signer contains a credential for the given address.
Source§fn signer_addresses(&self) -> impl Iterator<Item = Address>
fn signer_addresses(&self) -> impl Iterator<Item = Address>
Return an iterator of all signer addresses.
Source§async fn sign_transaction_from(
&self,
sender: Address,
tx: OpTypedTransaction,
) -> Result<OpTxEnvelope, Error>
async fn sign_transaction_from( &self, sender: Address, tx: OpTypedTransaction, ) -> Result<OpTxEnvelope, Error>
Asynchronously sign an unsigned transaction, with a specified
credential.
Source§fn sign_transaction(
&self,
tx: <N as Network>::UnsignedTx,
) -> impl Send + Future<Output = Result<<N as Network>::TxEnvelope, Error>>
fn sign_transaction( &self, tx: <N as Network>::UnsignedTx, ) -> impl Send + Future<Output = Result<<N as Network>::TxEnvelope, Error>>
Asynchronously sign an unsigned transaction.
Source§fn sign_request(
&self,
request: <N as Network>::TransactionRequest,
) -> impl Send + Future<Output = Result<<N as Network>::TxEnvelope, Error>>
fn sign_request( &self, request: <N as Network>::TransactionRequest, ) -> impl Send + Future<Output = Result<<N as Network>::TxEnvelope, Error>>
Asynchronously sign a transaction request, using the sender specified
in the
from
field.Auto Trait Implementations§
impl Freeze for EthereumWallet
impl !RefUnwindSafe for EthereumWallet
impl Send for EthereumWallet
impl Sync for EthereumWallet
impl Unpin for EthereumWallet
impl !UnwindSafe for EthereumWallet
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