pub struct ExtParams {
    pub top_unsafe: bool,
    pub resource_limitations: bool,
    pub timelock_mixing: bool,
    pub malleability: bool,
    pub repeated_pk: bool,
    pub raw_pkh: bool,
}
Expand description

Params for parsing miniscripts that either non-sane or non-specified(experimental) in the spec. Used as a parameter Miniscript::from_str_ext and Miniscript::parse_with_ext.

This allows parsing miniscripts if

  1. It is unsafe(does not require a digital signature to spend it)
  2. It contains a unspendable path because of either a. Resource limitations b. Timelock Mixing
  3. The script is malleable and thereby some of satisfaction weight guarantees are not satisfied.
  4. It has repeated public keys
  5. raw pkh fragments without the pk. This could be obtained when parsing miniscript from script

Fields

top_unsafe: bool

Allow parsing of non-safe miniscripts

resource_limitations: bool

Allow parsing of miniscripts with unspendable paths

timelock_mixing: bool

Allow parsing of miniscripts with timelock mixing

malleability: bool

Allow parsing of malleable miniscripts

repeated_pk: bool

Allow parsing of miniscripts with repeated public keys

raw_pkh: bool

Allow parsing of miniscripts with raw pkh fragments without the pk. This could be obtained when parsing miniscript from script

Implementations

Create a new ExtParams that with all the sanity rules

Create a new ExtParams that allows all the sanity rules

Create a new ExtParams that insanity rules This enables parsing well specified but “insane” miniscripts. Refer to the ExtParams documentation for more details on “insane” miniscripts.

Enable all non-sane rules and experimental rules

Builder that allows non-safe miniscripts.

Builder that allows miniscripts with exceed resource limitations.

Builder that allows miniscripts with timelock mixing.

Builder that allows malleable miniscripts.

Builder that allows miniscripts with repeated public keys.

Builder that allows miniscripts with raw pkh fragments.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.