Trait miniscript::miniscript::types::Property [−][src]
pub trait Property: Sized {}Show 35 methods
fn from_true() -> Self; fn from_false() -> Self; fn from_pk_k() -> Self; fn from_pk_h() -> Self; fn from_multi(k: usize, n: usize) -> Self; fn from_hash() -> Self; fn from_time(t: u32) -> Self; fn cast_alt(self) -> Result<Self, ErrorKind>; fn cast_swap(self) -> Result<Self, ErrorKind>; fn cast_check(self) -> Result<Self, ErrorKind>; fn cast_dupif(self) -> Result<Self, ErrorKind>; fn cast_verify(self) -> Result<Self, ErrorKind>; fn cast_nonzero(self) -> Result<Self, ErrorKind>; fn cast_zeronotequal(self) -> Result<Self, ErrorKind>; fn cast_true(self) -> Result<Self, ErrorKind>; fn cast_or_i_false(self) -> Result<Self, ErrorKind>; fn and_b(left: Self, right: Self) -> Result<Self, ErrorKind>; fn and_v(left: Self, right: Self) -> Result<Self, ErrorKind>; fn or_b(left: Self, right: Self) -> Result<Self, ErrorKind>; fn or_d(left: Self, right: Self) -> Result<Self, ErrorKind>; fn or_c(left: Self, right: Self) -> Result<Self, ErrorKind>; fn or_i(left: Self, right: Self) -> Result<Self, ErrorKind>; fn and_or(a: Self, b: Self, c: Self) -> Result<Self, ErrorKind>; fn threshold<S>(k: usize, n: usize, sub_ck: S) -> Result<Self, ErrorKind>
where
S: FnMut(usize) -> Result<Self, ErrorKind>; fn sanity_checks(&self) { ... } fn from_sha256() -> Self { ... } fn from_hash256() -> Self { ... } fn from_ripemd160() -> Self { ... } fn from_hash160() -> Self { ... } fn from_after(t: u32) -> Self { ... } fn from_older(t: u32) -> Self { ... } fn cast_unlikely(self) -> Result<Self, ErrorKind> { ... } fn cast_likely(self) -> Result<Self, ErrorKind> { ... } fn and_n(left: Self, right: Self) -> Result<Self, ErrorKind> { ... } fn type_check<Pk, Ctx, C>(
fragment: &Terminal<Pk, Ctx>,
child: C
) -> Result<Self, Error<Pk, Ctx>>
where
C: FnMut(usize) -> Option<Self>,
Pk: MiniscriptKey,
Ctx: ScriptContext, { ... }
Expand description
Trait representing a type property, which defines how the property propagates from terminals to the root of a Miniscript
Required methods
fn from_false() -> Self
fn from_false() -> Self
Type property of the False
fragment
fn from_multi(k: usize, n: usize) -> Self
fn from_multi(k: usize, n: usize) -> Self
Type property of a Multi
fragment
fn cast_check(self) -> Result<Self, ErrorKind>
fn cast_check(self) -> Result<Self, ErrorKind>
Cast using the Check
wrapper
fn cast_dupif(self) -> Result<Self, ErrorKind>
fn cast_dupif(self) -> Result<Self, ErrorKind>
Cast using the DupIf
wrapper
fn cast_verify(self) -> Result<Self, ErrorKind>
fn cast_verify(self) -> Result<Self, ErrorKind>
Cast using the Verify
wrapper
fn cast_nonzero(self) -> Result<Self, ErrorKind>
fn cast_nonzero(self) -> Result<Self, ErrorKind>
Cast using the NonZero
wrapper
fn cast_zeronotequal(self) -> Result<Self, ErrorKind>
fn cast_zeronotequal(self) -> Result<Self, ErrorKind>
Cast using the ZeroNotEqual
wrapper
fn cast_or_i_false(self) -> Result<Self, ErrorKind>
fn cast_or_i_false(self) -> Result<Self, ErrorKind>
Cast by changing [X]
to or_i([X], 0)
or or_i(0, [X])
Computes the type of an AndB
fragment
Computes the type of an AndV
fragment
Computes the type of an OrB
fragment
Computes the type of an OrD
fragment
Computes the type of an OrC
fragment
Computes the type of an OrI
fragment
Computes the type of an AndOr
fragment
Provided methods
fn sanity_checks(&self)
fn sanity_checks(&self)
Any extra sanity checks/assertions that should be applied after typechecking
fn from_sha256() -> Self
fn from_sha256() -> Self
Type property of a Sha256
hash. Default implementation simply
passes through to from_hash
fn from_hash256() -> Self
fn from_hash256() -> Self
Type property of a Hash256
hash. Default implementation simply
passes through to from_hash
fn from_ripemd160() -> Self
fn from_ripemd160() -> Self
Type property of a Ripemd160
hash. Default implementation simply
passes through to from_hash
fn from_hash160() -> Self
fn from_hash160() -> Self
Type property of a Hash160
hash. Default implementation simply
passes through to from_hash
fn from_after(t: u32) -> Self
fn from_after(t: u32) -> Self
Type property of a relative timelock. Default implementation simply
passes through to from_time
fn from_older(t: u32) -> Self
fn from_older(t: u32) -> Self
Type property of an absolute timelock. Default implementation simply
passes through to from_time
fn cast_unlikely(self) -> Result<Self, ErrorKind>
fn cast_unlikely(self) -> Result<Self, ErrorKind>
Cast by changing [X]
to or_i([X], 0)
. Default implementation
simply passes through to cast_or_i_false
fn cast_likely(self) -> Result<Self, ErrorKind>
fn cast_likely(self) -> Result<Self, ErrorKind>
Cast by changing [X]
to or_i(0, [X])
. Default implementation
simply passes through to cast_or_i_false
Computes the type of an AndN
fragment
fn type_check<Pk, Ctx, C>(
fragment: &Terminal<Pk, Ctx>,
child: C
) -> Result<Self, Error<Pk, Ctx>> where
C: FnMut(usize) -> Option<Self>,
Pk: MiniscriptKey,
Ctx: ScriptContext,
fn type_check<Pk, Ctx, C>(
fragment: &Terminal<Pk, Ctx>,
child: C
) -> Result<Self, Error<Pk, Ctx>> where
C: FnMut(usize) -> Option<Self>,
Pk: MiniscriptKey,
Ctx: ScriptContext,
Compute the type of a fragment, given a function to look up the types of its children, if available and relevant for the given fragment