Struct PublicKey

Source
pub struct PublicKey(pub VerifyingKey);
Expand description

This is a public key, which identifies an actor (usually a person) and is shared.

Tuple Fields§

§0: VerifyingKey

Implementations§

Source§

impl PublicKey

Source

pub fn as_hex_string(&self) -> String

Render into a hexadecimal string

Consider converting .into() a PublicKeyHex which is a wrapped type rather than a naked String

Source

pub fn try_from_hex_string(v: &str) -> Result<PublicKey, Error>

Create from a hexadecimal string

Source

pub fn try_as_bech32_string(&self) -> Result<String, Error>

Export as a bech32 encoded string

Source

pub fn try_from_bech32_string(s: &str) -> Result<PublicKey, Error>

Import from a bech32 encoded string

Source

pub fn from_bytes(bytes: &[u8]) -> Result<PublicKey, Error>

Import from raw bytes

Source

pub fn as_bytes(&self) -> Vec<u8>

Export as raw bytes

Source

pub fn verify(&self, message: &[u8], signature: Signature) -> Result<(), Error>

Verify a signed message

Methods from Deref<Target = VerifyingKey>§

Source

pub fn as_affine(&self) -> &AffinePoint

Borrow the inner AffinePoint this type wraps.

Source

pub fn to_bytes(&self) -> GenericArray<u8, <Secp256k1 as Curve>::FieldBytesSize>

Serialize as bytes.

Source

pub fn verify_raw( &self, message: &[u8], signature: &Signature, ) -> Result<(), Error>

Compute Schnorr signature.

§⚠️ Warning

This is a low-level interface intended only for unusual use cases involving verifying pre-hashed messages, or “raw” messages where the message is not hashed at all prior to being used to generate the Schnorr signature.

The preferred interfaces are the DigestVerifier or PrehashVerifier traits.

Trait Implementations§

Source§

impl AsMut<VerifyingKey> for PublicKey

Source§

fn as_mut(&mut self) -> &mut VerifyingKey

Converts this type into a mutable reference of the (usually inferred) input type.
Source§

impl AsRef<VerifyingKey> for PublicKey

Source§

fn as_ref(&self) -> &VerifyingKey

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Clone for PublicKey

Source§

fn clone(&self) -> PublicKey

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for PublicKey

Source§

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

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

impl Deref for PublicKey

Source§

type Target = VerifyingKey

The resulting type after dereferencing.
Source§

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

Dereferences the value.
Source§

impl<'de> Deserialize<'de> for PublicKey

Source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl From<PublicKey> for PublicKeyHex

Source§

fn from(pk: PublicKey) -> PublicKeyHex

Converts to this type from the input type.
Source§

impl From<PublicKey> for VerifyingKey

Source§

fn from(original: PublicKey) -> Self

Converts to this type from the input type.
Source§

impl From<VerifyingKey> for PublicKey

Source§

fn from(original: VerifyingKey) -> PublicKey

Converts to this type from the input type.
Source§

impl Hash for PublicKey

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for PublicKey

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for PublicKey

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl TryFrom<PublicKeyHex> for PublicKey

Source§

type Error = Error

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

fn try_from(pkh: PublicKeyHex) -> Result<PublicKey, Error>

Performs the conversion.
Source§

impl Copy for PublicKey

Source§

impl Eq for PublicKey

Source§

impl StructuralPartialEq for PublicKey

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where 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.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

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 T
where U: Into<T>,

Source§

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 T
where U: TryFrom<T>,

Source§

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

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,