Struct miniscript::descriptor::DefiniteDescriptorKey
source · pub struct DefiniteDescriptorKey(/* private fields */);
Expand description
A DescriptorPublicKey
without any wildcards.
Implementations§
source§impl DefiniteDescriptorKey
impl DefiniteDescriptorKey
sourcepub fn derive_public_key<C: Verification>(
&self,
secp: &Secp256k1<C>,
) -> Result<PublicKey, ConversionError>
pub fn derive_public_key<C: Verification>( &self, secp: &Secp256k1<C>, ) -> Result<PublicKey, ConversionError>
Computes the public key corresponding to this descriptor key.
When deriving from an XOnlyPublicKey, it adds the default 0x02 y-coordinate
and returns the obtained full bitcoin::PublicKey
. All BIP32 derivations
always return a compressed key
Will return an error if the descriptor key has any hardened derivation steps in its path. To
avoid this error you should replace any such public keys first with translate_pk
.
sourcepub fn master_fingerprint(&self) -> Fingerprint
pub fn master_fingerprint(&self) -> Fingerprint
The fingerprint of the master key associated with this key, 0x00000000
if none.
sourcepub fn full_derivation_path(&self) -> DerivationPath
pub fn full_derivation_path(&self) -> DerivationPath
Full path, from the master key
Trait Implementations§
source§impl Clone for DefiniteDescriptorKey
impl Clone for DefiniteDescriptorKey
source§fn clone(&self) -> DefiniteDescriptorKey
fn clone(&self) -> DefiniteDescriptorKey
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 DefiniteDescriptorKey
impl Debug for DefiniteDescriptorKey
source§impl Display for DefiniteDescriptorKey
impl Display for DefiniteDescriptorKey
source§impl From<DefiniteDescriptorKey> for DescriptorPublicKey
impl From<DefiniteDescriptorKey> for DescriptorPublicKey
source§fn from(d: DefiniteDescriptorKey) -> Self
fn from(d: DefiniteDescriptorKey) -> Self
Converts to this type from the input type.
source§impl FromStr for DefiniteDescriptorKey
impl FromStr for DefiniteDescriptorKey
source§impl Hash for DefiniteDescriptorKey
impl Hash for DefiniteDescriptorKey
source§impl MiniscriptKey for DefiniteDescriptorKey
impl MiniscriptKey for DefiniteDescriptorKey
§type Sha256 = Hash
type Sha256 = Hash
The associated
sha256::Hash
for this MiniscriptKey
,
used in the hash256 fragment.§type Hash256 = Hash
type Hash256 = Hash
The associated
hash256::Hash
for this MiniscriptKey
,
used in the hash256 fragment.§type Ripemd160 = Hash
type Ripemd160 = Hash
The associated [
ripedmd160::Hash
] for this MiniscriptKey
type.
used in the ripemd160 fragment§type Hash160 = Hash
type Hash160 = Hash
The associated
hash160::Hash
for this MiniscriptKey
type.
used in the hash160 fragmentsource§fn is_uncompressed(&self) -> bool
fn is_uncompressed(&self) -> bool
Returns true if the pubkey is uncompressed. Defaults to
false
.source§fn is_x_only_key(&self) -> bool
fn is_x_only_key(&self) -> bool
Returns true if the pubkey is an x-only pubkey. Defaults to
false
.source§impl Ord for DefiniteDescriptorKey
impl Ord for DefiniteDescriptorKey
source§fn cmp(&self, other: &DefiniteDescriptorKey) -> Ordering
fn cmp(&self, other: &DefiniteDescriptorKey) -> 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 DefiniteDescriptorKey
impl PartialEq for DefiniteDescriptorKey
source§fn eq(&self, other: &DefiniteDescriptorKey) -> bool
fn eq(&self, other: &DefiniteDescriptorKey) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for DefiniteDescriptorKey
impl PartialOrd for DefiniteDescriptorKey
source§fn partial_cmp(&self, other: &DefiniteDescriptorKey) -> Option<Ordering>
fn partial_cmp(&self, other: &DefiniteDescriptorKey) -> 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 moresource§impl ToPublicKey for DefiniteDescriptorKey
impl ToPublicKey for DefiniteDescriptorKey
source§fn to_public_key(&self) -> PublicKey
fn to_public_key(&self) -> PublicKey
Converts an object to a public key
source§fn to_sha256(hash: &Hash) -> Hash
fn to_sha256(hash: &Hash) -> Hash
Converts the generic associated
MiniscriptKey::Sha256
to sha256::Hash
source§fn to_hash256(hash: &Hash) -> Hash
fn to_hash256(hash: &Hash) -> Hash
Converts the generic associated
MiniscriptKey::Hash256
to hash256::Hash
source§fn to_ripemd160(hash: &Hash) -> Hash
fn to_ripemd160(hash: &Hash) -> Hash
Converts the generic associated
MiniscriptKey::Ripemd160
to ripemd160::Hash
source§fn to_hash160(hash: &Hash) -> Hash
fn to_hash160(hash: &Hash) -> Hash
Converts the generic associated
MiniscriptKey::Hash160
to hash160::Hash
source§fn to_x_only_pubkey(&self) -> XOnlyPublicKey
fn to_x_only_pubkey(&self) -> XOnlyPublicKey
Convert an object to x-only pubkey
source§fn to_pubkeyhash(&self, sig_type: SigType) -> Hash
fn to_pubkeyhash(&self, sig_type: SigType) -> Hash
Obtain the public key hash for this MiniscriptKey
Expects an argument to specify the signature type.
This would determine whether to serialize the key as 32 byte x-only pubkey
or regular public key when computing the hash160
impl Eq for DefiniteDescriptorKey
impl StructuralPartialEq for DefiniteDescriptorKey
Auto Trait Implementations§
impl Freeze for DefiniteDescriptorKey
impl RefUnwindSafe for DefiniteDescriptorKey
impl Send for DefiniteDescriptorKey
impl Sync for DefiniteDescriptorKey
impl Unpin for DefiniteDescriptorKey
impl UnwindSafe for DefiniteDescriptorKey
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)