pub struct PrivateKey(/* private fields */);
Expand description

Private key of an Aleo account

Implementations§

source§

impl PrivateKey

source

pub fn new() -> Self

Generate a new private key using a cryptographically secure random number generator

@returns {PrivateKey}

source

pub fn from_seed_unchecked(seed: &[u8]) -> PrivateKey

Get a private key from a series of unchecked bytes

@param {Uint8Array} seed Unchecked 32 byte long Uint8Array acting as the seed for the private key @returns {PrivateKey}

source

pub fn from_string(private_key: &str) -> Result<PrivateKey, String>

Get a private key from a string representation of a private key

@param {string} seed String representation of a private key @returns {PrivateKey}

source

pub fn to_string(&self) -> String

Get a string representation of the private key. This function should be used very carefully as it exposes the private key plaintext

@returns {string} String representation of a private key

source

pub fn to_view_key(&self) -> ViewKey

Get the view key corresponding to the private key

@returns {ViewKey}

source

pub fn to_address(&self) -> Address

Get the address corresponding to the private key

@returns {Address}

source

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

Sign a message with the private key

@param {Uint8Array} Byte array representing a message signed by the address @returns {Signature} Signature generated by signing the message with the address

source

pub fn new_encrypted(secret: &str) -> Result<PrivateKeyCiphertext, String>

Get a new randomly generated private key ciphertext using a secret. The secret is sensitive and will be needed to decrypt the private key later, so it should be stored securely

@param {string} secret Secret used to encrypt the private key @returns {PrivateKeyCiphertext | Error} Ciphertext representation of the private key

source

pub fn to_ciphertext( &self, secret: &str ) -> Result<PrivateKeyCiphertext, String>

Encrypt an existing private key with a secret. The secret is sensitive and will be needed to decrypt the private key later, so it should be stored securely

@param {string} secret Secret used to encrypt the private key @returns {PrivateKeyCiphertext | Error} Ciphertext representation of the private key

source

pub fn from_private_key_ciphertext( ciphertext: &PrivateKeyCiphertext, secret: &str ) -> Result<PrivateKey, String>

Get private key from a private key ciphertext and secret originally used to encrypt it

@param {PrivateKeyCiphertext} ciphertext Ciphertext representation of the private key @param {string} secret Secret originally used to encrypt the private key @returns {PrivateKey | Error} Private key

Methods from Deref<Target = PrivateKey<Testnet3>>§

pub fn sign<R>( &self, message: &[Field<N>], rng: &mut R ) -> Result<Signature<N>, Error>where R: Rng + CryptoRng,

Returns a signature for the given message (as field elements) using the private key.

pub fn sign_bytes<R>( &self, message: &[u8], rng: &mut R ) -> Result<Signature<N>, Error>where R: Rng + CryptoRng,

Returns a signature for the given message (as bytes) using the private key.

pub fn sign_bits<R>( &self, message: &[bool], rng: &mut R ) -> Result<Signature<N>, Error>where R: Rng + CryptoRng,

Returns a signature for the given message (as bits) using the private key.

pub fn seed(&self) -> Field<N>

Returns the account seed.

pub fn sk_sig(&self) -> Scalar<N>

Returns the signature secret key.

pub fn r_sig(&self) -> Scalar<N>

Returns the signature randomizer.

Trait Implementations§

source§

impl Clone for PrivateKey

source§

fn clone(&self) -> PrivateKey

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 Debug for PrivateKey

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Deref for PrivateKey

§

type Target = PrivateKey<Testnet3>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl Display for PrivateKey

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<&PrivateKey> for PrivateKey<Testnet3>

source§

fn from(private_key: &PrivateKey) -> Self

Converts to this type from the input type.
source§

impl From<PrivateKey<Testnet3>> for PrivateKey

source§

fn from(private_key: PrivateKey<Testnet3>) -> Self

Converts to this type from the input type.
source§

impl From<PrivateKey> for JsValue

source§

fn from(value: PrivateKey) -> Self

Converts to this type from the input type.
source§

impl From<PrivateKey> for PrivateKey<Testnet3>

source§

fn from(private_key: PrivateKey) -> Self

Converts to this type from the input type.
source§

impl FromStr for PrivateKey

§

type Err = Error

The associated error which can be returned from parsing.
source§

fn from_str(private_key: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
source§

impl FromWasmAbi for PrivateKey

§

type Abi = u32

The wasm ABI type that this converts from when coming back out from the ABI boundary.
source§

unsafe fn from_abi(js: u32) -> Self

Recover a Self from Self::Abi. Read more
source§

impl IntoWasmAbi for PrivateKey

§

type Abi = u32

The wasm ABI type that this converts into when crossing the ABI boundary.
source§

fn into_abi(self) -> u32

Convert self into Self::Abi so that it can be sent across the wasm ABI boundary.
source§

impl LongRefFromWasmAbi for PrivateKey

§

type Abi = u32

Same as RefFromWasmAbi::Abi
§

type Anchor = Ref<'static, PrivateKey>

Same as RefFromWasmAbi::Anchor
source§

unsafe fn long_ref_from_abi(js: Self::Abi) -> Self::Anchor

Same as RefFromWasmAbi::ref_from_abi
source§

impl OptionFromWasmAbi for PrivateKey

source§

fn is_none(abi: &Self::Abi) -> bool

Tests whether the argument is a “none” instance. If so it will be deserialized as None, and otherwise it will be passed to FromWasmAbi.
source§

impl OptionIntoWasmAbi for PrivateKey

source§

fn none() -> Self::Abi

Returns an ABI instance indicating “none”, which JS will interpret as the None branch of this option. Read more
source§

impl PartialEq for PrivateKey

source§

fn eq(&self, other: &PrivateKey) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl RefFromWasmAbi for PrivateKey

§

type Abi = u32

The wasm ABI type references to Self are recovered from.
§

type Anchor = Ref<'static, PrivateKey>

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: Self::Abi) -> Self::Anchor

Recover a Self::Anchor from Self::Abi. Read more
source§

impl RefMutFromWasmAbi for PrivateKey

§

type Abi = u32

Same as RefFromWasmAbi::Abi
§

type Anchor = RefMut<'static, PrivateKey>

Same as RefFromWasmAbi::Anchor
source§

unsafe fn ref_mut_from_abi(js: Self::Abi) -> Self::Anchor

Same as RefFromWasmAbi::ref_from_abi
source§

impl TryFromJsValue for PrivateKey

§

type Error = JsValue

The type returned in the event of a conversion error.
source§

fn try_from_js_value(value: JsValue) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl VectorFromWasmAbi for PrivateKey

§

type Abi = <Box<[JsValue]> as FromWasmAbi>::Abi

source§

unsafe fn vector_from_abi(js: Self::Abi) -> Box<[PrivateKey]>

source§

impl VectorIntoWasmAbi for PrivateKey

§

type Abi = <Box<[JsValue]> as IntoWasmAbi>::Abi

source§

fn vector_into_abi(vector: Box<[PrivateKey]>) -> Self::Abi

source§

impl WasmDescribe for PrivateKey

source§

impl WasmDescribeVector for PrivateKey

source§

impl Eq for PrivateKey

source§

impl StructuralEq for PrivateKey

source§

impl StructuralPartialEq for PrivateKey

Auto Trait Implementations§

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,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

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

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

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>,

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.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

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> ReturnWasmAbi for Twhere T: IntoWasmAbi,

§

type Abi = <T as IntoWasmAbi>::Abi

Same as IntoWasmAbi::Abi
source§

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.
source§

impl<T> Same 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> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
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.
source§

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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