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
Available on crate feature std only.
impl From<MiniSecretKey> for Pair
std only.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§type ProofOfPossession = CryptoBytes<sp_core::::sr25519::Signature::{constant#0}, (SignatureTag, Sr25519Tag)>
type ProofOfPossession = 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
Available on crate feature full_crypto only.
impl VrfCrypto for Pair
full_crypto only.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
Source§impl VrfSecret for Pair
Available on crate feature full_crypto only.
impl VrfSecret for Pair
full_crypto only.Source§fn vrf_sign(
&self,
data: &<Pair as VrfCrypto>::VrfSignData,
) -> <Pair as VrfCrypto>::VrfSignature
fn vrf_sign( &self, data: &<Pair as VrfCrypto>::VrfSignData, ) -> <Pair as VrfCrypto>::VrfSignature
Source§fn vrf_pre_output(
&self,
input: &<Pair as VrfCrypto>::VrfInput,
) -> <Pair as VrfCrypto>::VrfPreOutput
fn vrf_pre_output( &self, input: &<Pair as VrfCrypto>::VrfInput, ) -> <Pair as VrfCrypto>::VrfPreOutput
Auto Trait Implementations§
impl Freeze for Pair
impl RefUnwindSafe for Pair
impl Send for Pair
impl Sync for Pair
impl Unpin for Pair
impl UnsafeUnpin 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
impl<T> JsonSchemaMaybe for T
impl<T> MaybeRefUnwindSafe for Twhere
T: RefUnwindSafe,
Source§impl<T> ProofOfPossessionGenerator for T
impl<T> ProofOfPossessionGenerator for T
Source§fn generate_proof_of_possession(
&mut self,
owner: &[u8],
) -> <T as Pair>::ProofOfPossession
fn generate_proof_of_possession( &mut self, owner: &[u8], ) -> <T as Pair>::ProofOfPossession
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 T
impl<T> ProofOfPossessionVerifier for T
Source§fn verify_proof_of_possession(
owner: &[u8],
proof_of_possession: &<T as Pair>::ProofOfPossession,
allegedly_possessesd_pubkey: &<T as Pair>::Public,
) -> bool
fn verify_proof_of_possession( owner: &[u8], proof_of_possession: &<T as Pair>::ProofOfPossession, 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.