Struct bdk_chain::bitcoin::CompressedPublicKey
pub struct CompressedPublicKey(pub PublicKey);
Expand description
An always-compressed Bitcoin ECDSA public key
Tuple Fields§
§0: PublicKey
Implementations§
§impl CompressedPublicKey
impl CompressedPublicKey
pub fn pubkey_hash(&self) -> PubkeyHash
pub fn pubkey_hash(&self) -> PubkeyHash
Returns bitcoin 160-bit hash of the public key
pub fn wpubkey_hash(&self) -> WPubkeyHash
pub fn wpubkey_hash(&self) -> WPubkeyHash
Returns bitcoin 160-bit hash of the public key for witness program
pub fn p2wpkh_script_code(&self) -> ScriptBuf
pub fn p2wpkh_script_code(&self) -> ScriptBuf
Returns the script code used to spend a P2WPKH input.
pub fn write_into<W>(&self, writer: &mut W) -> Result<(), Error>
pub fn write_into<W>(&self, writer: &mut W) -> Result<(), Error>
Write the public key into a writer
pub fn read_from<R>(reader: &mut R) -> Result<CompressedPublicKey, Error>
pub fn read_from<R>(reader: &mut R) -> Result<CompressedPublicKey, 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.
pub 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.
pub fn from_slice(data: &[u8]) -> Result<CompressedPublicKey, Error>
pub fn from_slice(data: &[u8]) -> Result<CompressedPublicKey, Error>
Deserialize a public key from a slice
pub fn from_private_key<C>(
secp: &Secp256k1<C>,
sk: &PrivateKey
) -> Result<CompressedPublicKey, UncompressedPublicKeyError>where
C: Signing,
pub fn from_private_key<C>(
secp: &Secp256k1<C>,
sk: &PrivateKey
) -> Result<CompressedPublicKey, UncompressedPublicKeyError>where
C: Signing,
Computes the public key as supposed to be used with this secret
Trait Implementations§
§impl Clone for CompressedPublicKey
impl Clone for CompressedPublicKey
§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 more§impl Debug for CompressedPublicKey
impl Debug for CompressedPublicKey
§impl<'de> Deserialize<'de> for CompressedPublicKey
impl<'de> Deserialize<'de> for CompressedPublicKey
§fn deserialize<D>(
d: D
) -> Result<CompressedPublicKey, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
d: D
) -> Result<CompressedPublicKey, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl Display for CompressedPublicKey
impl Display for CompressedPublicKey
§impl From<&CompressedPublicKey> for PubkeyHash
impl From<&CompressedPublicKey> for PubkeyHash
§fn from(key: &CompressedPublicKey) -> PubkeyHash
fn from(key: &CompressedPublicKey) -> PubkeyHash
Converts to this type from the input type.
§impl From<&CompressedPublicKey> for WPubkeyHash
impl From<&CompressedPublicKey> for WPubkeyHash
§fn from(key: &CompressedPublicKey) -> WPubkeyHash
fn from(key: &CompressedPublicKey) -> WPubkeyHash
Converts to this type from the input type.
§impl From<CompressedPublicKey> for PubkeyHash
impl From<CompressedPublicKey> for PubkeyHash
§fn from(key: CompressedPublicKey) -> PubkeyHash
fn from(key: CompressedPublicKey) -> PubkeyHash
Converts to this type from the input type.
§impl From<CompressedPublicKey> for PublicKey
impl From<CompressedPublicKey> for PublicKey
§fn from(value: CompressedPublicKey) -> PublicKey
fn from(value: CompressedPublicKey) -> PublicKey
Converts to this type from the input type.
§impl From<CompressedPublicKey> for WPubkeyHash
impl From<CompressedPublicKey> for WPubkeyHash
§fn from(key: CompressedPublicKey) -> WPubkeyHash
fn from(key: CompressedPublicKey) -> WPubkeyHash
Converts to this type from the input type.
§impl From<CompressedPublicKey> for XOnlyPublicKey
impl From<CompressedPublicKey> for XOnlyPublicKey
§fn from(pk: CompressedPublicKey) -> XOnlyPublicKey
fn from(pk: CompressedPublicKey) -> XOnlyPublicKey
Converts to this type from the input type.
§impl FromStr for CompressedPublicKey
impl FromStr for CompressedPublicKey
§type Err = ParseCompressedPublicKeyError
type Err = ParseCompressedPublicKeyError
The associated error which can be returned from parsing.
§fn from_str(
s: &str
) -> Result<CompressedPublicKey, <CompressedPublicKey as FromStr>::Err>
fn from_str( s: &str ) -> Result<CompressedPublicKey, <CompressedPublicKey as FromStr>::Err>
Parses a string
s
to return a value of this type. Read more§impl Hash for CompressedPublicKey
impl Hash for CompressedPublicKey
§impl Ord for CompressedPublicKey
impl Ord for CompressedPublicKey
§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
§impl PartialEq for CompressedPublicKey
impl PartialEq for CompressedPublicKey
§fn eq(&self, other: &CompressedPublicKey) -> bool
fn eq(&self, other: &CompressedPublicKey) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.§impl PartialOrd for CompressedPublicKey
impl PartialOrd for CompressedPublicKey
§fn partial_cmp(&self, other: &CompressedPublicKey) -> Option<Ordering>
fn partial_cmp(&self, other: &CompressedPublicKey) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read more§impl Serialize for CompressedPublicKey
impl Serialize for CompressedPublicKey
§fn serialize<S>(
&self,
s: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
s: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
§impl TryFrom<PublicKey> for CompressedPublicKey
impl TryFrom<PublicKey> for CompressedPublicKey
§type Error = UncompressedPublicKeyError
type Error = UncompressedPublicKeyError
The type returned in the event of a conversion error.
§fn try_from(
value: PublicKey
) -> Result<CompressedPublicKey, <CompressedPublicKey as TryFrom<PublicKey>>::Error>
fn try_from( value: PublicKey ) -> Result<CompressedPublicKey, <CompressedPublicKey as TryFrom<PublicKey>>::Error>
Performs the conversion.
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
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more