pub struct CompressedPublicKey(pub PublicKey);
Expand description
An always-compressed Bitcoin ECDSA public key
Tuple Fields§
§0: PublicKey
Implementations§
Source§impl CompressedPublicKey
impl CompressedPublicKey
Sourcepub fn pubkey_hash(&self) -> PubkeyHash
pub fn pubkey_hash(&self) -> PubkeyHash
Returns bitcoin 160-bit hash of the public key
Sourcepub fn wpubkey_hash(&self) -> WPubkeyHash
pub fn wpubkey_hash(&self) -> WPubkeyHash
Returns bitcoin 160-bit hash of the public key for witness program
Sourcepub fn p2wpkh_script_code(&self) -> ScriptBuf
pub fn p2wpkh_script_code(&self) -> ScriptBuf
Returns the script code used to spend a P2WPKH input.
Sourcepub fn write_into<W: Write + ?Sized>(&self, writer: &mut W) -> Result<(), Error>
pub fn write_into<W: Write + ?Sized>(&self, writer: &mut W) -> Result<(), Error>
Write the public key into a writer
Sourcepub fn read_from<R: Read + ?Sized>(reader: &mut R) -> Result<Self, Error>
pub fn read_from<R: Read + ?Sized>(reader: &mut R) -> Result<Self, Error>
Read the public key from a reader
This internally reads the first byte before reading the rest, so
use of a BufReader
is recommended.
Sourcepub fn to_bytes(&self) -> [u8; 33]
pub fn to_bytes(&self) -> [u8; 33]
Serializes the public key.
As the type name suggests, the key is serialzied in compressed format.
Note that this can be used as a sort key to get BIP67-compliant sorting.
That’s why this type doesn’t have the to_sort_key
method - it would duplicate this one.
Sourcepub fn from_slice(data: &[u8]) -> Result<Self, Error>
pub fn from_slice(data: &[u8]) -> Result<Self, Error>
Deserialize a public key from a slice
Sourcepub fn from_private_key<C: Signing>(
secp: &Secp256k1<C>,
sk: &PrivateKey,
) -> Result<Self, UncompressedPublicKeyError>
pub fn from_private_key<C: Signing>( secp: &Secp256k1<C>, sk: &PrivateKey, ) -> Result<Self, UncompressedPublicKeyError>
Computes the public key as supposed to be used with this secret
Trait Implementations§
Source§impl Clone for CompressedPublicKey
impl Clone for CompressedPublicKey
Source§fn clone(&self) -> CompressedPublicKey
fn clone(&self) -> CompressedPublicKey
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for CompressedPublicKey
impl Debug for CompressedPublicKey
Source§impl<'de> Deserialize<'de> for CompressedPublicKey
Available on crate feature serde
only.
impl<'de> Deserialize<'de> for CompressedPublicKey
Available on crate feature
serde
only.Source§fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for CompressedPublicKey
impl Display for CompressedPublicKey
Source§impl From<&CompressedPublicKey> for PubkeyHash
impl From<&CompressedPublicKey> for PubkeyHash
Source§fn from(key: &CompressedPublicKey) -> Self
fn from(key: &CompressedPublicKey) -> Self
Converts to this type from the input type.
Source§impl From<&CompressedPublicKey> for WPubkeyHash
impl From<&CompressedPublicKey> for WPubkeyHash
Source§fn from(key: &CompressedPublicKey) -> Self
fn from(key: &CompressedPublicKey) -> Self
Converts to this type from the input type.
Source§impl From<CompressedPublicKey> for PubkeyHash
impl From<CompressedPublicKey> for PubkeyHash
Source§fn from(key: CompressedPublicKey) -> Self
fn from(key: CompressedPublicKey) -> Self
Converts to this type from the input type.
Source§impl From<CompressedPublicKey> for PublicKey
impl From<CompressedPublicKey> for PublicKey
Source§fn from(value: CompressedPublicKey) -> Self
fn from(value: CompressedPublicKey) -> Self
Converts to this type from the input type.
Source§impl From<CompressedPublicKey> for WPubkeyHash
impl From<CompressedPublicKey> for WPubkeyHash
Source§fn from(key: CompressedPublicKey) -> Self
fn from(key: CompressedPublicKey) -> Self
Converts to this type from the input type.
Source§impl From<CompressedPublicKey> for XOnlyPublicKey
impl From<CompressedPublicKey> for XOnlyPublicKey
Source§fn from(pk: CompressedPublicKey) -> Self
fn from(pk: CompressedPublicKey) -> Self
Converts to this type from the input type.
Source§impl FromStr for CompressedPublicKey
impl FromStr for CompressedPublicKey
Source§impl Hash for CompressedPublicKey
impl Hash for CompressedPublicKey
Source§impl Ord for CompressedPublicKey
impl Ord for CompressedPublicKey
Source§fn cmp(&self, other: &CompressedPublicKey) -> Ordering
fn cmp(&self, other: &CompressedPublicKey) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for CompressedPublicKey
impl PartialEq for CompressedPublicKey
Source§impl PartialOrd for CompressedPublicKey
impl PartialOrd for CompressedPublicKey
Source§impl Serialize for CompressedPublicKey
Available on crate feature serde
only.
impl Serialize for CompressedPublicKey
Available on crate feature
serde
only.Source§impl TryFrom<PublicKey> for CompressedPublicKey
impl TryFrom<PublicKey> for CompressedPublicKey
impl Copy for CompressedPublicKey
impl Eq for CompressedPublicKey
impl StructuralPartialEq for CompressedPublicKey
Auto Trait Implementations§
impl Freeze for CompressedPublicKey
impl RefUnwindSafe for CompressedPublicKey
impl Send for CompressedPublicKey
impl Sync for CompressedPublicKey
impl Unpin for CompressedPublicKey
impl UnwindSafe for CompressedPublicKey
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)