Enum wallet::descriptor::ContractDescriptor [−][src]
NB: Sorted bare multisigs are not supported and will produce unsorted bare multisig instead
Variants
Fields of SingleSig
category: ContentTypepk: PkFields of MultiSig
Fields of Script
ms_cache: CompiledMiniscript<Pk>policy: Concrete<Pk>Implementations
impl<Pk> ContractDescriptor<Pk> where
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display, [src]
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display,
pub fn with<Ctx: ScriptContext>(
ms: Miniscript<Pk, Ctx>,
category: ContentType,
policy_source: &str
) -> Result<ContractDescriptor<Pk>, Error>[src]
ms: Miniscript<Pk, Ctx>,
category: ContentType,
policy_source: &str
) -> Result<ContractDescriptor<Pk>, Error>
pub fn to_descriptor(&self, nested: bool) -> Descriptor<Pk>[src]
pub fn outer_descriptor_type(&self) -> OuterType[src]
Trait Implementations
impl<Pk: Clone> Clone for ContractDescriptor<Pk> where
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display, [src]
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display,
fn clone(&self) -> ContractDescriptor<Pk>[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl<Pk: Debug> Debug for ContractDescriptor<Pk> where
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display, [src]
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display,
impl<Pk> DescriptorTrait<Pk> for ContractDescriptor<Pk> where
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display, [src]
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display,
fn sanity_check(&self) -> Result<(), Error>[src]
fn address(&self, network: Network) -> Result<Address, Error> where
Pk: ToPublicKey, [src]
Pk: ToPublicKey,
fn script_pubkey(&self) -> Script where
Pk: ToPublicKey, [src]
Pk: ToPublicKey,
fn unsigned_script_sig(&self) -> Script where
Pk: ToPublicKey, [src]
Pk: ToPublicKey,
fn explicit_script(&self) -> Script where
Pk: ToPublicKey, [src]
Pk: ToPublicKey,
fn get_satisfaction<S>(
&self,
satisfier: S
) -> Result<(Vec<Vec<u8>>, Script), Error> where
Pk: ToPublicKey,
S: Satisfier<Pk>, [src]
&self,
satisfier: S
) -> Result<(Vec<Vec<u8>>, Script), Error> where
Pk: ToPublicKey,
S: Satisfier<Pk>,
fn max_satisfaction_weight(&self) -> Result<usize, Error>[src]
fn script_code(&self) -> Script where
Pk: ToPublicKey, [src]
Pk: ToPublicKey,
pub fn satisfy<S>(&self, txin: &mut TxIn, satisfier: S) -> Result<(), Error> where
Pk: ToPublicKey,
S: Satisfier<Pk>, [src]
Pk: ToPublicKey,
S: Satisfier<Pk>,
impl<Pk> Display for ContractDescriptor<Pk> where
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display, [src]
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display,
impl<Pk: Eq> Eq for ContractDescriptor<Pk> where
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display, [src]
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display,
impl<Pk> FromStr for ContractDescriptor<Pk> where
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display, [src]
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display,
type Err = Error
The associated error which can be returned from parsing.
fn from_str(s: &str) -> Result<Self, Self::Err>[src]
impl<Pk: Hash> Hash for ContractDescriptor<Pk> where
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display, [src]
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display,
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<Pk: Ord> Ord for ContractDescriptor<Pk> where
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display, [src]
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display,
fn cmp(&self, other: &ContractDescriptor<Pk>) -> Ordering[src]
#[must_use]pub fn max(self, other: Self) -> Self1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self1.50.0[src]
impl<Pk: PartialEq> PartialEq<ContractDescriptor<Pk>> for ContractDescriptor<Pk> where
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display, [src]
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display,
fn eq(&self, other: &ContractDescriptor<Pk>) -> bool[src]
fn ne(&self, other: &ContractDescriptor<Pk>) -> bool[src]
impl<Pk: PartialOrd> PartialOrd<ContractDescriptor<Pk>> for ContractDescriptor<Pk> where
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display, [src]
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display,
fn partial_cmp(&self, other: &ContractDescriptor<Pk>) -> Option<Ordering>[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool1.0.0[src]
impl<Pk> StrictDecode for ContractDescriptor<Pk> where
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display, [src]
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display,
fn strict_decode<D: Read>(d: D) -> Result<Self, Error>[src]
pub fn strict_deserialize(data: impl AsRef<[u8]>) -> Result<Self, Error>[src]
impl<Pk> StrictEncode for ContractDescriptor<Pk> where
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display, [src]
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display,
fn strict_encode<E: Write>(&self, e: E) -> Result<usize, Error>[src]
pub fn strict_serialize(&self) -> Result<Vec<u8, Global>, Error>[src]
impl<Pk> StructuralEq for ContractDescriptor<Pk> where
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display, [src]
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display,
impl<Pk> StructuralPartialEq for ContractDescriptor<Pk> where
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display, [src]
Pk: MiniscriptKey + FromStr + StrictEncode + StrictDecode,
<Pk as FromStr>::Err: Display,
<Pk as MiniscriptKey>::Hash: FromStr,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: Display,
Auto Trait Implementations
impl<Pk> RefUnwindSafe for ContractDescriptor<Pk> where
Pk: RefUnwindSafe,
<Pk as MiniscriptKey>::Hash: RefUnwindSafe,
Pk: RefUnwindSafe,
<Pk as MiniscriptKey>::Hash: RefUnwindSafe,
impl<Pk> Send for ContractDescriptor<Pk> where
Pk: Send + Sync,
<Pk as MiniscriptKey>::Hash: Send + Sync,
Pk: Send + Sync,
<Pk as MiniscriptKey>::Hash: Send + Sync,
impl<Pk> Sync for ContractDescriptor<Pk> where
Pk: Send + Sync,
<Pk as MiniscriptKey>::Hash: Send + Sync,
Pk: Send + Sync,
<Pk as MiniscriptKey>::Hash: Send + Sync,
impl<Pk> Unpin for ContractDescriptor<Pk> where
Pk: Unpin,
<Pk as MiniscriptKey>::Hash: Unpin,
Pk: Unpin,
<Pk as MiniscriptKey>::Hash: Unpin,
impl<Pk> UnwindSafe for ContractDescriptor<Pk> where
Pk: RefUnwindSafe + UnwindSafe,
<Pk as MiniscriptKey>::Hash: RefUnwindSafe + UnwindSafe,
Pk: RefUnwindSafe + UnwindSafe,
<Pk as MiniscriptKey>::Hash: RefUnwindSafe + UnwindSafe,
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> ToString for T where
T: Display + ?Sized, [src]
T: Display + ?Sized,
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>,