Struct wallet::descriptor::ScriptTemplate[][src]

pub struct ScriptTemplate<Pk>(_)
where
    Pk: MiniscriptKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
;

Allows creating templates for native bitcoin scripts with embedded key generator templates. May be useful for creating descriptors in situations where target script can’t be deterministically represented by miniscript, for instance for Lightning network-specific transaction outputs

Implementations

impl<Pk> ScriptTemplate<Pk> where
    Pk: MiniscriptKey + DerivePublicKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
[src]

pub fn translate_pk(
    &self,
    child_index: UnhardenedIndex
) -> ScriptTemplate<PublicKey>
[src]

Trait Implementations

impl<Pk> AsMut<<ScriptTemplate<Pk> as Wrapper>::Inner> for ScriptTemplate<Pk> where
    Pk: MiniscriptKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
[src]

impl<Pk> AsRef<<ScriptTemplate<Pk> as Wrapper>::Inner> for ScriptTemplate<Pk> where
    Pk: MiniscriptKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
[src]

impl<Pk> Borrow<<ScriptTemplate<Pk> as Wrapper>::Inner> for ScriptTemplate<Pk> where
    Pk: MiniscriptKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
[src]

impl<Pk> BorrowMut<<ScriptTemplate<Pk> as Wrapper>::Inner> for ScriptTemplate<Pk> where
    Pk: MiniscriptKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
[src]

impl<Pk: Clone> Clone for ScriptTemplate<Pk> where
    Pk: MiniscriptKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
[src]

impl<Pk: Debug> Debug for ScriptTemplate<Pk> where
    Pk: MiniscriptKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
[src]

impl<Pk> Deref for ScriptTemplate<Pk> where
    Pk: MiniscriptKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
[src]

type Target = Self::Inner

The resulting type after dereferencing.

impl<Pk> DerefMut for ScriptTemplate<Pk> where
    Pk: MiniscriptKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
[src]

impl<Pk> Display for ScriptTemplate<Pk> where
    Pk: MiniscriptKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
[src]

impl<Pk: Eq> Eq for ScriptTemplate<Pk> where
    Pk: MiniscriptKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
[src]

impl<Pk> From<Vec<OpcodeTemplate<Pk>, Global>> for ScriptTemplate<Pk> where
    Pk: MiniscriptKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
[src]

impl<Pk: Hash> Hash for ScriptTemplate<Pk> where
    Pk: MiniscriptKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
[src]

impl<Pk: Ord> Ord for ScriptTemplate<Pk> where
    Pk: MiniscriptKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
[src]

impl<Pk: PartialEq> PartialEq<ScriptTemplate<Pk>> for ScriptTemplate<Pk> where
    Pk: MiniscriptKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
[src]

impl<Pk: PartialOrd> PartialOrd<ScriptTemplate<Pk>> for ScriptTemplate<Pk> where
    Pk: MiniscriptKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
[src]

impl<Pk> StrictDecode for ScriptTemplate<Pk> where
    Pk: MiniscriptKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
[src]

impl<Pk> StrictEncode for ScriptTemplate<Pk> where
    Pk: MiniscriptKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
[src]

impl<Pk> StructuralEq for ScriptTemplate<Pk> where
    Pk: MiniscriptKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
[src]

impl<Pk> StructuralPartialEq for ScriptTemplate<Pk> where
    Pk: MiniscriptKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
[src]

impl<Pk> Wrapper for ScriptTemplate<Pk> where
    Pk: MiniscriptKey + StrictEncode + StrictDecode + FromStr,
    <Pk as FromStr>::Err: Display
[src]

type Inner = Vec<OpcodeTemplate<Pk>>

Inner type wrapped by the current newtype

Auto Trait Implementations

impl<Pk> RefUnwindSafe for ScriptTemplate<Pk> where
    Pk: RefUnwindSafe

impl<Pk> Send for ScriptTemplate<Pk> where
    Pk: Send

impl<Pk> Sync for ScriptTemplate<Pk> where
    Pk: Sync

impl<Pk> Unpin for ScriptTemplate<Pk> where
    Pk: Unpin

impl<Pk> UnwindSafe for ScriptTemplate<Pk> where
    Pk: UnwindSafe

Blanket Implementations

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

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

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

impl<T> From<T> for T[src]

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

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

type Owned = T

The resulting type after obtaining ownership.

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

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.