Struct frame_system::offchain::Signer [−][src]
Provides an implementation for signing transaction payloads.
Keys used for signing are defined when instantiating the signer object. Signing can be done using:
- All supported keys in the keystore
- Any of the supported keys in the keystore
- An intersection of in-keystore keys and the list of provided keys
The signer is then able to:
- Submit a unsigned transaction with a signed payload
- Submit a signed transaction
Implementations
impl<T: SigningTypes, C: AppCrypto<T::Public, T::Signature>, X> Signer<T, C, X>
[src]
pub fn all_accounts() -> Signer<T, C, ForAll>
[src]
Use all available keys for signing.
pub fn any_account() -> Signer<T, C, ForAny>
[src]
Use any of the available keys for signing.
pub fn with_filter(self, accounts: Vec<T::Public>) -> Self
[src]
Use provided accounts
for signing.
Note that not all keys will be necessarily used. The provided vector of accounts will be intersected with the supported keys in the keystore and the resulting list will be used for signing.
pub fn can_sign(&self) -> bool
[src]
Check if there are any keys that could be used for signing.
Trait Implementations
impl<T: SigningTypes, C: AppCrypto<T::Public, T::Signature>, X> Debug for Signer<T, C, X> where
T: Debug,
C: Debug,
X: Debug,
[src]
T: Debug,
C: Debug,
X: Debug,
impl<T: SigningTypes, C: AppCrypto<T::Public, T::Signature>, X> Default for Signer<T, C, X>
[src]
impl<T: CreateSignedTransaction<LocalCall> + SigningTypes, C: AppCrypto<T::Public, T::Signature>, LocalCall> SendSignedTransaction<T, C, LocalCall> for Signer<T, C, ForAny>
[src]
type Result = Option<(Account<T>, Result<(), ()>)>
A submission result. Read more
fn send_signed_transaction(
&self,
f: impl Fn(&Account<T>) -> LocalCall
) -> Self::Result
[src]
&self,
f: impl Fn(&Account<T>) -> LocalCall
) -> Self::Result
fn send_single_signed_transaction(
&self,
account: &Account<T>,
call: LocalCall
) -> Option<Result<(), ()>>
[src]
&self,
account: &Account<T>,
call: LocalCall
) -> Option<Result<(), ()>>
impl<T: SigningTypes + CreateSignedTransaction<LocalCall>, C: AppCrypto<T::Public, T::Signature>, LocalCall> SendSignedTransaction<T, C, LocalCall> for Signer<T, C, ForAll>
[src]
type Result = Vec<(Account<T>, Result<(), ()>)>
A submission result. Read more
fn send_signed_transaction(
&self,
f: impl Fn(&Account<T>) -> LocalCall
) -> Self::Result
[src]
&self,
f: impl Fn(&Account<T>) -> LocalCall
) -> Self::Result
fn send_single_signed_transaction(
&self,
account: &Account<T>,
call: LocalCall
) -> Option<Result<(), ()>>
[src]
&self,
account: &Account<T>,
call: LocalCall
) -> Option<Result<(), ()>>
impl<T: SigningTypes + SendTransactionTypes<LocalCall>, C: AppCrypto<T::Public, T::Signature>, LocalCall> SendUnsignedTransaction<T, LocalCall> for Signer<T, C, ForAny>
[src]
type Result = Option<(Account<T>, Result<(), ()>)>
A submission result. Read more
fn send_unsigned_transaction<TPayload, F>(
&self,
f: F,
f2: impl Fn(TPayload, T::Signature) -> LocalCall
) -> Self::Result where
F: Fn(&Account<T>) -> TPayload,
TPayload: SignedPayload<T>,
[src]
&self,
f: F,
f2: impl Fn(TPayload, T::Signature) -> LocalCall
) -> Self::Result where
F: Fn(&Account<T>) -> TPayload,
TPayload: SignedPayload<T>,
fn submit_unsigned_transaction(&self, call: LocalCall) -> Option<Result<(), ()>>
[src]
impl<T: SigningTypes + SendTransactionTypes<LocalCall>, C: AppCrypto<T::Public, T::Signature>, LocalCall> SendUnsignedTransaction<T, LocalCall> for Signer<T, C, ForAll>
[src]
type Result = Vec<(Account<T>, Result<(), ()>)>
A submission result. Read more
fn send_unsigned_transaction<TPayload, F>(
&self,
f: F,
f2: impl Fn(TPayload, T::Signature) -> LocalCall
) -> Self::Result where
F: Fn(&Account<T>) -> TPayload,
TPayload: SignedPayload<T>,
[src]
&self,
f: F,
f2: impl Fn(TPayload, T::Signature) -> LocalCall
) -> Self::Result where
F: Fn(&Account<T>) -> TPayload,
TPayload: SignedPayload<T>,
fn submit_unsigned_transaction(&self, call: LocalCall) -> Option<Result<(), ()>>
[src]
impl<T: SigningTypes, C: AppCrypto<T::Public, T::Signature>> SignMessage<T> for Signer<T, C, ForAll>
[src]
type SignatureData = Vec<(Account<T>, T::Signature)>
A signature data. Read more
fn sign_message(&self, message: &[u8]) -> Self::SignatureData
[src]
fn sign<TPayload, F>(&self, f: F) -> Self::SignatureData where
F: Fn(&Account<T>) -> TPayload,
TPayload: SignedPayload<T>,
[src]
F: Fn(&Account<T>) -> TPayload,
TPayload: SignedPayload<T>,
impl<T: SigningTypes, C: AppCrypto<T::Public, T::Signature>> SignMessage<T> for Signer<T, C, ForAny>
[src]
type SignatureData = Option<(Account<T>, T::Signature)>
A signature data. Read more
fn sign_message(&self, message: &[u8]) -> Self::SignatureData
[src]
fn sign<TPayload, F>(&self, f: F) -> Self::SignatureData where
F: Fn(&Account<T>) -> TPayload,
TPayload: SignedPayload<T>,
[src]
F: Fn(&Account<T>) -> TPayload,
TPayload: SignedPayload<T>,
Auto Trait Implementations
impl<T, C, X> RefUnwindSafe for Signer<T, C, X> where
C: RefUnwindSafe,
X: RefUnwindSafe,
<T as SigningTypes>::Public: RefUnwindSafe,
C: RefUnwindSafe,
X: RefUnwindSafe,
<T as SigningTypes>::Public: RefUnwindSafe,
impl<T, C, X> Send for Signer<T, C, X> where
C: Send,
X: Send,
<T as SigningTypes>::Public: Send,
C: Send,
X: Send,
<T as SigningTypes>::Public: Send,
impl<T, C, X> Sync for Signer<T, C, X> where
C: Sync,
X: Sync,
<T as SigningTypes>::Public: Sync,
C: Sync,
X: Sync,
<T as SigningTypes>::Public: Sync,
impl<T, C, X> Unpin for Signer<T, C, X> where
C: Unpin,
X: Unpin,
<T as SigningTypes>::Public: Unpin,
C: Unpin,
X: Unpin,
<T as SigningTypes>::Public: Unpin,
impl<T, C, X> UnwindSafe for Signer<T, C, X> where
C: UnwindSafe,
X: UnwindSafe,
<T as SigningTypes>::Public: UnwindSafe,
C: UnwindSafe,
X: UnwindSafe,
<T as SigningTypes>::Public: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> CheckedConversion for T
[src]
pub fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
[src]
Self: TryFrom<T>,
pub fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
[src]
Self: TryInto<T>,
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IsType<T> for T
[src]
pub fn from_ref(t: &T) -> &T
[src]
pub fn into_ref(&self) -> &T
[src]
pub fn from_mut(t: &mut T) -> &mut T
[src]
pub fn into_mut(&mut self) -> &mut T
[src]
impl<T, Outer> IsWrappedBy<Outer> for T where
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
[src]
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
pub fn from_ref(outer: &Outer) -> &T
[src]
Get a reference to the inner from the outer.
pub fn from_mut(outer: &mut Outer) -> &mut T
[src]
Get a mutable reference to the inner from the outer.
impl<T> MaybeDebug for T where
T: Debug,
[src]
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,
[src]
T: Debug,
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe,
[src]
T: RefUnwindSafe,
impl<T> Pointable for T
[src]
pub const ALIGN: usize
[src]
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
[src]
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
[src]
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
[src]
pub unsafe fn drop(ptr: usize)
[src]
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> SaturatedConversion for T
[src]
pub fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
[src]
Self: UniqueSaturatedFrom<T>,
pub fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
[src]
Self: UniqueSaturatedInto<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
[src]
T: UncheckedFrom<S>,
pub fn unchecked_into(self) -> T
[src]
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
[src]
T: Bounded,
S: TryInto<T>,
pub fn unique_saturated_into(self) -> T
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,