pub struct Descriptor<Pk: MiniscriptKey, T: Extension = CovenantExt<CovExtArgs>> {
pub key: Key,
pub descriptor: Descriptor<Pk, T>,
}Expand description
A confidential descriptor
Fields§
§key: KeyThe blinding key
descriptor: Descriptor<Pk, T>The script descriptor
Implementations§
Source§impl<T: Extension + ParseableExt> Descriptor<DescriptorPublicKey, T>
impl<T: Extension + ParseableExt> Descriptor<DescriptorPublicKey, T>
pub fn with_elip151_descriptor_blinding_key( descriptor: OrdinaryDescriptor<DescriptorPublicKey, T>, ) -> Result<Self, Error>
Source§impl<Pk: MiniscriptKey, T: Extension> Descriptor<Pk, T>
impl<Pk: MiniscriptKey, T: Extension> Descriptor<Pk, T>
Sourcepub fn sanity_check(&self) -> Result<(), Error>
pub fn sanity_check(&self) -> Result<(), Error>
Sanity checks for the underlying descriptor.
Source§impl<T: Extension + ParseableExt> Descriptor<DescriptorPublicKey, T>
impl<T: Extension + ParseableExt> Descriptor<DescriptorPublicKey, T>
Sourcepub fn at_derivation_index(
&self,
index: u32,
) -> Result<Descriptor<DefiniteDescriptorKey, T>, ConversionError>
pub fn at_derivation_index( &self, index: u32, ) -> Result<Descriptor<DefiniteDescriptorKey, T>, ConversionError>
Replaces all wildcards (i.e. /*) in the descriptor and the descriptor blinding key
with a particular derivation index, turning it into a definite descriptor.
§Errors
- If index ≥ 2^31
Source§impl<Pk: MiniscriptKey, Ext: Extension> Descriptor<Pk, Ext>
impl<Pk: MiniscriptKey, Ext: Extension> Descriptor<Pk, Ext>
Sourcepub fn translate_pk<Q, E, Tr>(
&self,
t: &mut Tr,
) -> Result<Descriptor<Q, Ext>, E>where
Q: MiniscriptKey,
Tr: Translator<Pk, Q, E>,
pub fn translate_pk<Q, E, Tr>(
&self,
t: &mut Tr,
) -> Result<Descriptor<Q, Ext>, E>where
Q: MiniscriptKey,
Tr: Translator<Pk, Q, E>,
Converts a descriptor using one kind of keys to another kind of key.
The blinding Key is preserved as-is; only the inner script descriptor’s
keys are translated via the supplied Translator.
Source§impl<Pk: MiniscriptKey + ToPublicKey, T: Extension + ParseableExt> Descriptor<Pk, T>
impl<Pk: MiniscriptKey + ToPublicKey, T: Extension + ParseableExt> Descriptor<Pk, T>
Sourcepub fn unconfidential_address(
&self,
params: &'static AddressParams,
) -> Result<Address, Error>
pub fn unconfidential_address( &self, params: &'static AddressParams, ) -> Result<Address, Error>
Obtains the unblinded address for this descriptor.
Sourcepub fn address<C: Signing + Verification>(
&self,
secp: &Secp256k1<C>,
params: &'static AddressParams,
) -> Result<Address, Error>
pub fn address<C: Signing + Verification>( &self, secp: &Secp256k1<C>, params: &'static AddressParams, ) -> Result<Address, Error>
Obtains the blinded address for this descriptor.
Trait Implementations§
Source§impl<Pk: Clone + MiniscriptKey, T: Clone + Extension> Clone for Descriptor<Pk, T>
impl<Pk: Clone + MiniscriptKey, T: Clone + Extension> Clone for Descriptor<Pk, T>
Source§impl<Pk: Debug + MiniscriptKey, T: Debug + Extension> Debug for Descriptor<Pk, T>
impl<Pk: Debug + MiniscriptKey, T: Debug + Extension> Debug for Descriptor<Pk, T>
Source§impl<Pk: MiniscriptKey, T: Extension> Display for Descriptor<Pk, T>
impl<Pk: MiniscriptKey, T: Extension> Display for Descriptor<Pk, T>
impl<Pk: Eq + MiniscriptKey, T: Eq + Extension> Eq for Descriptor<Pk, T>
Source§impl<Pk, T> FromStr for Descriptor<Pk, T>where
Pk: FromStrKey,
T: Extension,
impl<Pk, T> FromStr for Descriptor<Pk, T>where
Pk: FromStrKey,
T: Extension,
Source§impl<Pk: PartialEq + MiniscriptKey, T: PartialEq + Extension> PartialEq for Descriptor<Pk, T>
impl<Pk: PartialEq + MiniscriptKey, T: PartialEq + Extension> PartialEq for Descriptor<Pk, T>
impl<Pk: PartialEq + MiniscriptKey, T: PartialEq + Extension> StructuralPartialEq for Descriptor<Pk, T>
Auto Trait Implementations§
impl<Pk, T = CovenantExt<CovExtArgs>> !Freeze for Descriptor<Pk, T>
impl<Pk, T> RefUnwindSafe for Descriptor<Pk, T>where
Descriptor<Pk, T>: RefUnwindSafe,
impl<Pk, T> Send for Descriptor<Pk, T>where
Descriptor<Pk, T>: Send,
impl<Pk, T> Sync for Descriptor<Pk, T>where
Descriptor<Pk, T>: Sync,
impl<Pk, T> Unpin for Descriptor<Pk, T>where
Descriptor<Pk, T>: Unpin,
impl<Pk, T> UnsafeUnpin for Descriptor<Pk, T>where
Descriptor<Pk, T>: UnsafeUnpin,
impl<Pk, T> UnwindSafe for Descriptor<Pk, T>where
Descriptor<Pk, T>: UnwindSafe,
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