pub trait Signer: Send + Sync {
// Required methods
fn account(&self) -> AccountId;
fn sign<'life0, 'life1, 'async_trait>(
&'life0 self,
msg: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<MultiSignature>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
// Provided methods
fn nonce<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Option<u32>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn set_nonce<'life0, 'async_trait>(
&'life0 mut self,
_nonce: u32,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn lock<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Option<Box<dyn Signer>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
}
Required Methods§
fn account(&self) -> AccountId
fn sign<'life0, 'life1, 'async_trait>(
&'life0 self,
msg: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<MultiSignature>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Provided Methods§
Sourcefn nonce<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Option<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn nonce<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Option<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Optional - The signer can manage their nonce
for improve transaction performance.
The default implmentation will query the next nonce
from chain storage.
Sourcefn set_nonce<'life0, 'async_trait>(
&'life0 mut self,
_nonce: u32,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_nonce<'life0, 'async_trait>(
&'life0 mut self,
_nonce: u32,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Optional - The signer can manage their nonce
for improve transaction performance.
If the transaction is accepted by the RPC node, then the nonce
we be increased, to
allow the next transaction to be signed & submitted without waiting for the next block.
Trait Implementations§
Source§impl Signer for Box<dyn Signer>
impl Signer for Box<dyn Signer>
fn account(&self) -> AccountId
Source§fn nonce<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Option<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn nonce<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Option<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Optional - The signer can manage their
nonce
for improve transaction performance.
The default implmentation will query the next nonce
from chain storage.Source§fn set_nonce<'life0, 'async_trait>(
&'life0 mut self,
nonce: u32,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_nonce<'life0, 'async_trait>(
&'life0 mut self,
nonce: u32,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Optional - The signer can manage their
nonce
for improve transaction performance.
If the transaction is accepted by the RPC node, then the nonce
we be increased, to
allow the next transaction to be signed & submitted without waiting for the next block.