[][src]Enum miniscript::descriptor::Descriptor

pub enum Descriptor<P> {
    Bare(Miniscript<P>),
    Pkh(P),
    Wpkh(P),
    ShWpkh(P),
    Sh(Miniscript<P>),
    Wsh(Miniscript<P>),
    ShWsh(Miniscript<P>),
}

Script descriptor

Variants

Bare(Miniscript<P>)

A raw scriptpubkey (including pay-to-pubkey)

Pkh(P)

Pay-to-PubKey-Hash

Wpkh(P)

Pay-to-Witness-PubKey-Hash

ShWpkh(P)

Pay-to-Witness-PubKey-Hash inside P2SH

Sh(Miniscript<P>)

Pay-to-ScriptHash

Wsh(Miniscript<P>)

Pay-to-Witness-ScriptHash

ShWsh(Miniscript<P>)

P2SH-P2WSH

Methods

impl<P> Descriptor<P>[src]

pub fn translate<F, Q, E>(&self, translatefn: F) -> Result<Descriptor<Q>, E> where
    F: FnMut(&P) -> Result<Q, E>, 
[src]

Convert a descriptor using abstract keys to one using specific keys

impl<P: Clone> Descriptor<P>[src]

pub fn abstract_policy(&self) -> AbstractPolicy<P>[src]

Abstract the script into an "abstract policy" which can be filtered and analyzed

impl<P: ToPublicKey> Descriptor<P>[src]

pub fn script_pubkey(&self) -> Script[src]

Computes the scriptpubkey of the descriptor

pub fn witness_script(&self) -> Script[src]

Computes the "witness script" of the descriptor, i.e. the underlying script before any hashing is done. For Bare, Pkh and Wpkh this is the scriptPubkey; for ShWpkh and Sh this is the redeemScript; for the others it is the witness script.

pub fn satisfy<F, H>(
    &self,
    txin: &mut TxIn,
    sigfn: Option<F>,
    hashfn: Option<H>,
    age: u32
) -> Result<(), Error> where
    F: FnMut(&P) -> Option<(Signature, Option<SigHashType>)>,
    H: FnMut(Hash) -> Option<[u8; 32]>, 
[src]

Attempts to produce a satisfying witness or scriptSig, as the case may be, for the descriptor, and add it to a TxIn object in the appropriate place

Trait Implementations

impl<P: FromStr> FromTree for Descriptor<P> where
    <P as FromStr>::Err: ToString
[src]

fn from_tree(top: &Tree) -> Result<Descriptor<P>, Error>[src]

Parse an expression tree into a descriptor

impl<P: PartialOrd> PartialOrd<Descriptor<P>> for Descriptor<P>[src]

impl<P: PartialEq> PartialEq<Descriptor<P>> for Descriptor<P>[src]

impl<P: Clone> Clone for Descriptor<P>[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl<P: Ord> Ord for Descriptor<P>[src]

fn max(self, other: Self) -> Self
1.21.0
[src]

Compares and returns the maximum of two values. Read more

fn min(self, other: Self) -> Self
1.21.0
[src]

Compares and returns the minimum of two values. Read more

fn clamp(self, min: Self, max: Self) -> Self[src]

🔬 This is a nightly-only experimental API. (clamp)

Returns max if self is greater than max, and min if self is less than min. Otherwise this will return self. Panics if min > max. Read more

impl<P: Eq> Eq for Descriptor<P>[src]

impl<P: Display> Display for Descriptor<P>[src]

impl<P: Debug> Debug for Descriptor<P>[src]

impl<P: FromStr> FromStr for Descriptor<P> where
    <P as FromStr>::Err: ToString
[src]

type Err = Error

The associated error which can be returned from parsing.

Auto Trait Implementations

impl<P> Send for Descriptor<P> where
    P: Send

impl<P> Sync for Descriptor<P> where
    P: Sync

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.