pub struct Pair(/* private fields */);
Expand description
An Schnorrkel/Ristretto x25519 (“sr25519”) key pair.
Implementations§
Source§impl Pair
impl Pair
Sourcepub fn verify_deprecated<M>(
sig: &CryptoBytes<sp_core::::sr25519::Signature::{constant#0}, (SignatureTag, Sr25519Tag)>,
message: M,
pubkey: &CryptoBytes<sp_core::::sr25519::Public::{constant#0}, Sr25519PublicTag>,
) -> bool
pub fn verify_deprecated<M>( sig: &CryptoBytes<sp_core::::sr25519::Signature::{constant#0}, (SignatureTag, Sr25519Tag)>, message: M, pubkey: &CryptoBytes<sp_core::::sr25519::Public::{constant#0}, Sr25519PublicTag>, ) -> bool
Verify a signature on a message. Returns true
if the signature is good.
Supports old 0.1.1 deprecated signatures and should be used only for backward
compatibility.
Trait Implementations§
Source§impl From<MiniSecretKey> for Pair
impl From<MiniSecretKey> for Pair
Source§fn from(sec: MiniSecretKey) -> Pair
fn from(sec: MiniSecretKey) -> Pair
Source§impl NonAggregatable for Pair
impl NonAggregatable for Pair
Source§impl Pair for Pair
impl Pair for Pair
Source§fn public(
&self,
) -> CryptoBytes<sp_core::::sr25519::Public::{constant#0}, Sr25519PublicTag>
fn public( &self, ) -> CryptoBytes<sp_core::::sr25519::Public::{constant#0}, Sr25519PublicTag>
Get the public key.
Source§fn from_seed_slice(seed: &[u8]) -> Result<Pair, SecretStringError>
fn from_seed_slice(seed: &[u8]) -> Result<Pair, SecretStringError>
Make a new key pair from raw secret seed material.
This is generated using schnorrkel’s Mini-Secret-Keys.
A MiniSecretKey
is literally what Ed25519 calls a SecretKey
, which is just 32 random
bytes.
Source§type Public = CryptoBytes<sp_core::::sr25519::Public::{constant#0}, Sr25519PublicTag>
type Public = CryptoBytes<sp_core::::sr25519::Public::{constant#0}, Sr25519PublicTag>
Source§type Seed = [u8; 32]
type Seed = [u8; 32]
Source§type Signature = CryptoBytes<sp_core::::sr25519::Signature::{constant#0}, (SignatureTag, Sr25519Tag)>
type Signature = CryptoBytes<sp_core::::sr25519::Signature::{constant#0}, (SignatureTag, Sr25519Tag)>
Source§fn derive<Iter>(
&self,
path: Iter,
seed: Option<[u8; 32]>,
) -> Result<(Pair, Option<[u8; 32]>), DeriveError>where
Iter: Iterator<Item = DeriveJunction>,
fn derive<Iter>(
&self,
path: Iter,
seed: Option<[u8; 32]>,
) -> Result<(Pair, Option<[u8; 32]>), DeriveError>where
Iter: Iterator<Item = DeriveJunction>,
Source§fn sign(
&self,
message: &[u8],
) -> CryptoBytes<sp_core::::sr25519::Signature::{constant#0}, (SignatureTag, Sr25519Tag)>
fn sign( &self, message: &[u8], ) -> CryptoBytes<sp_core::::sr25519::Signature::{constant#0}, (SignatureTag, Sr25519Tag)>
Source§fn verify<M>(
sig: &CryptoBytes<sp_core::::sr25519::Signature::{constant#0}, (SignatureTag, Sr25519Tag)>,
message: M,
pubkey: &CryptoBytes<sp_core::::sr25519::Public::{constant#0}, Sr25519PublicTag>,
) -> bool
fn verify<M>( sig: &CryptoBytes<sp_core::::sr25519::Signature::{constant#0}, (SignatureTag, Sr25519Tag)>, message: M, pubkey: &CryptoBytes<sp_core::::sr25519::Public::{constant#0}, Sr25519PublicTag>, ) -> bool
Source§fn generate_with_phrase(password: Option<&str>) -> (Self, String, Self::Seed)
fn generate_with_phrase(password: Option<&str>) -> (Self, String, Self::Seed)
Source§fn from_phrase(
phrase: &str,
password: Option<&str>,
) -> Result<(Self, Self::Seed), SecretStringError>
fn from_phrase( phrase: &str, password: Option<&str>, ) -> Result<(Self, Self::Seed), SecretStringError>
phrase
, or an error if it’s invalid.Source§fn from_seed(seed: &Self::Seed) -> Self
fn from_seed(seed: &Self::Seed) -> Self
seed
. Read moreSource§fn from_string_with_seed(
s: &str,
password_override: Option<&str>,
) -> Result<(Self, Option<Self::Seed>), SecretStringError>
fn from_string_with_seed( s: &str, password_override: Option<&str>, ) -> Result<(Self, Option<Self::Seed>), SecretStringError>
s
in order to generate a key Pair. Returns both the pair and an
optional seed, in the case that the pair can be expressed as a direct derivation from a seed
(some cases, such as Sr25519 derivations with path components, cannot). Read moreSource§fn from_string(
s: &str,
password_override: Option<&str>,
) -> Result<Self, SecretStringError>
fn from_string( s: &str, password_override: Option<&str>, ) -> Result<Self, SecretStringError>
s
in order to generate a key pair. Read moreSource§impl VrfCrypto for Pair
impl VrfCrypto for Pair
Source§type VrfInput = VrfTranscript
type VrfInput = VrfTranscript
Source§type VrfPreOutput = VrfPreOutput
type VrfPreOutput = VrfPreOutput
Source§type VrfSignData = VrfSignData
type VrfSignData = VrfSignData
Source§type VrfSignature = VrfSignature
type VrfSignature = VrfSignature
Auto Trait Implementations§
impl Freeze for Pair
impl RefUnwindSafe for Pair
impl Send for Pair
impl Sync for Pair
impl Unpin for Pair
impl UnwindSafe for Pair
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
Source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
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> ⓘ
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> ⓘ
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 moreSource§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
Source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
Source§impl<T> ProofOfPossessionGenerator for Twhere
T: NonAggregatable,
impl<T> ProofOfPossessionGenerator for Twhere
T: NonAggregatable,
Source§fn generate_proof_of_possession(&mut self) -> <T as Pair>::Signature
fn generate_proof_of_possession(&mut self) -> <T as Pair>::Signature
Default implementation for non-aggregatable signatures.
While we enforce hash context separation at the library level in aggregatable schemes, it remains as an advisory for the default implementation using signature API used for non-aggregatable schemes
Source§impl<T> ProofOfPossessionVerifier for Twhere
T: NonAggregatable,
impl<T> ProofOfPossessionVerifier for Twhere
T: NonAggregatable,
Source§fn verify_proof_of_possession(
proof_of_possession: &<T as Pair>::Signature,
allegedly_possessesd_pubkey: &<T as Pair>::Public,
) -> bool
fn verify_proof_of_possession( proof_of_possession: &<T as Pair>::Signature, allegedly_possessesd_pubkey: &<T as Pair>::Public, ) -> bool
Default implementation for non-aggregatable signatures.
While we enforce hash context separation at the library level in aggregatable schemes, it remains as an advisory for the default implementation using signature API used for non-aggregatable schemes
Source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
Source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
Source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T
. Read moreSource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
Source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.Source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
Source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.