Struct switchboard_on_demand::prelude::Keypair
pub struct Keypair(/* private fields */);
Expand description
A vanilla Ed25519 key pair
Implementations§
§impl Keypair
impl Keypair
pub const SECRET_KEY_LENGTH: usize = 32usize
pub const SECRET_KEY_LENGTH: usize = 32usize
Can be used for generating a Keypair without a dependency on rand
types
pub fn generate<R>(csprng: &mut R) -> Keypair
pub fn generate<R>(csprng: &mut R) -> Keypair
Constructs a new, random Keypair
using a caller-provided RNG
pub fn from_bytes(bytes: &[u8]) -> Result<Keypair, Error>
pub fn from_bytes(bytes: &[u8]) -> Result<Keypair, Error>
Recovers a Keypair
from a byte array
pub fn from_base58_string(s: &str) -> Keypair
pub fn from_base58_string(s: &str) -> Keypair
Recovers a Keypair
from a base58-encoded string
pub fn to_base58_string(&self) -> String
pub fn to_base58_string(&self) -> String
Returns this Keypair
as a base58-encoded string
pub fn secret(&self) -> &SecretKey
pub fn secret(&self) -> &SecretKey
Gets this Keypair
’s SecretKey
pub fn insecure_clone(&self) -> Keypair
pub fn insecure_clone(&self) -> Keypair
Allows Keypair cloning
Note that the Clone
trait is intentionally unimplemented because making a
second copy of sensitive secret keys in memory is usually a bad idea.
Only use this in tests or when strictly required. Consider using std::sync::Arc<Keypair>
instead.
Trait Implementations§
§impl EncodableKey for Keypair
impl EncodableKey for Keypair
§impl EncodableKeypair for Keypair
impl EncodableKeypair for Keypair
§fn encodable_pubkey(&self) -> <Keypair as EncodableKeypair>::Pubkey
fn encodable_pubkey(&self) -> <Keypair as EncodableKeypair>::Pubkey
Returns the associated pubkey. Use this function specifically for settings that involve
reading or writing pubkeys. For other settings, use Signer::pubkey()
instead.
type Pubkey = Pubkey
§impl FromWasmAbi for Keypair
impl FromWasmAbi for Keypair
§impl IntoWasmAbi for Keypair
impl IntoWasmAbi for Keypair
§impl LongRefFromWasmAbi for Keypair
impl LongRefFromWasmAbi for Keypair
§unsafe fn long_ref_from_abi(
js: <Keypair as LongRefFromWasmAbi>::Abi,
) -> <Keypair as LongRefFromWasmAbi>::Anchor
unsafe fn long_ref_from_abi( js: <Keypair as LongRefFromWasmAbi>::Abi, ) -> <Keypair as LongRefFromWasmAbi>::Anchor
Same as
RefFromWasmAbi::ref_from_abi
§impl OptionFromWasmAbi for Keypair
impl OptionFromWasmAbi for Keypair
§impl OptionIntoWasmAbi for Keypair
impl OptionIntoWasmAbi for Keypair
§impl RefFromWasmAbi for Keypair
impl RefFromWasmAbi for Keypair
§type Anchor = Ref<'static, Keypair>
type Anchor = Ref<'static, Keypair>
The type that holds the reference to
Self
for the duration of the
invocation of the function that has an &Self
parameter. This is
required to ensure that the lifetimes don’t persist beyond one function
call, and so that they remain anonymous.§unsafe fn ref_from_abi(
js: <Keypair as RefFromWasmAbi>::Abi,
) -> <Keypair as RefFromWasmAbi>::Anchor
unsafe fn ref_from_abi( js: <Keypair as RefFromWasmAbi>::Abi, ) -> <Keypair as RefFromWasmAbi>::Anchor
§impl RefMutFromWasmAbi for Keypair
impl RefMutFromWasmAbi for Keypair
§unsafe fn ref_mut_from_abi(
js: <Keypair as RefMutFromWasmAbi>::Abi,
) -> <Keypair as RefMutFromWasmAbi>::Anchor
unsafe fn ref_mut_from_abi( js: <Keypair as RefMutFromWasmAbi>::Abi, ) -> <Keypair as RefMutFromWasmAbi>::Anchor
Same as
RefFromWasmAbi::ref_from_abi
§impl Signer for Keypair
impl Signer for Keypair
§fn pubkey(&self) -> Pubkey
fn pubkey(&self) -> Pubkey
Infallibly gets the implementor’s public key. Returns the all-zeros
Pubkey
if the implementor has none.§fn try_pubkey(&self) -> Result<Pubkey, SignerError>
fn try_pubkey(&self) -> Result<Pubkey, SignerError>
Fallibly gets the implementor’s public key
§fn sign_message(&self, message: &[u8]) -> Signature
fn sign_message(&self, message: &[u8]) -> Signature
Infallibly produces an Ed25519 signature over the provided
message
bytes. Returns the all-zeros Signature
if signing is not possible.§fn try_sign_message(&self, message: &[u8]) -> Result<Signature, SignerError>
fn try_sign_message(&self, message: &[u8]) -> Result<Signature, SignerError>
Fallibly produces an Ed25519 signature over the provided
message
bytes.§fn is_interactive(&self) -> bool
fn is_interactive(&self) -> bool
Whether the implementation requires user interaction to sign
§impl TryFromJsValue for Keypair
impl TryFromJsValue for Keypair
§impl VectorFromWasmAbi for Keypair
impl VectorFromWasmAbi for Keypair
type Abi = <Box<[JsValue]> as FromWasmAbi>::Abi
unsafe fn vector_from_abi( js: <Keypair as VectorFromWasmAbi>::Abi, ) -> Box<[Keypair]>
§impl VectorIntoWasmAbi for Keypair
impl VectorIntoWasmAbi for Keypair
type Abi = <Box<[JsValue]> as IntoWasmAbi>::Abi
fn vector_into_abi( vector: Box<[Keypair]>, ) -> <Keypair as VectorIntoWasmAbi>::Abi
Auto Trait Implementations§
impl Freeze for Keypair
impl RefUnwindSafe for Keypair
impl Send for Keypair
impl Sync for Keypair
impl Unpin for Keypair
impl UnwindSafe for Keypair
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
Converts
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>
Converts
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 more§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
Same as
IntoWasmAbi::Abi
source§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
Same as
IntoWasmAbi::into_abi
, except that it may throw and never
return in the case of Err
.