Enum miniscript::miniscript::satisfy::Placeholder
source · pub enum Placeholder<Pk: MiniscriptKey> {
Show 15 variants
Pubkey(Pk, usize),
PubkeyHash(Hash, usize),
EcdsaSigPk(Pk),
EcdsaSigPkHash(Hash),
SchnorrSigPk(Pk, SchnorrSigType, usize),
SchnorrSigPkHash(Hash, TapLeafHash, usize),
Sha256Preimage(Pk::Sha256),
Hash256Preimage(Pk::Hash256),
Ripemd160Preimage(Pk::Ripemd160),
Hash160Preimage(Pk::Hash160),
HashDissatisfaction,
PushOne,
PushZero,
TapScript(ScriptBuf),
TapControlBlock(ControlBlock),
}
Expand description
Placeholder for some data in a Plan
Variants§
Pubkey(Pk, usize)
Public key and its size
PubkeyHash(Hash, usize)
Public key hash and public key size
EcdsaSigPk(Pk)
ECDSA signature given the raw pubkey
EcdsaSigPkHash(Hash)
ECDSA signature given the pubkey hash
SchnorrSigPk(Pk, SchnorrSigType, usize)
Schnorr signature and its size
SchnorrSigPkHash(Hash, TapLeafHash, usize)
Schnorr signature given the pubkey hash, the tapleafhash, and the sig size
Sha256Preimage(Pk::Sha256)
SHA-256 preimage
Hash256Preimage(Pk::Hash256)
HASH256 preimage
Ripemd160Preimage(Pk::Ripemd160)
RIPEMD160 preimage
Hash160Preimage(Pk::Hash160)
HASH160 preimage
HashDissatisfaction
Hash dissatisfaction (32 bytes of 0x00)
PushOne
OP_1
PushZero
<empty item>
TapScript(ScriptBuf)
Taproot leaf script
TapControlBlock(ControlBlock)
Taproot control block
Implementations§
source§impl<Pk: MiniscriptKey + ToPublicKey> Placeholder<Pk>
impl<Pk: MiniscriptKey + ToPublicKey> Placeholder<Pk>
Trait Implementations§
source§impl<Pk: Clone + MiniscriptKey> Clone for Placeholder<Pk>where
Pk::Sha256: Clone,
Pk::Hash256: Clone,
Pk::Ripemd160: Clone,
Pk::Hash160: Clone,
impl<Pk: Clone + MiniscriptKey> Clone for Placeholder<Pk>where Pk::Sha256: Clone, Pk::Hash256: Clone, Pk::Ripemd160: Clone, Pk::Hash160: Clone,
source§fn clone(&self) -> Placeholder<Pk>
fn clone(&self) -> Placeholder<Pk>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<Pk: Debug + MiniscriptKey> Debug for Placeholder<Pk>where
Pk::Sha256: Debug,
Pk::Hash256: Debug,
Pk::Ripemd160: Debug,
Pk::Hash160: Debug,
impl<Pk: Debug + MiniscriptKey> Debug for Placeholder<Pk>where Pk::Sha256: Debug, Pk::Hash256: Debug, Pk::Ripemd160: Debug, Pk::Hash160: Debug,
source§impl<Pk: MiniscriptKey> Display for Placeholder<Pk>
impl<Pk: MiniscriptKey> Display for Placeholder<Pk>
source§impl<Pk: Hash + MiniscriptKey> Hash for Placeholder<Pk>where
Pk::Sha256: Hash,
Pk::Hash256: Hash,
Pk::Ripemd160: Hash,
Pk::Hash160: Hash,
impl<Pk: Hash + MiniscriptKey> Hash for Placeholder<Pk>where Pk::Sha256: Hash, Pk::Hash256: Hash, Pk::Ripemd160: Hash, Pk::Hash160: Hash,
source§impl<Pk: PartialEq + MiniscriptKey> PartialEq<Placeholder<Pk>> for Placeholder<Pk>where
Pk::Sha256: PartialEq,
Pk::Hash256: PartialEq,
Pk::Ripemd160: PartialEq,
Pk::Hash160: PartialEq,
impl<Pk: PartialEq + MiniscriptKey> PartialEq<Placeholder<Pk>> for Placeholder<Pk>where Pk::Sha256: PartialEq, Pk::Hash256: PartialEq, Pk::Ripemd160: PartialEq, Pk::Hash160: PartialEq,
source§fn eq(&self, other: &Placeholder<Pk>) -> bool
fn eq(&self, other: &Placeholder<Pk>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl<Pk: Eq + MiniscriptKey> Eq for Placeholder<Pk>where Pk::Sha256: Eq, Pk::Hash256: Eq, Pk::Ripemd160: Eq, Pk::Hash160: Eq,
impl<Pk: MiniscriptKey> StructuralEq for Placeholder<Pk>
impl<Pk: MiniscriptKey> StructuralPartialEq for Placeholder<Pk>
Auto Trait Implementations§
impl<Pk> RefUnwindSafe for Placeholder<Pk>where Pk: RefUnwindSafe, <Pk as MiniscriptKey>::Hash160: RefUnwindSafe, <Pk as MiniscriptKey>::Hash256: RefUnwindSafe, <Pk as MiniscriptKey>::Ripemd160: RefUnwindSafe, <Pk as MiniscriptKey>::Sha256: RefUnwindSafe,
impl<Pk> Send for Placeholder<Pk>where Pk: Send, <Pk as MiniscriptKey>::Hash160: Send, <Pk as MiniscriptKey>::Hash256: Send, <Pk as MiniscriptKey>::Ripemd160: Send, <Pk as MiniscriptKey>::Sha256: Send,
impl<Pk> Sync for Placeholder<Pk>where Pk: Sync, <Pk as MiniscriptKey>::Hash160: Sync, <Pk as MiniscriptKey>::Hash256: Sync, <Pk as MiniscriptKey>::Ripemd160: Sync, <Pk as MiniscriptKey>::Sha256: Sync,
impl<Pk> Unpin for Placeholder<Pk>where Pk: Unpin, <Pk as MiniscriptKey>::Hash160: Unpin, <Pk as MiniscriptKey>::Hash256: Unpin, <Pk as MiniscriptKey>::Ripemd160: Unpin, <Pk as MiniscriptKey>::Sha256: Unpin,
impl<Pk> UnwindSafe for Placeholder<Pk>where Pk: UnwindSafe, <Pk as MiniscriptKey>::Hash160: UnwindSafe, <Pk as MiniscriptKey>::Hash256: UnwindSafe, <Pk as MiniscriptKey>::Ripemd160: UnwindSafe, <Pk as MiniscriptKey>::Sha256: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more