pub struct Descriptor<Pk: MiniscriptKey, T: Extension = CovenantExt<CovExtArgs>> {
pub key: Key,
pub descriptor: Descriptor<Pk, T>,
}
Expand description
A confidential descriptor
Fields§
§key: Key
The 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 + 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§fn clone(&self) -> Descriptor<Pk, T>
fn clone(&self) -> Descriptor<Pk, T>
Returns a duplicate 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<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>
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: Eq + MiniscriptKey, T: Eq + Extension> Eq for Descriptor<Pk, T>
impl<Pk: MiniscriptKey, T: 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
Pk: RefUnwindSafe,
<Pk as MiniscriptKey>::Sha256: RefUnwindSafe,
<Pk as MiniscriptKey>::Hash256: RefUnwindSafe,
<Pk as MiniscriptKey>::Ripemd160: RefUnwindSafe,
<Pk as MiniscriptKey>::Hash160: RefUnwindSafe,
T: RefUnwindSafe,
impl<Pk, T> Send for Descriptor<Pk, T>where
Pk: Send + Sync,
<Pk as MiniscriptKey>::Sha256: Send + Sync,
<Pk as MiniscriptKey>::Hash256: Send + Sync,
<Pk as MiniscriptKey>::Ripemd160: Send + Sync,
<Pk as MiniscriptKey>::Hash160: Send + Sync,
T: Send + Sync,
impl<Pk, T> Sync for Descriptor<Pk, T>where
Pk: Sync + Send,
<Pk as MiniscriptKey>::Sha256: Sync + Send,
<Pk as MiniscriptKey>::Hash256: Sync + Send,
<Pk as MiniscriptKey>::Ripemd160: Sync + Send,
<Pk as MiniscriptKey>::Hash160: Sync + Send,
T: Sync + Send,
impl<Pk, T> Unpin for Descriptor<Pk, T>where
Pk: Unpin,
<Pk as MiniscriptKey>::Sha256: Unpin,
<Pk as MiniscriptKey>::Hash256: Unpin,
<Pk as MiniscriptKey>::Ripemd160: Unpin,
<Pk as MiniscriptKey>::Hash160: Unpin,
T: Unpin,
impl<Pk, T> UnwindSafe for Descriptor<Pk, T>where
Pk: UnwindSafe + RefUnwindSafe,
<Pk as MiniscriptKey>::Sha256: UnwindSafe + RefUnwindSafe,
<Pk as MiniscriptKey>::Hash256: UnwindSafe + RefUnwindSafe,
<Pk as MiniscriptKey>::Ripemd160: UnwindSafe + RefUnwindSafe,
<Pk as MiniscriptKey>::Hash160: UnwindSafe + RefUnwindSafe,
T: UnwindSafe + RefUnwindSafe,
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