pub struct SecretKeyRef<'a> { /* private fields */ }
Expand description
A SecretKey
reference wrapper.
A wrapper around secp256k1::SecretKey
reference, which enables it to be used in methods expecting
Key
capabilities.
Implementations§
Methods from Deref<Target = SecretKey>§
Sourcepub fn display_secret(&self) -> DisplaySecret
pub fn display_secret(&self) -> DisplaySecret
Formats the explicit byte value of the secret key kept inside the type as a little-endian hexadecimal string using the provided formatter.
This is the only method that outputs the actual secret key value, and, thus, should be used with extreme caution.
§Examples
use secp256k1::SecretKey;
let key = SecretKey::from_str("0000000000000000000000000000000000000000000000000000000000000001").unwrap();
// Normal debug hides value (`Display` is not implemented for `SecretKey`).
// E.g., `format!("{:?}", key)` prints "SecretKey(#2518682f7819fb2d)".
// Here we explicitly display the secret value:
assert_eq!(
"0000000000000000000000000000000000000000000000000000000000000001",
format!("{}", key.display_secret())
);
// Also, we can explicitly display with `Debug`:
assert_eq!(
format!("{:?}", key.display_secret()),
format!("DisplaySecret(\"{}\")", key.display_secret())
);
Sourcepub fn secret_bytes(&self) -> [u8; 32]
pub fn secret_bytes(&self) -> [u8; 32]
Returns the secret key as a byte value.
Sourcepub fn keypair<C>(&self, secp: &Secp256k1<C>) -> KeyPairwhere
C: Signing,
pub fn keypair<C>(&self, secp: &Secp256k1<C>) -> KeyPairwhere
C: Signing,
Returns the KeyPair
for this SecretKey
.
This is equivalent to using KeyPair::from_secret_key
.
Sourcepub fn public_key<C>(&self, secp: &Secp256k1<C>) -> PublicKeywhere
C: Signing,
pub fn public_key<C>(&self, secp: &Secp256k1<C>) -> PublicKeywhere
C: Signing,
Returns the PublicKey
for this SecretKey
.
This is equivalent to using PublicKey::from_secret_key
.
Sourcepub fn x_only_public_key<C>(
&self,
secp: &Secp256k1<C>,
) -> (XOnlyPublicKey, Parity)where
C: Signing,
pub fn x_only_public_key<C>(
&self,
secp: &Secp256k1<C>,
) -> (XOnlyPublicKey, Parity)where
C: Signing,
Returns the XOnlyPublicKey
(and it’s Parity
) for this SecretKey
.
This is equivalent to XOnlyPublicKey::from_keypair(self.keypair(secp))
.