[−][src]Struct miniscript::miniscript::types::extra_props::ExtData
Structure representing the extra type properties of a fragment.
Fields
pk_cost: usize
The number of bytes needed to encode its scriptpubkey
has_free_verify: bool
Whether this fragment can be verify-wrapped for free
ops_count_static: usize
The worst case static(unexecuted) ops-count for this Miniscript fragment.
ops_count_sat: Option<usize>
The worst case ops-count for satisfying this Miniscript fragment.
ops_count_nsat: Option<usize>
The worst case ops-count for dissatisfying this Miniscript fragment.
stack_elem_count_sat: Option<usize>
The worst case number of stack elements for satisfying this Miniscript fragment.
stack_elem_count_dissat: Option<usize>
The worst case number of stack elements for dissatisfying this Miniscript fragment.
max_sat_size: Option<(usize, usize)>
Maximum size, in bytes, of a satisfying witness. First elements is the cost for the witness stack, the second one is the cost for scriptSig. All signatures are assumed to be 73 bytes in size, including the length prefix (segwit) or push opcode (pre-segwit) and sighash postfix.
max_dissat_size: Option<(usize, usize)>
Maximum dissatisfaction cost, in bytes, of a Miniscript fragment. First elements is the cost for the witness stack, the second one is the cost for scriptSig.
timelock_info: TimeLockInfo
The timelock info about heightlocks and timelocks
Trait Implementations
impl Clone for ExtData
[src]
impl Copy for ExtData
[src]
impl Debug for ExtData
[src]
impl Eq for ExtData
[src]
impl Hash for ExtData
[src]
pub fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Ord for ExtData
[src]
pub fn cmp(&self, other: &ExtData) -> Ordering
[src]
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl PartialEq<ExtData> for ExtData
[src]
impl PartialOrd<ExtData> for ExtData
[src]
pub fn partial_cmp(&self, other: &ExtData) -> Option<Ordering>
[src]
pub fn lt(&self, other: &ExtData) -> bool
[src]
pub fn le(&self, other: &ExtData) -> bool
[src]
pub fn gt(&self, other: &ExtData) -> bool
[src]
pub fn ge(&self, other: &ExtData) -> bool
[src]
impl Property for ExtData
[src]
pub fn sanity_checks(&self)
[src]
pub fn from_true() -> Self
[src]
pub fn from_false() -> Self
[src]
pub fn from_pk_k() -> Self
[src]
pub fn from_pk_h() -> Self
[src]
pub fn from_multi(k: usize, n: usize) -> Self
[src]
pub fn from_hash() -> Self
[src]
pub fn from_sha256() -> Self
[src]
pub fn from_hash256() -> Self
[src]
pub fn from_ripemd160() -> Self
[src]
pub fn from_hash160() -> Self
[src]
pub fn from_time(_t: u32) -> Self
[src]
pub fn from_after(t: u32) -> Self
[src]
pub fn from_older(t: u32) -> Self
[src]
pub fn cast_alt(self) -> Result<Self, ErrorKind>
[src]
pub fn cast_swap(self) -> Result<Self, ErrorKind>
[src]
pub fn cast_check(self) -> Result<Self, ErrorKind>
[src]
pub fn cast_dupif(self) -> Result<Self, ErrorKind>
[src]
pub fn cast_verify(self) -> Result<Self, ErrorKind>
[src]
pub fn cast_nonzero(self) -> Result<Self, ErrorKind>
[src]
pub fn cast_zeronotequal(self) -> Result<Self, ErrorKind>
[src]
pub fn cast_true(self) -> Result<Self, ErrorKind>
[src]
pub fn cast_or_i_false(self) -> Result<Self, ErrorKind>
[src]
pub fn cast_unlikely(self) -> Result<Self, ErrorKind>
[src]
pub fn cast_likely(self) -> Result<Self, ErrorKind>
[src]
pub fn and_b(l: Self, r: Self) -> Result<Self, ErrorKind>
[src]
pub fn and_v(l: Self, r: Self) -> Result<Self, ErrorKind>
[src]
pub fn or_b(l: Self, r: Self) -> Result<Self, ErrorKind>
[src]
pub fn or_d(l: Self, r: Self) -> Result<Self, ErrorKind>
[src]
pub fn or_c(l: Self, r: Self) -> Result<Self, ErrorKind>
[src]
pub fn or_i(l: Self, r: Self) -> Result<Self, ErrorKind>
[src]
pub fn and_or(a: Self, b: Self, c: Self) -> Result<Self, ErrorKind>
[src]
pub fn threshold<S>(
k: usize,
n: usize,
mut sub_ck: S
) -> Result<Self, ErrorKind> where
S: FnMut(usize) -> Result<Self, ErrorKind>,
[src]
k: usize,
n: usize,
mut sub_ck: S
) -> Result<Self, ErrorKind> where
S: FnMut(usize) -> Result<Self, ErrorKind>,
pub fn type_check<Pk, Ctx, C>(
fragment: &Terminal<Pk, Ctx>,
_child: C
) -> Result<Self, Error<Pk, Ctx>> where
C: FnMut(usize) -> Option<Self>,
Ctx: ScriptContext,
Pk: MiniscriptKey,
[src]
fragment: &Terminal<Pk, Ctx>,
_child: C
) -> Result<Self, Error<Pk, Ctx>> where
C: FnMut(usize) -> Option<Self>,
Ctx: ScriptContext,
Pk: MiniscriptKey,
Compute the type of a fragment assuming all the children of Miniscript have been computed already.
pub fn and_n(left: Self, right: Self) -> Result<Self, ErrorKind>
[src]
impl StructuralEq for ExtData
[src]
impl StructuralPartialEq for ExtData
[src]
Auto Trait Implementations
impl RefUnwindSafe for ExtData
[src]
impl Send for ExtData
[src]
impl Sync for ExtData
[src]
impl Unpin for ExtData
[src]
impl UnwindSafe for ExtData
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,