Struct sp_core::bandersnatch::Pair

source ·
pub struct Pair { /* private fields */ }
Expand description

Bandersnatch secret key.

Implementations§

source§

impl Pair

source

pub fn make_bytes<const N: usize>( &self, context: &'static [u8], input: &VrfInput ) -> [u8; N]

Generate an arbitrary number of bytes from the given context and VRF input.

source§

impl Pair

source

pub fn ring_vrf_sign( &self, data: &VrfSignData, prover: &RingProver ) -> RingVrfSignature

Produce a ring-vrf signature.

The ring signature is verifiable if the public key corresponding to the signing Pair is part of the ring from which the RingProver has been constructed. If not, the produced signature is just useless.

source§

impl Pair

source

pub fn seed(&self) -> [u8; 32]

Get the key seed.

Trait Implementations§

source§

impl Clone for Pair

source§

fn clone(&self) -> Pair

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl CryptoType for Pair

§

type Pair = Pair

The pair key type of this crypto.
source§

impl Pair for Pair

source§

fn from_seed_slice(seed_slice: &[u8]) -> Result<Pair, SecretStringError>

Make a new key pair from secret seed material.

The slice must be 64 bytes long or it will return an error.

source§

fn derive<Iter: Iterator<Item = DeriveJunction>>( &self, path: Iter, _seed: Option<[u8; 32]> ) -> Result<(Pair, Option<[u8; 32]>), DeriveError>

Derive a child key from a series of given (hard) junctions.

Soft junctions are not supported.

source§

fn public(&self) -> Public

Get the public key.

source§

fn sign(&self, data: &[u8]) -> Signature

Sign raw data.

source§

fn verify<M: AsRef<[u8]>>( signature: &Signature, data: M, public: &Public ) -> bool

Verify a signature on a message.

Returns true if the signature is good.

source§

fn to_raw_vec(&self) -> Vec<u8>

Return a vector filled with seed raw data.

§

type Seed = [u8; 32]

The type used to (minimally) encode the data required to securely create a new key pair.
§

type Public = Public

The type which is used to encode a public key.
§

type Signature = Signature

The type used to represent a signature. Can be created from a key pair and a message and verified with the message and a public key.
source§

fn generate() -> (Self, Self::Seed)

Generate new secure (random) key pair. Read more
source§

fn generate_with_phrase(password: Option<&str>) -> (Self, String, Self::Seed)

Generate new secure (random) key pair and provide the recovery phrase. Read more
source§

fn from_phrase( phrase: &str, password: Option<&str> ) -> Result<(Self, Self::Seed), SecretStringError>

Returns the KeyPair from the English BIP39 seed phrase, or an error if it’s invalid.
source§

fn from_seed(seed: &Self::Seed) -> Self

Generate new key pair from the provided seed. Read more
source§

fn from_string_with_seed( s: &str, password_override: Option<&str> ) -> Result<(Self, Option<Self::Seed>), SecretStringError>

Interprets the string 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 more
source§

fn from_string( s: &str, password_override: Option<&str> ) -> Result<Self, SecretStringError>

Interprets the string s in order to generate a key pair. Read more
source§

impl VrfCrypto for Pair

§

type VrfInput = VrfInput

VRF input.
§

type VrfOutput = VrfOutput

VRF output.
§

type VrfSignData = VrfSignData

VRF signing data.
§

type VrfSignature = VrfSignature

VRF signature.
source§

impl VrfSecret for Pair

source§

fn vrf_sign(&self, data: &Self::VrfSignData) -> Self::VrfSignature

Sign VRF-specific data.
source§

fn vrf_output(&self, input: &Self::VrfInput) -> Self::VrfOutput

Get VRF-specific output .

Auto Trait Implementations§

§

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> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> DynClone for Twhere T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

source§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

source§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,

source§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
§

impl<T> JsonSchemaMaybe for T