pub struct Keypair(/* private fields */);Expand description
A vanilla Ed25519 key pair
Implementations§
source§impl Keypair
impl Keypair
sourcepub 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
sourcepub fn from_bytes(bytes: &[u8]) -> Result<Keypair, Error>
pub fn from_bytes(bytes: &[u8]) -> Result<Keypair, Error>
Recovers a Keypair from a byte array
sourcepub fn from_base58_string(s: &str) -> Keypair
pub fn from_base58_string(s: &str) -> Keypair
Recovers a Keypair from a base58-encoded string
sourcepub fn to_base58_string(&self) -> String
pub fn to_base58_string(&self) -> String
Returns this Keypair as a base58-encoded string
sourcepub 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§
source§impl EncodableKey for Keypair
impl EncodableKey for Keypair
fn read<R>(reader: &mut R) -> Result<Keypair, Box<dyn Error>>where
R: Read,
fn write<W>(&self, writer: &mut W) -> Result<String, Box<dyn Error>>where
W: Write,
fn read_from_file<F>(path: F) -> Result<Self, Box<dyn Error>>
fn write_to_file<F>(&self, outfile: F) -> Result<String, Box<dyn Error>>
source§impl EncodableKeypair for Keypair
impl EncodableKeypair for Keypair
source§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
source§impl FromWasmAbi for Keypair
impl FromWasmAbi for Keypair
source§impl IntoWasmAbi for Keypair
impl IntoWasmAbi for Keypair
source§impl LongRefFromWasmAbi for Keypair
impl LongRefFromWasmAbi for Keypair
source§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_abisource§impl OptionFromWasmAbi for Keypair
impl OptionFromWasmAbi for Keypair
source§impl OptionIntoWasmAbi for Keypair
impl OptionIntoWasmAbi for Keypair
source§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.source§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
source§impl RefMutFromWasmAbi for Keypair
impl RefMutFromWasmAbi for Keypair
source§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_abisource§impl SeedDerivable for Keypair
impl SeedDerivable for Keypair
fn from_seed(seed: &[u8]) -> Result<Keypair, Box<dyn Error>>
fn from_seed_and_derivation_path( seed: &[u8], derivation_path: Option<DerivationPath> ) -> Result<Keypair, Box<dyn Error>>
fn from_seed_phrase_and_passphrase( seed_phrase: &str, passphrase: &str ) -> Result<Keypair, Box<dyn Error>>
source§impl Signer for Keypair
impl Signer for Keypair
source§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.source§fn try_pubkey(&self) -> Result<Pubkey, SignerError>
fn try_pubkey(&self) -> Result<Pubkey, SignerError>
Fallibly gets the implementor’s public key
source§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.source§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.source§fn is_interactive(&self) -> bool
fn is_interactive(&self) -> bool
Whether the impelmentation requires user interaction to sign
source§impl TryFromJsValue for Keypair
impl TryFromJsValue for Keypair
source§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]>
source§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 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>
§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::Abisource§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.