Trait alloy_signer::Signer
source · pub trait Signer<Sig = PrimitiveSignature> {
// Required methods
fn sign_hash<'life0, 'life1, 'async_trait>(
&'life0 self,
hash: &'life1 B256,
) -> Pin<Box<dyn Future<Output = Result<Sig>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn address(&self) -> Address;
fn chain_id(&self) -> Option<ChainId>;
fn set_chain_id(&mut self, chain_id: Option<ChainId>);
// Provided methods
fn sign_message<'life0, 'life1, 'async_trait>(
&'life0 self,
message: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<Sig>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn with_chain_id(self, chain_id: Option<ChainId>) -> Self
where Self: Sized { ... }
}
Expand description
Asynchronous Ethereum signer.
All provided implementations rely on sign_hash
. A signer may not always
be able to implement this method, in which case it should return
UnsupportedOperation
, and implement all the signing
methods directly.
Synchronous signers should implement both this trait and SignerSync
.
Required Methods§
sourcefn sign_hash<'life0, 'life1, 'async_trait>(
&'life0 self,
hash: &'life1 B256,
) -> Pin<Box<dyn Future<Output = Result<Sig>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn sign_hash<'life0, 'life1, 'async_trait>(
&'life0 self,
hash: &'life1 B256,
) -> Pin<Box<dyn Future<Output = Result<Sig>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Signs the given hash.
sourcefn set_chain_id(&mut self, chain_id: Option<ChainId>)
fn set_chain_id(&mut self, chain_id: Option<ChainId>)
Sets the signer’s chain ID.
Provided Methods§
sourcefn sign_message<'life0, 'life1, 'async_trait>(
&'life0 self,
message: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<Sig>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn sign_message<'life0, 'life1, 'async_trait>(
&'life0 self,
message: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<Sig>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Signs the hash of the provided message after prefixing it, as specified in EIP-191.
sourcefn with_chain_id(self, chain_id: Option<ChainId>) -> Selfwhere
Self: Sized,
fn with_chain_id(self, chain_id: Option<ChainId>) -> Selfwhere
Self: Sized,
Sets the signer’s chain ID and returns self
.